piclist 2.0.3 → 2.0.4
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.
- package/CHANGELOG.md +13 -0
- package/dist/i18n/zh-CN.d.ts +2 -0
- package/dist/index.js +2 -2
- package/dist/types/index.d.ts +2 -0
- package/eslint.config.js +2 -1
- package/package.json +24 -24
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import a from"fs-extra";import{readJSONSync as i,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as P,remove as c}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as A,get as C,set as T,unset as D}from"lodash-es";import g from"node:crypto";import L,{fileURLToPath as m,URL as d,pathToFileURL as h}from"node:url";import{imageSize as f}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as O}from"node:os";import{ObjectAdapter as M,I18n as y}from"@piclist/i18n";import w from"js-yaml";import{Command as G}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import F from"dayjs";import{spawn as H}from"cross-spawn";import K from"resolve";import $ from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as z,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ae}from"@piclist/store";import{spawn as ie}from"node:child_process";import se from"is-wsl";const oe=r(m(import.meta.url));function Ee(e){const t=new Array(e);let r=0,n=0,a=0;for(;r<e;){if(a<6){n=n<<30|1073741824*Math.random()>>>0,a+=30;continue}const e=63&n;n>>>=6,a-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return g.createHash("md5").update(e).digest("hex")}function _e(e){return g.createHash("sha256").update(e).digest("hex")}function le(e,r,n,a){const i=new Date,s=i.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(i.getMonth()+1),"{d}":()=>Se(i.getDate()),"{h}":()=>Se(i.getHours()),"{i}":()=>Se(i.getMinutes()),"{s}":()=>Se(i.getSeconds()),"{ms}":()=>i.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(a||o),"{sha256}":()=>_e(a||o),"{md5-16}":()=>Ie(a||o).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):o,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>i.getTime().toString()};if(void 0===r||!Object.keys(E).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(E).reduce((e,t)=>e.replace(new RegExp(t,"g"),E[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>Ee(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(a||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,a)=>{a=Math.max(1,a||0);return t.dirname(e).split(t.sep).slice(0-a).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const Pe=e=>/^https?:\/\//.test(e),ce=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ue=e=>(ce(e)||(e=encodeURI(e)),e),pe=e=>{try{const{width:t=0,height:r=0,type:n}=f(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ae=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),buffer:await a.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},Ce=async(e,r)=>{let n;e=ue(e);const a=new Promise((a,i)=>{(async()=>{try{const i=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new d(e).pathname;let o="";try{o=new d(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){o=t.extname(s)||""}!o.startsWith(".")&&o&&(o=`.${o}`),a({buffer:i,fileName:t.basename(s),extname:o,success:!0})}catch(t){clearTimeout(n),a({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(i)}),i=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([a,i])},Te=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":De(e)?"simple":"unknown",De=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!a.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},ge=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,Le=(e,r=console)=>{switch(Te(e)){case"normal":case"scope":return e;case"simple":return ge(e);default:{let n=e;return t.isAbsolute(e)&&a.existsSync(e)?de(n):(n=t.join(process.cwd(),e),a.existsSync(n)?de(n):(r.warn(`Can't find plugin ${e}`),""))}}},me=(e,r=console)=>{switch(Te(e)){case"normal":return he(e);case"scope":return he(e,!0);case"simple":return he(ge(e));default:{if(!a.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(a.existsSync(n)){const e=i(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},de=e=>e.split(t.sep).join("/"),he=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},fe=[],Be=e=>fe.some(t=>e.startsWith(t)),Ne=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ue(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Re=(e=0)=>isNaN(Number(e))?0:Number(e),Oe=()=>"development"===process.env.NODE_ENV;const Me=t.join(oe,"assets","piclist.png");async function ye(e,t,r,n,a,i,s,o,E,S,I,_){o=!o||o<0||o>1?.15:o;const l=B(e,{animated:!0}),{width:P=200}=await l.metadata(),c=await async function(e,t,r,n,a,i,s,o=200,E=0,S=255){let I;"image"===e?(S=Re(S),s=s||Me,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const a={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},i=N.loadSync(n).getSVG(t,a);return Buffer.from(i)}(t,r,i,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),P=Math.floor(o*Re(a)),c=Math.floor(P*l/_);return await B(I).resize(P,c,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,i,s,o,E,S,P,a,_);return await l.composite([{input:c,gravity:I||"southeast",tile:n}]).toBuffer()}const we=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),Ge=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],be=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],xe=e=>Ge.includes(e);function We(e,t){e=e||{};return{isAddWatermark:!!(e.isAddWatermarkMap?.[t]??e.isAddWatermark),watermarkType:(e.watermarkTypeMap?.[t]??e.watermarkType)||"text",isFullScreenWatermark:!!(e.isFullScreenWatermarkMap?.[t]??e.isFullScreenWatermark),watermarkDegree:Re(e.watermarkDegreeMap?.[t]??e.watermarkDegree),watermarkText:(e.watermarkTextMap?.[t]??e.watermarkText)||"",watermarkFontPath:e.watermarkFontPath||"",watermarkScaleRatio:Re(e.watermarkScaleRatioMap?.[t]??e.watermarkScaleRatio),watermarkColor:(e.watermarkColorMap?.[t]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(e.watermarkImagePathMap?.[t]??e.watermarkImagePath)||"",watermarkPosition:(e.watermarkPositionMap?.[t]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Re(e.watermarkImageOpacityMap?.[t]??e.watermarkImageOpacity),picBed:t}}function Fe(e,t){e=e||{};return{quality:Re(e.qualityMap?.[t]??e.quality),isConvert:!!(e.isConvertMap?.[t]??e.isConvert),convertFormat:(e.convertFormatMap?.[t]??e.convertFormat)||"jpg",isReSize:!!(e.isReSizeMap?.[t]??e.isReSize),reSizeHeight:Re(e.reSizeHeightMap?.[t]??e.reSizeHeight),reSizeWidth:Re(e.reSizeWidthMap?.[t]??e.reSizeWidth),skipReSizeOfSmallImg:!!(e.skipReSizeOfSmallImgMap?.[t]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(e.isReSizeByPercentMap?.[t]??e.isReSizeByPercent),reSizePercent:Re(e.reSizePercentMap?.[t]??e.reSizePercent),isRotate:!!(e.isRotateMap?.[t]??e.isRotate),rotateDegree:Re(e.rotateDegreeMap?.[t]??e.rotateDegree),isRemoveExif:!!(e.isRemoveExifMap?.[t]??e.isRemoveExif),isFlip:!!(e.isFlipMap?.[t]??e.isFlip),isFlop:!!(e.isFlopMap?.[t]??e.isFlop),formatConvertObj:(e.formatConvertObjMap?.[t]??e.formatConvertObj)||{},picBed:t}}async function He(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await ye(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Re(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Re(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Re(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function Ke(e){const t="string"==typeof e.formatConvertObj?Ue(e.formatConvertObj):e.formatConvertObj;return{quality:Re(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Re(e.reSizeHeight),reSizeWidth:Re(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Re(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Re(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function $e(e,t,r,n){t=Ke(t);try{if(r=ke(r),!be.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),a=100;if(we(t.quality)&&t.quality<100&&(a=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(we(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const a=t.reSizeHeight/r;n=n.resize(Math.round(e*a),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const a=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*a),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=ve(t,r);e!==r&&(n=n.toFormat(e,{quality:a,mozjpeg:!0}))}else n=r&&xe(r)?n.toFormat(r,{quality:a,mozjpeg:!0}):n.toFormat("jpg",{quality:a,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const ke=e=>e.toLowerCase().replace(".","");function ve(e,t){if(e=Ke(e||{}),"gif"===(t=ke(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],xe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ye=(e,t)=>(t=ke(t),!!e&&!!e.isAddWatermark&&be.includes(t)&&"svg"!==t),Ve=(e,t)=>{if(!be.includes(ke(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:a,isReSize:i,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:P}=Ke(e);if(we(r)&&r<100)return!0;if(n&&we(a))return!0;if(i&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(l||P)return!0;if(I){return t!==(_||"jpg")}return!1},ze=async(e,t)=>(t=ke(t),be.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var je=Object.freeze({__proto__:null,AddWatermark:ye,configBlackList:fe,forceNumber:Re,getConvertedFormat:ve,getFSFile:Ae,getImageSize:pe,getNormalPluginName:me,getPluginNameType:Te,getProcessPluginName:Le,getTreatedCompressOptions:Fe,getTreatedWaterMarkOptions:We,getURLFile:Ce,handleCompletePluginName:ge,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:de,handleUrlEncode:ue,imageAddWaterMark:He,imageCompress:$e,isConfigKeyInBlackList:Be,isDev:Oe,isInputConfigValid:Ne,isNeedAddWatermark:Ye,isNeedCompress:Ve,isSimpleName:De,isUrl:Pe,isUrlEncode:ce,randomStringGenerator:Ee,removeExif:ze,removePluginVersion:he,renameFileNameWithCustomString:le,renameFileNameWithRandomString:function(e,r=5){return`${Ee(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Ee(5)}${t.extname(e)}`},safeParse:Ue});var qe,Xe,Qe;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(qe||(qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Xe||(Xe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Qe||(Qe={}));const Ze="Add watermark to image",Je="Compress or convert image",et="Remove exif info",tt="Download ttf file",rt="Download ttf file successfully",nt="Download ttf file failed",at="Download ttf file failed, skip add watermark",it=0,st=30,ot=60,Et=-1,St=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],It="smms";class _t extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||o(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),a.existsSync(this.ttfPath)&&a.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(tt);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return a.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(rt),!0}catch(e){return this.ctx.log.error(nt),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=this.getUploaderType(e);if(t){t.picBed=n;const e="string"==typeof t.formatConvertObj?Ue(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=n);return{compressOptions:Fe(t,n),watermarkOptions:We(r,n)}}getUploaderType(e){return e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||It}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):St;return new Set(r.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=p(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(Xe.FAILED),e.emit(Xe.UPLOAD_PROGRESS,Et),e.emit(Xe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),a=this.getSkipExtensions(e);if(e.emit(Xe.UPLOAD_PROGRESS,it),e.emit(Xe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const i=t.join(e.baseDir,"piclistTemp");await this.processImages(e,i,r,n,a)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,a){await Promise.allSettled(e.input.map(async(i,s)=>{await this.processImage(i,s,e,t,r,n,a)}))}async processImage(e,r,n,i,s,o,E){const S=Pe(e),I=S?await Ce(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=E.has(_.toLowerCase()),P=S?I.buffer:a.readFileSync(e),c=await this.applyProcessing(P,_,s,o,l,e,i,n);c&&await this.saveProcessedImage(e,r,n,i,c,_,s,S,I)}async applyProcessing(e,t,r,n,a,i,s,o){let E;return Ve(r,t)&&!a&&(E=await this.compressImage(e,E,t,r,i,s,o)),Ye(n,t)&&!a&&(E=await this.addWatermark(e,n,o)),E||!r?.isRemoveExif||a||(o.log.info(et),E=await ze(e,t)),E}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(at)}return r.log.info(Ze),await He(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,a,i,s){s.log.info(Je);const o=r.toLowerCase();return Pe(a)||".heic"!==o&&".heif"!==o?await $e(t??e,n,r,s.log):await this.convertHeicAndCompress(e,a,r,i,n,s)}async convertHeicAndCompress(e,r,n,i,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(i,`${t.basename(r,n)}.jpg`);return a.writeFileSync(S,Buffer.from(E)),await $e(a.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,n,i,s,o,E,S,I){let _=E?.isConvert?ve(E,o):o;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(i,`${this.getFileBaseName(I)}${_}`):t.join(i,`${t.basename(e,o)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,o)}${_}`),a.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=e.getConfig("buildIn.rename")||{};if(!t.enable)return e;const r=t.format||"{filename}";return e.output=e.output.map((t,n)=>{let a=t.fileName;return a=le(e.rawInputPath[n],r,void 0,t.base64Image?t.base64Image:t.buffer),a=a.replace(/\/+/g,"/"),"/"===a.slice(-1)&&(a+=n.toString()),t.fileName=a,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Xe.UPLOAD_PROGRESS,st);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Xe.UPLOAD_PROGRESS,ot),e.log.info("Before upload"),e.emit(Xe.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t),n=t;r||(e.log.warn(`Can't find uploader - ${t}, switch to default uploader - ${It}`),n=It,r=e.helper.uploader.get(It)),e.log.info(`Uploading... Current uploader is [${n}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Xe.AFTER_UPLOAD,e),e.emit(Xe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let a=0;a<r;a++)void 0!==e.output[a].imgUrl&&(t+=n?ue(e.output[a].imgUrl):e.output[a].imgUrl,a!==r-1&&(t+="\n")),delete e.output[a].base64Image,delete e.output[a].buffer;return e.emit(Xe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),a=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${a}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${a}: ${n[r]} error`),e}})),t}}const lt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class Pt{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new M(lt);let t=this.ctx.getConfig("settings.language")||"zh-CN";lt[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();a.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),i=a.readFileSync(n,"utf8");try{const e=w.load(i);lt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return E(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=A(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),lt[e]=t,!0)}getLanguageList(){return Object.keys(lt)}}const ct={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},ut={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},pt=(e,t,r,n,a,i)=>{let s=e.program.command(t).description(r).alias(n);i?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),i?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(a)},At={handle:e=>{const t=e.cmd;pt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.install(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),pt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),pt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.update(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Ct={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function Tt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const a=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return a?`${t?"/":""}${a}${r?"/":""}`:n?"":"/"}function Dt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const gt="advancedplist",Lt="alistplist",mt="aliyun",dt="aws-s3-plist",ht="github",ft="imgur",Bt="local",Nt="lskyplist",Ut="piclist",Rt="qiniu",Ot="sftpplist",Mt="smms",yt="tcyun",wt="upyun",Gt="webdavplist",bt=(e,t,r,n,a,i,s="PICBED",o)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:a,required:i,...o});const xt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),Wt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[bt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),bt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),bt(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),bt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),bt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),bt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),bt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),bt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),bt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),bt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),bt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),bt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),bt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),bt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[bt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),bt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),bt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),bt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),bt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),bt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),bt(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[bt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),bt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[bt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Ft=async(e,t,r,n)=>{const a=await e.cmd.inquirer.prompt(t),i=Ht(r,n);e.saveConfig({[i]:a}),"uploader"===r?e.saveConfig({"picBed.current":n,"picBed.uploader":n}):"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Ht=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Kt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name]").description("configure config of picgo modules, uploader|transformer|plugin|buildin").action((t,r)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t)=>{if(t&&t in Wt){const r=Wt[t];return void await Ft(e,r.config(e),"buildin",t)}const r=[{type:"list",name:"buildin",choices:Object.entries(Wt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],n=await e.cmd.inquirer.prompt(r),a=Wt[n.buildin];await Ft(e,a.config(e),"buildin",n.buildin)})(e,r);break;case"uploader":case"transformer":await(async(e,t,r)=>{if(r){const n=e.helper[t].get(r);return n?void(n.config&&await Ft(e,n.config(e),t,r)):void e.log.error(`No ${t} named ${r}`)}const n=e.helper[t].getIdList().map(t=>({name:xt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:n,message:`Choose a(n) ${t}`}],i=await e.cmd.inquirer.prompt(a),s=e.helper[t].get(i[t]);s?.config&&await Ft(e,s.config(e),t,i[t])})(e,t,r);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await Ft(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),a=await e.pluginLoader.getPlugin(n.plugin);a?.config&&await Ft(e,a.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config successfully!"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},$t={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>Pe(e)?e:t.resolve(e)).filter(t=>{const r=a.existsSync(t)||Pe(t);return r||e.log.warn(`${t} does not exist.`),r});await e.upload(n)})().catch(t=>{e.log.error(t)})})}},kt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const a={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:xt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!a[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(a[r])}else n=Object.keys(a).map(e=>a[e]);const i=await t.inquirer.prompt(n);if(i.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{i.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":i.uploader||e.getConfig("picBed.current"),"picBed.uploader":i.uploader||e.getConfig("picBed.current"),"picBed.transformer":i.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class vt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),vt.currentPlugin&&(this.pluginIdMap.has(vt.currentPlugin)?this.pluginIdMap.get(vt.currentPlugin)?.push(e):this.pluginIdMap.set(vt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Yt=(e=null)=>{vt.currentPlugin=e};class Vt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new G,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.0.3","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",At),e.cmd.register("config",ct),e.cmd.register("setting",Kt),e.cmd.register("upload",$t),e.cmd.register("use",kt),e.cmd.register("proxy",Ct),e.cmd.register("i18n",ut)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=vt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class zt{level={[qe.success]:"green",[qe.info]:"blue",[qe.warn]:"yellow",[qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(a.existsSync(e)){const t=a.statSync(e).size,r=1024*Re(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){a.existsSync(e)&&(a.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${F().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",a.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(qe.success,...e)}info(...e){this.handleLog(qe.info,...e)}error(...e){this.handleLog(qe.error,...e)}warn(...e){this.handleLog(qe.warn,...e)}debug(...e){Oe()&&this.handleLog(qe.info,...e)}}class jt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],a=e.map(e=>qt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),i=a.map(e=>e.fullName),s=a.map(e=>e.pkgName);if(i.length>0){const e=await this.execCommand("install",i,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of i)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},a={}){const i=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let o=[e].concat(t).concat("--color=always").concat("--save");i&&(o=o.concat(`--registry=${i}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=H("npm",o,{cwd:r,env:{...process.env,...a}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Xe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Xe.FAILED,e)}})}}const qt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=Le(t,e.log);if(!n)return r;const a=me(n,e.log);return a?{success:!0,fullName:n,pkgName:a}:r};class Xt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!a.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};a.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return K.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!a.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=i(r),s=Object.keys(n.dependencies||{}),o=Object.keys(n.devDependencies||{}),E=s.concat(o).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return a.existsSync(t)});for(const e of E)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Yt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Yt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Xe.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Yt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),o=t.join(s,"package.json");if(!a.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=i(o),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(a.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=h(r).href,s=await import(n),o=(s.default||s)(this.ctx);return this.pluginMap.set(e,o),o}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const Qt=new e,Zt=new $.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function Jt(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function er(e){return{...e,statusCode:e.status,body:e.data}}function tr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class rr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),Qt.on(Qe.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new d(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=Zt;const t=n.create(this.options);t.interceptors.response.use(er,tr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new d(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)Jt(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var nr={handle:async e=>(e.output.push(...e.input),e)};const ar=(e,t,r)=>{const n=pe(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var ir={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let a;if(a=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:Pe(r)?await Ce(r,e):await Ae(r),a.success&&a.buffer){const i=ar(e,a.buffer,r),s=a.extname||i.extname||".png";t[n]={buffer:a.buffer,fileName:a.fileName||`${F().format("YYYYMMDDHHmmssSSS")}${s}`,width:i.width,height:i.height,extname:a.extname}}else e.log.error(a.reason)})),e.output=t.filter(e=>e),e}};const sr=(e,t,r,n,a,i,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...a},formData:{[s]:{value:e,options:{filename:t}},...i},json:!0}),or=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const a=sr(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;let s=i;const o=t.resDataPath||"data.url";for(const e of o.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:i.message}),console.error("AdvancedPlist upload failed:",i),new Error(i.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},Er=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,a,i=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||a,required:i,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Sr=(e,t,r,n,a)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:a,options:{filename:r}}},resolveWithFullResponse:!0}),Ir=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},_r=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),lr=e=>{const{url:t,token:r,username:n,password:a,uploadPath:i,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:a||"",uploadPath:Tt({path:i||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?Tt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},Pr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:a,username:i,password:s,uploadPath:o,webPath:E,customUrl:S}=lr(r);let{token:I}=lr(r);if(I||(I=await(async(e,t,r,a)=>{const i=e.getConfig("picgo-plugin-buildin-alistplist");if(i&&i.refreshedAt&&Date.now()-i.refreshedAt<36e5&&i.token)return i.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:a});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,a,i,s)),!a||!(I||i&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const i=`${o}${r.fileName}`,s=Sr(a,I,r.fileName,i,n),_=await e.request(s);Ir(e,_);const l=await e.request(_r(`${a}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(i)}));Ir(e,l);const P=await e.request(_r(`${a}/api/fs/get`,I,{password:"",path:i,page:1,per_page:1,refresh:!0}));Ir(e,P);const c=P.body.data.sign,u=Dt(`${E||o}${r.fileName}`);r.imgUrl=`${S||a}${S&&S!==a?"":"/d"}${u}`,r.imgUrl+=S&&S!==a||!c?"":`?sign=${c}`,delete r.base64Image,delete r.buffer}return e},cr=e=>{const t=e.getConfig("picBed.alistplist")||{};return[bt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),bt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),bt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),bt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),bt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),bt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),bt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const ur=()=>(new Date).toUTCString(),pr=(e,t)=>{const r=ur(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,a=g.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${a}`},Ar=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Dt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:ur(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),Cr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=Tt({path:t.path});const r=Tt({path:t.webPath});try{const{output:n}=e,a=(t.customUrl||"").replace(/\/$/,""),{path:i,bucket:s,area:o,options:E=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=pr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=Ar(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Dt(`${r||i}${S.fileName}`);S.imgUrl=a?`${a}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Tr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[bt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),bt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),bt(e,"alicloud","bucket","input",t.bucket||"",!0),bt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),bt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),bt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),bt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Dr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return g.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return g.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return g.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function gr(e,t){if(!t)return e.fileName;const r=new Dr(e);let n=t;for(const e of Dr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function Lr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new d(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function mr(e,t,r){const n=await q(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),a=new L.URL(n);return a.search="",a.href}var dr={createS3Client:function(e){let t=!0;try{t="https:"===new L.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=Lr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=Lr(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),a=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),i=await e.client.send(a);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await mr(e,i.ETag,i.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:i.VersionId,eTag:i.ETag}}catch(e){return Promise.reject(e)}}};function hr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const fr=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=hr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const a=dr.createS3Client(t),i=e.output;for(const e of i){const r=await dr.createUploadTask({client:a,bucketName:t.bucketName,path:gr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Br=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:hr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function Nr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Dt(`${t}${r}`)}${n}`}const Ur=(e,t,r)=>{const{token:n,repo:a}=t,i=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:Nr(a,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":i},body:r,json:!0}},Rr=(e,t)=>{const{token:r,repo:n,branch:a}=t;return{method:"GET",url:Nr(n,t.path,e,`?ref=${a}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Or=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=Tt({path:t.path});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const n=e.output;for(const a of n)if(a.fileName&&a.buffer){const n=a.base64Image||Buffer.from(a.buffer).toString("base64"),i={message:"Upload by PicList",branch:t.branch,content:n,path:r+encodeURI(a.fileName)},s=Ur(a.fileName,t,i);try{const n=await e.request(s);if(!n)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${r}${a.fileName}`)}`:n.content.download_url,a.hash=n.content.sha}catch(n){if(422!==n.statusCode)throw n;delete a.base64Image,delete a.buffer;const i=await e.request(Rr(a.fileName,t));if(!Object.keys(i).length)throw n;a.hash=i.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${r}${a.fileName}`)}`:i.download_url}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},Mr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const yr=async(e,t,r,n)=>{const a=t.clientId||"",i=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(i&&s)E=s;else{if(!a)throw new Error("clientId or accessToken is required");E=`Client-ID ${a}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:E,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(i&&s&&o){let r,n=0,a="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${i}/albums/${n}`,headers:{Authorization:E},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===o){a=e.id;break}n++}while(r.body.data.length>0);a&&S.formData&&(S.formData.album=a)}return t.proxy&&(S.proxy=t.proxy),S},wr=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=await yr(e,t,n.fileName,r),i=await e.request(a),s="string"==typeof i?JSON.parse(i):i;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},Gr=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const br=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",i=(r.customUrl||"").replace(/\/$/,""),o=Tt({path:r.webPath?.replace(/\\/g,"/")}),E=e.output;for(const r of E)if(r.fileName&&r.buffer){let E=r.buffer;!E&&r.base64Image&&(E=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);s(t.dirname(_)),s(t.dirname(I)),a.writeFileSync(_,E),a.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=i?`${i}/${Dt(`${o}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Dt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},xr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const Wr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const a="V2"===e.version,i=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:i||void 0},o={image:{value:r,options:{filename:t}},ssl:"true"},E={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:i||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:a?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new $.Agent({rejectUnauthorized:!1}),headers:a?E:s,formData:a?l:o}},Fr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Wr(t,n.fileName,r);let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;const s="V2"===t.version;if(!(s?!0===i.status:200===i.code))throw e.emit(Xe.NOTIFICATION,{title:"upload failed",body:i.message}),new Error(i.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?i.data.links.url:i.data.url,s&&(n.hash=i.data.key)}return e},Hr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Kr=(e,t,r)=>{const{host:n="127.0.0.1",port:a="",picbed:i="",configName:s="Default",serverKey:o=""}=e,E=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${E?`${S}${I}:${a||"36677"}`:`${S}${I}${a?`:${a}`:""}`}/upload?configName=${s}${i?`&picbed=${i}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},$r=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Kr(t,n.fileName,r),i=await e.request(a).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==i.statusCode||!i.body?.success)throw new Error(i.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=i.body.result[0],n.fullResult=i.body.fullResult?i.body.fullResult[0]:""}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},kr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function vr(e,t,r,n){const a=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),i=e.path||"";return{method:"POST",url:`http://upload${a}.qiniup.com/putb64/-1/key/${Buffer.from(i+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function Yr(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),a={scope:e.bucket};return new ee.rs.PutPolicy(a).uploadToken(n)}const Vr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=vr(t,n.fileName,Yr(t),r),i=await e.request(a),s=JSON.parse(i);if(!s?.key)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},zr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class jr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return jr.instance||(jr.instance=new jr),jr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:a,privateKey:i,passphrase:s}=e,o=i?{username:n,privateKeyPath:i,passphrase:s||void 0}:{username:n,password:a};try{await this.client.connect({host:t,port:Number(r)||22,...o}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=jr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const a=n.fileMode||"0644";"0644"!==a&&await this.exec(`chmod ${a} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=jr.changeWinStylePathToUnix(e);const[n,a]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${a} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const qr=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=Tt({path:r.uploadPath,rootToEmpty:!1});const n=Tt({path:r.webPath,rootToEmpty:!1});try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){let a=i.buffer;!a&&i.base64Image&&(a=Buffer.from(i.base64Image,"base64"));const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,i.fileName);s(t.dirname(S)),I(S,a);const P=jr.getInstance();await P.connect(r);const c=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),i.fileName);await P.upload(S,c,r),r.fileUser&&await P.chown(c,r.fileUser),delete i.base64Image,delete i.buffer;const u=r.customUrl||r.host;r.webPath?i.imgUrl=`${u}/${Dt(`${"/"===n?"":n}${i.fileName}`)}`:i.imgUrl=`${u}/${Dt(`${"/"===r.uploadPath?"":r.uploadPath}${i.fileName}`)}`;const p=t.join(E,i.fileName);s(t.dirname(p)),_(p),l(S,t.join(E,i.fileName)),i.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(i.fileName)}`,P.close()}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Xr=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const Qr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),Zr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),a=e.output;for(const i of a){if(!i.fileName)continue;const a=i.buffer||(i.base64Image?Buffer.from(i.base64Image,"base64"):void 0);if(!a)continue;const s=Qr(i.fileName,a,t.token,r),o=await e.request(s),E=JSON.parse(o);if("success"===E.code)i.imgUrl=E.data.url,i.hash=E.data.hash;else{if("image_repeated"!==E.code||"string"!=typeof E.images){const t=E.message||"Upload failed";throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}i.imgUrl=E.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),a=e.data?.data?.find(e=>e.url===E.images);a&&(i.hash=a.hash)}catch{}}delete i.base64Image,delete i.buffer}return e},Jr=e=>{const t=e.getConfig("picBed.smms")||{};return[bt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),bt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const en=(e,t)=>{const{secretId:r,secretKey:n,appId:a,bucket:i,version:s,area:o,endpoint:E,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${a}&b=${i}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=g.createHmac("sha1",n).update(s).digest(),E=Buffer.concat([o,Buffer.from(s)]);I=Buffer.from(E).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=g.createHmac("sha1",n).update(_).digest("hex"),a=`put\n/${S}${t}\n\nhost=${i}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${_}\n${g.createHash("sha1").update(a).digest("hex")}\n`;I=g.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:a,bucket:i,signTime:_}},tn=(e,t,r,n,a)=>{const{area:i,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${a};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${i}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${i}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${o}.${E||`cos.${i}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${Dt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},rn=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),a=Tt({path:t.path}),i=Tt({path:t.webPath});t.path=a;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=en(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=tn(t,o.fileName,r,E,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",P=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===_.message)o.imgUrl=n?`${n}/${Dt(`${i||a}${o.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)o.imgUrl=`${n}/${Dt(`${i||a}${o.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${Dt(`${a}${o.fileName}`)}${l}`}}P&&(o.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},nn=e=>{const t=e.getConfig("picBed.tcyun")||{};return[bt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),bt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),bt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),bt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),bt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),bt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),bt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),bt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),bt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),bt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),bt(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const an="https://v0.api.upyun.com",sn=e=>g.createHash("md5").update(e).digest("hex"),on=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const a=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!a)return;const i=((e,t)=>{const{path:r="",operator:n,password:a,bucket:i}=e,s=sn(a),o=(new Date).toUTCString(),E=`PUT&/${i}/${Dt(`${r}${t}`)}&${o}`;return`UPYUN ${n}:${g.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:a,path:i}=e;let s=(e.endpoint||an).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${a}/${Dt(`${i}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,i,a);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const o=r.options||"",E=`${r.url}/${Dt(`${n}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?En(E,r,t.fileName):E},En=(e,t,r)=>{const n=((e,t,r,n)=>{const a=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),i=Math.round(Date.now()/1e3),s=t?i+parseInt(t.toString(),10):i+1800;return`_upt=${sn(`${e}&${s}&${a}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},Sn=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=Tt({path:t.path});t.path=n;for(const a of r)await on(e,a,t,n);return e}catch(t){throw In(e,t),t}},In=(e,t)=>{if("Upload failed"===t.message)e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Ue(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},_n=e=>{const t=e.getConfig("picBed.upyun")||{};return[bt(e,"upyun","bucket","input",t.bucket||"",!0),bt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),bt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),bt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),bt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),bt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),bt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),bt(e,"upyun","expireTime","input",t.expireTime||"",!1),bt(e,"upyun","endpoint","input",t.endpoint||an,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const ln=4294967296,Pn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},cn=(e,t,r,n,a,i)=>`${e}/${Dt(`${i?r:t}${n}`).replace(/^\/+/g,"")}${a}`,un=(e,r,n)=>{const i=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(i,r);s(t.dirname(o)),a.writeFileSync(o,n)},pn=async(e,r,n,a)=>{const i=t.dirname(`${r}${n}`),s="/"===i?"":i;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,a,{overwrite:!0})},An=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=Tt({path:t.path,rootToEmpty:!1});const n=Tt({path:t.webpath,rootToEmpty:!1}),a=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:ln,maxContentLength:ln};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),i=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=Pn(s);if(!await pn(r,t.path,s.fileName,o))throw new Error("Upload failed");un(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=cn(i,t.path,n,s.fileName,a,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Cn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[bt(e,"webdavplist","host","input",t.host||"",!0),bt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),bt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),bt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),bt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),bt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),bt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),bt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),bt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const Tn=()=>({register(e){!function(e){e.helper.uploader.register(gt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:or,config:Er})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Pr,config:cr})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Cr,config:Tr})}(e),function(e){e.helper.uploader.register(dt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:fr,config:Br})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Or,config:Mr})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:wr,config:Gr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:br,config:xr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Fr,config:Hr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:$r,config:kr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Vr,config:zr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:qr,config:Xr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:Zr,config:Jr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:rn,config:nn})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:Sn,config:_n})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:An,config:Cn})}(e)}});class Dn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ae(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{uploader:"smms",current:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}}read(e){return this.db.read(e)}get(e=""){return this.read(!0),this.db.get(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}}const gn="piclist-clipboard-images",Ln={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\n\nif [ -z "$DISPLAY" ]; then\n echo "no support" >&2\n exit 1\nfi\n\ncase "$XDG_SESSION_TYPE" in\nwayland)\n command -v wl-copy >/dev/null 2>&1 || {\n echo >&2 "no wl-clipboard"\n exit 1\n }\n filePath=$(wl-copy -o 2>/dev/null | grep ^file:// | cut -c8-)\n if [ -z "$filePath" ]; then\n if\n wl-copy -t image/png image/png -o >"$1" 2>/dev/null\n then\n echo "$1"\n else\n rm -f "$1"\n echo "no image"\n fi\n else\n echo "$filePath"\n fi\n ;;\nx11 | tty)\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || {\n echo >&2 "no xclip"\n exit 1\n }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=$(xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-)\n if [ -z "$filePath" ]; then\n if\n xclip -selection clipboard -target image/png -o >"$1" 2>/dev/null\n then\n echo "$1"\n else\n rm -f "$1"\n echo "no image"\n fi\n else\n echo "$filePath"\n fi\n ;;\nesac\n',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},mn={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const dn=async e=>{!function(e){const r=t.join(e.baseDir,gn);s(r)}(e);const r=t.join(e.baseDir,gn,`${F().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,i)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,mn[s]);let E;a.existsSync(o)||a.writeFileSync(o,Ln[s],"utf8"),E="darwin"===s?ie("osascript",[o,r]):"win32"===s||"win10"===s?ie("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):ie("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Xe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),i(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const E=o.toString().trim();let S=!1;if(t.basename(E)!==t.basename(r)&&a.existsSync(E)&&(S=!0),"no image"!==E&&!a.existsSync(E))return i(new Error(`Can't find ${E}`));n({imgPath:E,shouldKeepAfterUploading:S})})})};class hn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;Request;i18n;VERSION="2.0.3";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new vt("transformer"),uploader:new vt("uploader"),beforeTransformPlugins:new vt("beforeTransformPlugins"),beforeUploadPlugins:new vt("beforeUploadPlugins"),afterUploadPlugins:new vt("afterUploadPlugins")},this.initConfigPath(),this.log=new zt(this),this.cmd=new Vt(this),this.pluginHandler=new jt(this),this.initConfig()}static async create(e=""){const t=new hn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(O(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),E(this.configPath)||P(`${this.configPath}`)}initConfig(){this.db=new Dn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new Pt(this),this.Request=new rr(this),this._pluginLoader=new Xt(this),Yt("picgo"),Tn().register(this),{register(e){e.helper.transformer.register("path",ir),e.helper.transformer.register("base64",nr)}}.register(this),Yt(""),await this._pluginLoader.load(),this.lifecycle=new _t(this)}catch(e){throw this.emit(Xe.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?C(this._config,e):this._config}saveConfig(e){Ne(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ne(e)?Object.keys(e).forEach(t=>{Be(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),T(this._config,t,e[t]),Qt.emit(Qe.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be unset`):D(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await dn(this),r=()=>{t||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Xe.FAILED,r),this.once(Xe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Xe.FAILED,e),e}}async uploadReturnCtx(e,t=!1){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),this;if(void 0!==e&&0!==e.length)return await this.lifecycle.start(e,t);try{const{imgPath:e,shouldKeepAfterUploading:r}=await dn(this),n=()=>{r||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");return this.once(Xe.FAILED,n),this.once(Xe.FINISHED,n),await this.lifecycle.start([e],t)}catch(e){throw this.emit(Xe.FAILED,e),e}}}export{Vt as Commander,_t as Lifecycle,vt as LifecyclePlugins,zt as Logger,hn as PicGo,je as PicGoUtils,jt as PluginHandler,Xt as PluginLoader,rr as Request};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2kxOG4udHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wcm94eS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3NldHRpbmcudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9jb21wcmVzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3dhdGVybWFyay50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXVwbG9hZC9idWlsZEluUmVuYW1lLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvc2tpcFByb2Nlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXBsb2FkLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VzZS50cyIsIi4uL3NyYy9saWIvTGlmZWN5Y2xlUGx1Z2lucy50cyIsIi4uL3NyYy9saWIvQ29tbWFuZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2luZGV4LnRzIiwiLi4vc3JjL2xpYi9Mb2dnZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkxvYWRlci50cyIsIi4uL3NyYy91dGlscy9ldmVudEJ1cy50cyIsIi4uL3NyYy9saWIvUmVxdWVzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2Jhc2U2NC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL3BhdGgudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9pbmRleC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FkdmFuY2VkcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXBsb2FkZXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hd3NzM3BsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvZ2l0aHViLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW1ndXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sb2NhbC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xza3kudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9waWNsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcWluaXUudHMiLCIuLi9zcmMvdXRpbHMvc3NoQ2xpZW50LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc2Z0cC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NtbXMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci90Y3l1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3VweXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvd2ViZGF2LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW5kZXgudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiZSIsImhhbmRsZVVybEVuY29kZSIsImVuY29kZVVSSSIsImdldEltYWdlU2l6ZSIsImZpbGUiLCJ3aWR0aCIsImhlaWdodCIsInR5cGUiLCJpbWFnZVNpemUiLCJyZWFsIiwiZ2V0RlNGaWxlIiwiYXN5bmMiLCJmaWxlUGF0aCIsImZpbGVOYW1lIiwiYnVmZmVyIiwiZnMiLCJyZWFkRmlsZSIsInN1Y2Nlc3MiLCJyZWFzb24iLCJnZXRVUkxGaWxlIiwiY3R4IiwidGltZW91dElkIiwicmVxdWVzdEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXMiLCJyZXF1ZXN0IiwibWV0aG9kIiwicmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2UiLCJyZXNwb25zZVR5cGUiLCJ0aGVuIiwicmVzcCIsImRhdGEiLCJjbGVhclRpbWVvdXQiLCJ1cmxQYXRoIiwiVVJMIiwicGF0aG5hbWUiLCJzZWFyY2hQYXJhbXMiLCJnZXQiLCJlcnJvciIsInN0YXJ0c1dpdGgiLCJtZXNzYWdlIiwiY2F0Y2giLCJ0aW1lb3V0UHJvbWlzZSIsInNldFRpbWVvdXQiLCJyYWNlIiwiZ2V0UGx1Z2luTmFtZVR5cGUiLCJuYW1lIiwiaXNTaW1wbGVOYW1lIiwibmFtZU9yUGF0aCIsImlzQWJzb2x1dGUiLCJwbHVnaW5QYXRoIiwicHJvY2VzcyIsImN3ZCIsImV4aXN0c1N5bmMiLCJoYW5kbGVDb21wbGV0ZVBsdWdpbk5hbWUiLCJzY29wZSIsImdldFByb2Nlc3NQbHVnaW5OYW1lIiwibG9nZ2VyIiwiY29uc29sZSIsImhhbmRsZVVuaXhTdHlsZVBhdGgiLCJ3YXJuIiwiZ2V0Tm9ybWFsUGx1Z2luTmFtZSIsInJlbW92ZVBsdWdpblZlcnNpb24iLCJwYWNrYWdlSlNPTlBhdGgiLCJwb3NpeCIsInBrZyIsInJlYWRKU09OU3luYyIsInBhdGhTdHIiLCJyZWciLCJtYXRjaEFyciIsIm1hdGNoIiwiY29uZmlnQmxhY2tMaXN0IiwiaXNDb25maWdLZXlJbkJsYWNrTGlzdCIsImJsYWNrSXRlbSIsImlzSW5wdXRDb25maWdWYWxpZCIsImNvbmZpZyIsImlzQXJyYXkiLCJzYWZlUGFyc2UiLCJzdHIiLCJKU09OIiwicGFyc2UiLCJmb3JjZU51bWJlciIsImlzTmFOIiwiTnVtYmVyIiwiaXNEZXYiLCJlbnYiLCJOT0RFX0VOViIsImRlZmF1bHRXYXRlcm1hcmtJbWFnZVBhdGgiLCJBZGRXYXRlcm1hcmsiLCJpbWciLCJ3YXRlcm1hcmtUeXBlIiwiZGVmYXVsdFdhdGVybWFya0ZvbnRQYXRoIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrIiwid2F0ZXJtYXJrRGVncmVlIiwidGV4dCIsIndhdGVybWFya0ZvbnRQYXRoIiwid2F0ZXJtYXJrU2NhbGVSYXRpbyIsIndhdGVybWFya0NvbG9yIiwid2F0ZXJtYXJrSW1hZ2VQYXRoIiwicG9zaXRpb24iLCJ3YXRlcm1hcmtJbWFnZU9wYWNpdHkiLCJpbWFnZSIsInNoYXJwIiwiYW5pbWF0ZWQiLCJpbWdXaWR0aCIsIm1ldGFkYXRhIiwid2F0ZXJtYXJrIiwiY29tcG9zaXRlIiwiQnVmZmVyIiwiZnJvbSIsInJhdyIsImNoYW5uZWxzIiwidGlsZSIsImJsZW5kIiwidG9CdWZmZXIiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJvcHRpb25zIiwiYW5jaG9yIiwiYXR0cmlidXRlcyIsImZpbGwiLCJ0ZXh0U1ZHIiwiVGV4dFRvU1ZHIiwibG9hZFN5bmMiLCJnZXRTVkciLCJ0ZXh0MlNWRyIsIndhdGVybWFya1dpZHRoIiwid2F0ZXJtYXJrSGVpZ2h0IiwiZ2V0U2l6ZSIsIndhdGVybWFya1Jlc2l6ZVdpZHRoIiwiZmxvb3IiLCJ3YXRlcm1hcmtSZXNpemVIZWlnaHQiLCJyZXNpemUiLCJmaXQiLCJyb3RhdGUiLCJiYWNrZ3JvdW5kIiwiciIsImciLCJhbHBoYSIsImNyZWF0ZVdhdGVybWFyayIsImdyYXZpdHkiLCJ2YWxpZFBhcmFtIiwicGFyYW1zIiwiZXZlcnkiLCJwYXJhbSIsImF2YWlsYWJsZUNvbnZlcnRGb3JtYXRMaXN0IiwiaW1hZ2VGb3JtYXRMaXN0IiwidmFsaWRPdXRwdXRGb3JtYXQiLCJmb3JtYXQiLCJnZXRUcmVhdGVkV2F0ZXJNYXJrT3B0aW9ucyIsInBpY0JlZCIsImlzQWRkV2F0ZXJtYXJrIiwiaXNBZGRXYXRlcm1hcmtNYXAiLCJ3YXRlcm1hcmtUeXBlTWFwIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrRGVncmVlTWFwIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1RleHRNYXAiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvTWFwIiwid2F0ZXJtYXJrQ29sb3JNYXAiLCJ3YXRlcm1hcmtJbWFnZVBhdGhNYXAiLCJ3YXRlcm1hcmtQb3NpdGlvbiIsIndhdGVybWFya1Bvc2l0aW9uTWFwIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5TWFwIiwiZ2V0VHJlYXRlZENvbXByZXNzT3B0aW9ucyIsInF1YWxpdHkiLCJxdWFsaXR5TWFwIiwiaXNDb252ZXJ0IiwiaXNDb252ZXJ0TWFwIiwiY29udmVydEZvcm1hdCIsImNvbnZlcnRGb3JtYXRNYXAiLCJpc1JlU2l6ZSIsImlzUmVTaXplTWFwIiwicmVTaXplSGVpZ2h0IiwicmVTaXplSGVpZ2h0TWFwIiwicmVTaXplV2lkdGgiLCJyZVNpemVXaWR0aE1hcCIsInNraXBSZVNpemVPZlNtYWxsSW1nIiwic2tpcFJlU2l6ZU9mU21hbGxJbWdNYXAiLCJpc1JlU2l6ZUJ5UGVyY2VudCIsImlzUmVTaXplQnlQZXJjZW50TWFwIiwicmVTaXplUGVyY2VudCIsInJlU2l6ZVBlcmNlbnRNYXAiLCJpc1JvdGF0ZSIsImlzUm90YXRlTWFwIiwicm90YXRlRGVncmVlIiwicm90YXRlRGVncmVlTWFwIiwiaXNSZW1vdmVFeGlmIiwiaXNSZW1vdmVFeGlmTWFwIiwiaXNGbGlwIiwiaXNGbGlwTWFwIiwiaXNGbG9wIiwiaXNGbG9wTWFwIiwiZm9ybWF0Q29udmVydE9iaiIsImZvcm1hdENvbnZlcnRPYmpNYXAiLCJpbWFnZUFkZFdhdGVyTWFyayIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZUNvbXByZXNzIiwicmF3Rm9ybWF0Iiwibm9ybWFsaXplSW1hZ2VFeHQiLCJtaW4iLCJyb3VuZCIsImltYWdlV2lkdGgiLCJpbWFnZUhlaWdodCIsInNjYWxlUmF0aW8iLCJmbGlwIiwiZmxvcCIsIm5ld0Zvcm1hdCIsImdldENvbnZlcnRlZEZvcm1hdCIsInRvRm9ybWF0IiwibW96anBlZyIsInRvTG93ZXJDYXNlIiwiaXNOZWVkQWRkV2F0ZXJtYXJrIiwid2F0ZXJtYXJrT3B0aW9ucyIsImZpbGVFeHQiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJ0aGlzIiwiYmFzZURpciIsImluaXRpYWxpemVEaXJzIiwiZW5zdXJlRGlyU3luYyIsImdldENvbmZpZyIsImVtcHR5RGlyU3luYyIsImRvd25sb2FkVFRGIiwic3RhdFN5bmMiLCJzaXplIiwibG9nIiwiaW5mbyIsImF4aW9zIiwid3JpdGVGaWxlU3luYyIsImdldFByb2Nlc3NpbmdPcHRpb25zIiwiZ2V0VXBsb2FkZXJUeXBlIiwiZ2V0U2tpcEV4dGVuc2lvbnMiLCJza2lwUHJvY2VzcyIsInNraXBQcm9jZXNzRXh0TGlzdCIsIm1hcCIsInRyaW0iLCJTZXQiLCJmb3JtYXR0ZWRJdGVtIiwic3RhcnQiLCJjb25maWdQYXRoIiwiY21kIiwib3V0cHV0IiwicmF3SW5wdXQiLCJwcm9jZXNzZWRJbnB1dCIsInBsdWdpbkxvYWRlciIsInBsdWdpbkhhbmRsZXIiLCJSZXF1ZXN0IiwiaGVscGVyIiwiVkVSU0lPTiIsIkdVSV9WRVJTSU9OIiwiaTE4biIsImJpbmQiLCJzYXZlQ29uZmlnIiwicmVtb3ZlQ29uZmlnIiwic2V0Q29uZmlnIiwidW5zZXRDb25maWciLCJ1cGxvYWQiLCJ1cGxvYWRSZXR1cm5DdHgiLCJhZGRMaXN0ZW5lciIsIm9uIiwib25jZSIsInJlbW92ZUxpc3RlbmVyIiwib2ZmIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwic2V0TWF4TGlzdGVuZXJzIiwiZ2V0TWF4TGlzdGVuZXJzIiwibGlzdGVuZXJzIiwicmF3TGlzdGVuZXJzIiwiZW1pdCIsImxpc3RlbmVyQ291bnQiLCJwcmVwZW5kTGlzdGVuZXIiLCJwcmVwZW5kT25jZUxpc3RlbmVyIiwiZXZlbnROYW1lcyIsImNyZWF0ZUNvbnRleHQiLCJFcnJvciIsImluaXRpYWxpemVDb250ZXh0IiwiaGFuZGxlU2tpcFByb2Nlc3MiLCJleGVjdXRlTGlmZWN5Y2xlIiwiaGFuZGxlRXJyb3IiLCJyYXdJbnB1dFBhdGgiLCJjbG9uZURlZXAiLCJkb1VwbG9hZCIsImFmdGVyVXBsb2FkIiwicHJlcHJvY2VzcyIsImJlZm9yZVRyYW5zZm9ybSIsImRvVHJhbnNmb3JtIiwiYnVpbGRJblJlbmFtZSIsImJlZm9yZVVwbG9hZCIsIkZBSUxFRCIsIlVQTE9BRF9QUk9HUkVTUyIsInNraXBFeHRlbnNpb25zIiwiQkVGT1JFX1RSQU5TRk9STSIsInRlbXBGaWxlUGF0aCIsInByb2Nlc3NJbWFnZXMiLCJpbml0aWFsaXplUmF3SW5wdXRQYXRocyIsInB1c2giLCJhbGxTZXR0bGVkIiwiaW5kZXgiLCJwcm9jZXNzSW1hZ2UiLCJpdGVtSXNVcmwiLCJleHRlbnNpb24iLCJzaG91bGRTa2lwRXh0ZW5zaW9uIiwiaGFzIiwicmVhZEZpbGVTeW5jIiwidHJhbnNmb3JtZWRCdWZmZXIiLCJhcHBseVByb2Nlc3NpbmciLCJzYXZlUHJvY2Vzc2VkSW1hZ2UiLCJjb21wcmVzc0ltYWdlIiwiYWRkV2F0ZXJtYXJrIiwibm9ybWFsaXplZEV4dGVuc2lvbiIsImNvbnZlcnRIZWljQW5kQ29tcHJlc3MiLCJoZWljUmVzdWx0IiwiaGVpY0NvbnZlcnQiLCJ0ZW1wSGVpY0NvbnZlcnRGaWxlIiwibmV3RXh0IiwidGVtcEZpbGUiLCJnZXRGaWxlQmFzZU5hbWUiLCJyZW5hbWVDb25maWciLCJlbmFibGUiLCJiYXNlNjRJbWFnZSIsImhhbmRsZVBsdWdpbnMiLCJiZWZvcmVUcmFuc2Zvcm1QbHVnaW5zIiwidHJhbnNmb3JtZXIiLCJjdXJyZW50VHJhbnNmb3JtZXIiLCJoYW5kbGUiLCJCRUZPUkVfVVBMT0FEIiwiYmVmb3JlVXBsb2FkUGx1Z2lucyIsInVwbG9hZGVyIiwiY3VycmVudFVwbG9hZGVyIiwib3V0cHV0SW1nIiwiQUZURVJfVVBMT0FEIiwiYWZ0ZXJVcGxvYWRQbHVnaW5zIiwibXNnIiwiaXNFbmNvZGVPdXRwdXRVUkwiLCJpbWdVcmwiLCJGSU5JU0hFRCIsImxpZmVDeWNsZVBsdWdpbnMiLCJwbHVnaW5zIiwiZ2V0TGlzdCIsInBsdWdpbk5hbWVzIiwiZ2V0SWRMaXN0IiwibGlmZUN5Y2xlTmFtZSIsImdldE5hbWUiLCJhbGwiLCJwbHVnaW4iLCJsYW5ndWFnZUxpc3QiLCJVUExPQURfRkFJTEVEIiwiQ0hFQ0tfU0VUVElOR1MiLCJDSEVDS19TRVRUSU5HU19BTkRfTkVUV09SSyIsIlVQTE9BRF9GQUlMRURfUkVBU09OIiwiU0VSVkVSX0VSUk9SIiwiQVVUSF9GQUlMRUQiLCJQSUNCRURfU01NUyIsIlBJQ0JFRF9TTU1TX1RPS0VOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9TTU1TX0JBQ0tVUERPTUFJTiIsIlBJQ0JFRF9TTU1TX01FU1NBR0VfQkFDS1VQX0RPTUFJTiIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVUSE9EIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRk9STURBVEFLRVkiLCJQSUNCRURfQURWQU5DRURQTElTVF9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0NVU1RPTVBSRUZJWCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX1JFU0RBVEFQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9SRVNEQVRBUEFUSCIsIlBJQ0JFRF9MT0NBTCIsIlBJQ0JFRF9MT0NBTF9QQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9MT0NBTF9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfV0VCUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfUExJU1QiLCJQSUNCRURfQUxJU1RfVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVJMIiwiUElDQkVEX0FMSVNUX1RPS0VOIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfQUxJU1RfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUExPQURfUEFUSCIsIlBJQ0JFRF9BTElTVF9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfV0VCX1BBVEgiLCJQSUNCRURfQUxJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWVNFQ1JFVCIsIlBJQ0JFRF9BTElDTE9VRF9CVUNLRVQiLCJQSUNCRURfQUxJQ0xPVURfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfVkVSU0lPTiIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9USVAiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ09ORklSTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DQU5DRUwiLCJQSUNCRURfR0lUSFVCIiwiUElDQkVEX0dJVEhVQl9UT0tFTiIsIlBJQ0JFRF9HSVRIVUJfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9DVVNUT01VUkwiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfUUlOSVUiLCJQSUNCRURfUUlOSVVfQUNDRVNTS0VZIiwiUElDQkVEX1FJTklVX1NFQ1JFVEtFWSIsIlBJQ0JFRF9RSU5JVV9CVUNLRVQiLCJQSUNCRURfUUlOSVVfUEFUSCIsIlBJQ0JFRF9RSU5JVV9VUkwiLCJQSUNCRURfUUlOSVVfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX0FSRUEiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1FJTklVX01FU1NBR0VfVVJMIiwiUElDQkVEX0lNR1VSIiwiUElDQkVEX0lNR1VSX0NMSUVOVElEIiwiUElDQkVEX0lNR1VSX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX0FDQ0VTU19UT0tFTiIsIlBJQ0JFRF9JTUdVUl9BTEJVTSIsIlBJQ0JFRF9JTUdVUl9QUk9YWSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0NMSUVOVElEIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9BTEJVTSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1BST1hZIiwiUElDQkVEX1VQWVVOIiwiUElDQkVEX1VQWVVOX0JVQ0tFVCIsIlBJQ0JFRF9VUFlVTl9PUEVSQVRPUiIsIlBJQ0JFRF9VUFlVTl9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9QQVRIIiwiUElDQkVEX1VQWVVOX1VSTCIsIlBJQ0JFRF9VUFlVTl9PUFRJT05TIiwiUElDQkVEX1VQWVVOX0VORFBPSU5UIiwiUElDQkVEX1VQWVVOX0FOVElMRUVDSFRPS0VOIiwiUElDQkVEX1VQWVVOX0VYUElSRVRJTUUiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9PUEVSQVRPUiIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfVVJMIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9XRUJEQVZQTElTVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9IT1NUIiwiUElDQkVEX1dFQkRBVlBMSVNUX1NTTEVOQUJMRUQiLCJQSUNCRURfV0VCREFWUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfUEFTU1dPUkQiLCJQSUNCRURfV0VCREFWUExJU1RfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9XRUJQQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9BVVRIVFlQRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9PUFRJT05TIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1NTTEVOQUJMRUQiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfU0ZUUFBMSVNUIiwiUElDQkVEX1NGVFBQTElTVF9IT1NUIiwiUElDQkVEX1NGVFBQTElTVF9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9TRlRQUExJU1RfUEFTU1dPUkQiLCJQSUNCRURfU0ZUUFBMSVNUX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX1BSSVZBVEVLRVlfUEFTU1BIUkFTRSIsIlBJQ0JFRF9TRlRQUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9XRUJTSVRFX1BBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfVVNFUiIsIlBJQ0JFRF9TRlRQUExJU1RfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9ESVJfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9IT1NUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BPUlQiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfVVBMT0FEUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0ZJTEVfVVNFUiIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRElSX01PREUiLCJQSUNCRURfUElDTElTVCIsIlBJQ0JFRF9QSUNMSVNUX0hPU1QiLCJQSUNCRURfUElDTElTVF9QT1JUIiwiUElDQkVEX1BJQ0xJU1RfUElDQkVEIiwiUElDQkVEX1BJQ0xJU1RfQ09ORklHTkFNRSIsIlBJQ0JFRF9QSUNMSVNUX0tFWSIsIlBJQ0JFRF9MU0tZX1BMSVNUIiwiUElDQkVEX0xTS1lfVkVSU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfVkVSU0lPTiIsIlBJQ0JFRF9MU0tZX0hPU1QiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0hPU1QiLCJQSUNCRURfTFNLWV9UT0tFTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfTFNLWV9TVFJBVEVHWV9JRCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9BTEJVTV9JRCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9QRVJNSVNTSU9OIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9QRVJNSVNTSU9OIiwiUElDQkVEX0FXU1MzUExJU1QiLCJQSUNCRURfQVdTUzNQTElTVF9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1NFQ1JFVF9BQ0NFU1NLRVkiLCJQSUNCRURfQVdTUzNQTElTVF9CVUNLRVQiLCJQSUNCRURfQVdTUzNQTElTVF9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9VUExPQURQQVRIIiwiUElDQkVEX0FXU1MzUExJU1RfRU5EUE9JTlQiLCJQSUNCRURfQVdTUzNQTElTVF9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX1VSTFBSRUZJWCIsIlBJQ0JFRF9BV1NTM1BMSVNUX09QVElPTlMiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfQVdTUzNQTElTVF9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9SRUpFQ1RVTkFVVEhPUklaRUQiLCJQSUNCRURfQVdTUzNQTElTVF9BQ0wiLCJQSUNCRURfQVdTUzNQTElTVF9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9CVUNLRVQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFR0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1BST1hZIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1BBVEhTVFlMRUFDQ0VTUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0wiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0RJU0FCTEVCVUNLRVRQUkVGSVhUT1VSTCIsIkJVSUxESU5fV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfSVNBRERXQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVFlQRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVFlQRSIsIkJVSUxESU5fV0FURVJNQVJLX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfSVNGVUxMU0NSRUVOV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktERUdSRUUiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktURVhUIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktURVhUIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLRk9OVFBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLU0NBTEVSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVFJBVElPIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRDT0xPUiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLUE9TSVRJT04iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktJTUFHRU9QQUNJVFkiLCJCVUlMRElOX1NLSVBQUk9DRVNTIiwiQlVJTERJTl9TS0lQUFJPQ0VTU19TS0lQUFJPQ0VTU0VYVExJU1QiLCJCVUlMRElOX1JFTkFNRSIsIkJVSUxESU5fUkVOQU1FX0ZPUk1BVCIsIkJVSUxESU5fUkVOQU1FX0VOQUJMRSIsIkJVSUxESU5fQ09NUFJFU1MiLCJCVUlMRElOX0NPTVBSRVNTX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUVVBTElUWSIsIkJVSUxESU5fQ09NUFJFU1NfSVNDT05WRVJUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9DT05WRVJURk9STUFUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRSIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFV0lEVEgiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFV0lEVEgiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRUhFSUdIVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVTSVpFQllQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVTSVpFQllQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMSVAiLCJCVUlMRElOX0NPTVBSRVNTX0lTRkxPUCIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19TS0lQUkVTSVpFT0ZTTUFMTElNRyIsIkJVSUxESU5fQ09NUFJFU1NfSVNST1RBVEUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNST1RBVEUiLCJCVUlMRElOX0NPTVBSRVNTX1JPVEFURURFR1JFRSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVNT1ZFRVhJRiIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFTU9WRUVYSUYiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9QQVRIIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRF9WQUxJRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRURfVkFMSUQiLCJlbiIsIkkxOG5NYW5hZ2VyIiwib2JqZWN0QWRhcHRlciIsIk9iamVjdEFkYXB0ZXIiLCJsYW5ndWFnZSIsIkkxOG4iLCJhZGFwdGVyIiwiZGVmYXVsdExhbmd1YWdlIiwibG9hZE91dHRlckkxOG4iLCJpMThuRm9sZGVyIiwiZ2V0T3V0dGVySTE4bkZvbGRlciIsInJlYWRkaXJTeW5jIiwid2l0aEZpbGVUeXBlcyIsImZvckVhY2giLCJpc0ZpbGUiLCJlbmRzV2l0aCIsImkxOG5GaWxlUGF0aCIsImkxOG5GaWxlIiwiaTE4bkZpbGVPYmoiLCJ5YW1sIiwibG9hZCIsInBhdGhFeGlzdHNTeW5jIiwidHJhbnNsYXRlIiwiYXJncyIsInNldExhbmd1YWdlIiwiYWRkTG9jYWxlIiwibG9jYWxlcyIsIm9yaWdpbkxvY2FsZXMiLCJnZXRMb2NhbGUiLCJuZXdMb2NhbGVzIiwibWVyZ2UiLCJzZXRMb2NhbGUiLCJhZGRMYW5ndWFnZSIsImdldExhbmd1YWdlTGlzdCIsInByb2dyYW0iLCJvcHRpb24iLCJjb21tYW5kIiwiYXJndW1lbnRzIiwiZGVzY3JpcHRpb24iLCJhY3Rpb24iLCJsYW5nIiwibGlzdCIsInByb21wdHMiLCJjaG9pY2VzIiwiZGVmYXVsdCIsImlucXVpcmVyIiwicHJvbXB0IiwiY3JlYXRlQ29tbWFuZCIsImFsaWFzIiwicHJveHkiLCJyZWdpc3RyeSIsImluc3RhbGwiLCJ1bmluc3RhbGwiLCJmb3JtYXRQYXRoSGVscGVyIiwic3RhcnRTbGFzaCIsImVuZFNsYXNoIiwicm9vdFRvRW1wdHkiLCJjbGVhblBhdGgiLCJlbmNvZGVQYXRoIiwicCIsImVuY29kZVVSSUNvbXBvbmVudCIsImJ1aWxkSW5VcGxvYWRlck5hbWVzIiwiY3JlYXRlRmllbGQiLCJwaWNCZWROYW1lIiwiZGVmYXVsdFZhbHVlIiwicmVxdWlyZWQiLCJpMThuUHJlZml4IiwiZXh0cmFzIiwicHJlZml4IiwidG9VcHBlckNhc2UiLCJ1cGxvYWRlclRyYW5zbGF0b3JzIiwiYWR2YW5jZWRwbGlzdCIsImFsaXN0cGxpc3QiLCJhbGl5dW4iLCJnaXRodWIiLCJpbWd1ciIsImxvY2FsIiwibHNreXBsaXN0IiwicGljbGlzdCIsInFpbml1Iiwic2Z0cHBsaXN0Iiwic21tcyIsInRjeXVuIiwidXB5dW4iLCJ3ZWJkYXZwbGlzdCIsIkJVSUxESU5fTU9EVUxFUyIsImNvbXByZXNzIiwidXNlckNvbmZpZyIsInJlbmFtZSIsImhhbmRsZUNvbmZpZyIsIm1vZHVsZSIsImFuc3dlciIsImNvbmZpZ05hbWUiLCJnZXRDb25maWdOYW1lIiwiYnVpbGRpbiIsInNldHRpbmciLCJlbnRyaWVzIiwidmFsdWUiLCJzZWxlY3RlZE1vZHVsZSIsImhhbmRsZUJ1aWxkaW5Nb2R1bGUiLCJoYW5kbGVVcGxvYWRlck9yVHJhbnNmb3JtZXIiLCJwbHVnaW5OYW1lIiwiZ2V0UGx1Z2luIiwiZ2V0RnVsbExpc3QiLCJoYW5kbGVQbHVnaW4iLCJhcmd2IiwiaW5wdXRMaXN0IiwiZmlsdGVyIiwiZXhpc3QiLCJ1c2UiLCJwaWNnb1BsdWdpbnMiLCJMaWZlY3ljbGVQbHVnaW5zIiwic3RhdGljIiwicGx1Z2luSWRNYXAiLCJNYXAiLCJyZWdpc3RlciIsImlkIiwiVHlwZUVycm9yIiwic2V0IiwiY3VycmVudFBsdWdpbiIsInVucmVnaXN0ZXIiLCJwbHVnaW5MaXN0IiwiZGVsZXRlIiwidmFsdWVzIiwic2V0Q3VycmVudFBsdWdpbk5hbWUiLCJDb21tYW5kZXIiLCJDb21tYW5kIiwiaW5pdCIsInZlcnNpb24iLCJkZWJ1ZyIsInNpbGVudCIsImV4aXQiLCJjdXJyZW50UGx1Z2luTmFtZSIsImxvYWRDb21tYW5kcyIsIkxvZ2dlciIsImxldmVsIiwibG9nTGV2ZWwiLCJsb2dQYXRoIiwiaGFuZGxlTG9nIiwiY2hlY2tMb2dMZXZlbCIsImxvZ0hlYWRlciIsImNoYWxrIiwicmVzdWx0IiwiY2hlY2tMb2dGaWxlSXNMYXJnZSIsImlzTGFyZ2UiLCJ3YXJuaW5nTXNnIiwibG9nRmlsZVNpemVMaW1pdCIsInllbGxvdyIsInJlY3JlYXRlTG9nRmlsZSIsInVuc2hpZnQiLCJoYW5kbGVXcml0ZUxvZyIsImxvZ0ZpbGVTaXplIiwidW5saW5rU3luYyIsImNyZWF0ZUZpbGVTeW5jIiwiZGF5anMiLCJ1dGlsIiwic3RhY2siLCJzdHJpbmdpZnkiLCJhcHBlbmRGaWxlU3luYyIsIlBsdWdpbkhhbmRsZXIiLCJpbnN0YWxsZWRQbHVnaW5zIiwicHJvY2Vzc1BsdWdpbnMiLCJoYW5kbGVQbHVnaW5OYW1lUHJvY2VzcyIsImhhc1BsdWdpbiIsInBrZ05hbWUiLCJmdWxsTmFtZUxpc3QiLCJmdWxsTmFtZSIsInBrZ05hbWVMaXN0IiwiZXhlY0NvbW1hbmQiLCJjb2RlIiwiZXJyIiwidGl0bGUiLCJib2R5IiwicmVnaXN0ZXJQbHVnaW4iLCJ1bnJlZ2lzdGVyUGx1Z2luIiwibW9kdWxlcyIsIndoZXJlIiwiY29uY2F0IiwibnBtIiwic3Bhd24iLCJzdGRvdXQiLCJwaXBlIiwic3RkZXJyIiwiUGx1Z2luTG9hZGVyIiwiZnVsbExpc3QiLCJwbHVnaW5NYXAiLCJwYWNrYWdlUGF0aCIsInJlcG9zaXRvcnkiLCJsaWNlbnNlIiwicmVzb2x2ZVBsdWdpbiIsInN5bmMiLCJiYXNlZGlyIiwicGx1Z2luRGlyIiwianNvbiIsImRlcHMiLCJkZXBlbmRlbmNpZXMiLCJkZXZEZXBzIiwiZGV2RGVwZW5kZW5jaWVzIiwiYWRkIiwicGx1Z2luSW50ZXJmYWNlIiwiTk9USUZJQ0FUSU9OIiwicGFja2FnZUpzb25QYXRoIiwicGFja2FnZUpzb24iLCJtYWluIiwicG9zc2libGVFbnRyaWVzIiwiZW50cnkiLCJlbnRyeVBhdGgiLCJwbHVnaW5VcmwiLCJwYXRoVG9GaWxlVVJMIiwiaHJlZiIsIm1vZCIsImltcG9ydCIsImV2ZW50QnVzIiwiaHR0cHNBZ2VudCIsImh0dHBzIiwiQWdlbnQiLCJtYXhWZXJzaW9uIiwibWluVmVyc2lvbiIsInJlamVjdFVuYXV0aG9yaXplZCIsImFwcGVuZEZvcm1EYXRhIiwiZm9ybSIsImFwcGVuZCIsInJlc3BvbnNlSW50ZXJjZXB0b3IiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJzdGF0dXMiLCJyZXNwb25zZUVycm9ySGFuZGxlciIsImVycm9yT2JqIiwiQ09ORklHX0NIQU5HRSIsImhhbmRsZVByb3h5IiwicHJveHlPcHRpb25zIiwiaG9zdCIsImhvc3RuYW1lIiwicG9ydCIsInByb3RvY29sIiwiaGVhZGVycyIsIm1heEJvZHlMZW5ndGgiLCJJbmZpbml0eSIsIm1heENvbnRlbnRMZW5ndGgiLCJodHRwc092ZXJIdHRwIiwiaW5zdGFuY2UiLCJjcmVhdGUiLCJpbnRlcmNlcHRvcnMiLCJvcHQiLCJfX2lzT2xkT3B0aW9ucyIsIkZvcm1EYXRhIiwiZm9ybURhdGEiLCJhc3NpZ24iLCJnZXRIZWFkZXJzIiwicXMiLCJyZXF1ZXN0SW50ZXJjZXB0b3IiLCJvYmoiLCJjb250ZW50VHlwZSIsIkNvbnRlbnRUeXBlIiwiSW1nRnJvbUJhc2U2NCIsImdldEltZ1NpemUiLCJJbWdGcm9tUGF0aCIsInJlc3VsdHMiLCJpc0J1ZmZlciIsImltZ1NpemUiLCJwb3N0T3B0aW9ucyIsImVuZHBvaW50IiwiZm9ybURhdGFLZXkiLCJmaWxlbmFtZSIsImFkdmFuY2VkcGxpc3RDb25maWciLCJpbWdMaXN0IiwicG9zdENvbmZpZyIsImltYWdlVXJsIiwicmVzRGF0YVBhdGgiLCJ3ZWJQYXRoIiwicG9wIiwiY3VzdG9tUHJlZml4IiwiY3JlYXRlQ29uZmlnRmllbGQiLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJoYW5kbGVSZXNFcnJvciIsImNyZWF0ZUFwaVJlcXVlc3QiLCJleHRyYWN0Q29uZmlnIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInVwbG9hZFBhdGgiLCJjdXN0b21VcmwiLCJhbGlzdENvbmZpZyIsInRva2VuU3RvcmUiLCJyZWZyZXNoZWRBdCIsInBvc3QiLCJnZXRBbGlzdFRva2VuIiwiZnVsbFVwbG9hZFBhdGgiLCJ1cGxvYWRSZXMiLCJyZWZyZXNoUmVzIiwicGFnZSIsInBlcl9wYWdlIiwicmVmcmVzaCIsImdldEluZm9SZXMiLCJzaWduIiwiZW5jb2RlZFBhdGgiLCJnZXRDdXJyZW50VVRDRGF0ZSIsInRvVVRDU3RyaW5nIiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJkYXRlIiwic2lnblN0cmluZyIsIm1pbWUiLCJnZXRUeXBlIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZXh0cmEiLCJnZXRPcHRpb25zIiwiYnJhbmNoIiwiZ2l0aHViT3B0aW9ucyIsImNvbnRlbnQiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsInNjcmlwdCIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJpbWFnZXMiLCJlcnJvck1zZyIsInVwbG9hZEhpc3RvcnkiLCJtYXRjaGVkSW1hZ2UiLCJmaW5kIiwic2VjcmV0SWQiLCJhcHBJZCIsInNpZ25UaW1lIiwiY3VycmVudCIsIm11bHRpU2lnbmF0dXJlIiwic2lnbkhleEtleSIsInRlbXBTdHJpbmciLCJ0b2RheSIsInNpZ25LZXkiLCJodHRwU3RyaW5nIiwic3RyaW5nVG9TaWduIiwidXNlckFnZW50Iiwib3AiLCJmaWxlY29udGVudCIsInRjWXVuT3B0aW9ucyIsInVzZVY0Iiwib3B0aW9uVXJsIiwic2xpbSIsInNvdXJjZV91cmwiLCJjb25maXJtVGV4dCIsImNhbmNlbFRleHQiLCJ0aXBzIiwiREVGQVVMVF9FTkRQT0lOVCIsInVweXVuT3B0aW9ucyIsIm9wZXJhdG9yIiwibWQ1UGFzc3dvcmQiLCJzdWZmaXgiLCJhbnRpTGVlY2hUb2tlbiIsImFkZEFudGlMZWVjaFRva2VuIiwidXB0IiwiZXhwaXJlVGltZSIsInVyaSIsImV4cGlyZSIsInN1YnN0cmluZyIsImdldEFudGlMZWVjaFBhcmFtIiwiaGFuZGxlVXBsb2FkRXJyb3IiLCJlcnJvckJvZHkiLCJlcnJvckNvZGUiLCJNQVhfRklMRV9TSVpFIiwiZ2V0SW1hZ2VCdWZmZXIiLCJidWlsZEltYWdlVXJsIiwid2VicGF0aCIsInVzZVdlYnBhdGgiLCJzYXZlSW1hZ2VUb1RlbXAiLCJ1cGxvYWRJbWFnZSIsImZ1bGxVcGxvYWREaXJQYXRoIiwicGF0aFRvQ3JlYXRlIiwiY3JlYXRlRGlyZWN0b3J5IiwicmVjdXJzaXZlIiwicHV0RmlsZUNvbnRlbnRzIiwib3ZlcndyaXRlIiwiYXV0aFR5cGUiLCJBdXRoVHlwZSIsIkRpZ2VzdCIsImNyZWF0ZUNsaWVudCIsImNyZWF0ZVdlYkRBVkNsaWVudCIsImJ1aWxkSW5VcGxvYWRlcnMiLCJhZHZhbmNlZHBsaXN0VXBsb2FkZXIiLCJhbGlzdFVwbG9hZGVyIiwiYWxpWXVuVXBsb2FkZXIiLCJhd3NzM3BsaXN0VXBsb2FkZXIiLCJnaXRodWJVcGxvYWRlciIsImltZ3VyVXBsb2FkZXIiLCJsb2NhbFVwbG9hZGVyIiwibHNreVVwbG9hZGVyIiwicGljbGlzdFVwbG9hZGVyIiwicWluaXVVcGxvYWRlciIsInNmdHBVcGxvYWRlciIsInNtbXNVcGxvYWRlciIsInRjWXVuVXBsb2FkZXIiLCJ1cFl1blVwbG9hZGVyIiwid2ViZGF2cGxpc3RVcGxvYWRlciIsIkRCIiwiZGIiLCJKU09OU3RvcmUiLCJyZWFkIiwiZmx1c2giLCJ1bnNldCIsIkNMSVBCT0FSRF9JTUFHRV9GT0xERVIiLCJwbGF0Zm9ybTJTY3JpcHRDb250ZW50IiwiZGFyd2luIiwid2luMzIiLCJ3aW4xMCIsImxpbnV4Iiwid3NsIiwicGxhdGZvcm0yU2NyaXB0RmlsZW5hbWUiLCJnZXRDbGlwYm9hcmRJbWFnZSIsImltYWdlUGF0aCIsImNyZWF0ZUltYWdlRm9sZGVyIiwicGxhdGZvcm0iLCJpc1dzbCIsIm9zIiwicmVsZWFzZSIsImdldEN1cnJlbnRQbGF0Zm9ybSIsInNjcmlwdFBhdGgiLCJleGVjdXRpb24iLCJpbWdQYXRoIiwic2hvdWxkS2VlcEFmdGVyVXBsb2FkaW5nIiwiUGljR28iLCJfY29uZmlnIiwibGlmZWN5Y2xlIiwiX3BsdWdpbkxvYWRlciIsImluaXRDb25maWdQYXRoIiwiaW5pdENvbmZpZyIsImhvbWVkaXIiLCJlbnN1cmVGaWxlU3luYyIsInJlZ2lzdGVyQ29tbWFuZHMiLCJwcm9wTmFtZSIsImNsZWFudXAiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJtbERBV0EsTUFDTUEsR0FBWUMsRUFEQ0MsY0FBMEJDLE1BbUJ2QyxTQUFVQyxHQUFzQkMsR0FDcEMsTUFBTUMsRUFBTSxJQUFJQyxNQUFNRixHQUN0QixJQUFJRyxFQUFJLEVBQ0pDLEVBQU8sRUFDUEMsRUFBTyxFQUNYLEtBQU9GLEVBQUlILEdBQVEsQ0FDakIsR0FBSUssRUFBTyxFQUFHLENBQ1pELEVBQVFBLEdBQVEsR0FBd0IsV0FBaEJFLEtBQUtDLFdBQTJCLEVBQ3hERixHQUFRLEdBQ1IsUUFDRixDQUNBLE1BQU1HLEVBZkcsR0FlR0osRUFDWkEsS0FBVSxFQUNWQyxHQUFRLEVBQ0pHLEVBQU0sS0FBSVAsRUFBSUUsS0FqQlIsaUVBaUJxQkssR0FDakMsQ0FDQSxPQUFPUCxFQUFJUSxLQUFLLEdBQ2xCLENBVUEsU0FBU0MsR0FBYUMsR0FDcEIsT0FBaUMsSUFBMUJBLEVBQUlDLFdBQVdaLE9BQWUsSUFBSVcsSUFBUUEsRUFBSUMsVUFDdkQsQ0FFQSxTQUFTQyxHQUFPQyxHQUNkLE9BQU9DLEVBQU9DLFdBQVcsT0FBT0MsT0FBT0gsR0FBT0ksT0FBTyxNQUN2RCxDQUVBLFNBQVNDLEdBQVVMLEdBQ2pCLE9BQU9DLEVBQU9DLFdBQVcsVUFBVUMsT0FBT0gsR0FBT0ksT0FBTyxNQUMxRCxDQUVNLFNBQVVFLEdBQ2RDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUEsTUFBTUMsRUFBTSxJQUFJQyxLQUNWQyxFQUFPRixFQUFJRyxjQUFjaEIsV0FDekJpQixFQUFlQyxFQUFLQyxTQUFTVixFQUFTUyxFQUFLRSxRQUFRWCxJQUNuRFksRUFBOEMsQ0FDbEQsTUFBTyxJQUFNTixFQUNiLE1BQU8sSUFBTUEsRUFBS08sTUFBTSxHQUN4QixNQUFPLElBQU14QixHQUFhZSxFQUFJVSxXQUFhLEdBQzNDLE1BQU8sSUFBTXpCLEdBQWFlLEVBQUlXLFdBQzlCLE1BQU8sSUFBTTFCLEdBQWFlLEVBQUlZLFlBQzlCLE1BQU8sSUFBTTNCLEdBQWFlLEVBQUlhLGNBQzlCLE1BQU8sSUFBTTVCLEdBQWFlLEVBQUljLGNBQzlCLE9BQVEsSUFBTWQsRUFBSWUsa0JBQWtCNUIsV0FBVzZCLFNBQVMsRUFBRyxLQUMzRCxRQUFTLElBQU01QixHQUFPVyxHQUFjSyxHQUNwQyxXQUFZLElBQU1WLEdBQVVLLEdBQWNLLEdBQzFDLFdBQVksSUFBTWhCLEdBQU9XLEdBQWNLLEdBQWNLLE1BQU0sRUFBRyxJQUM5RCxhQUFjLElBQU9YLEVBQWdCTyxFQUFLQyxTQUFTUixFQUFlTyxFQUFLRSxRQUFRVCxJQUFrQk0sRUFDakcsU0FBVSxJQUFNYSxJQUFTQyxRQUFRLEtBQU0sSUFDdkMsY0FBZSxJQUFNbEIsRUFBSW1CLFVBQVVoQyxZQUVyQyxRQUNtQmlDLElBQWpCdkIsSUFDRXdCLE9BQU9DLEtBQUtkLEdBQWVlLEtBQUtDLEdBQVEzQixFQUFhNEIsU0FBU0QsTUFDN0QzQixFQUFhNEIsU0FBUyxrQkFDdEI1QixFQUFhNEIsU0FBUyxRQUV6QixPQUFPN0IsRUFFVCxNQUFNOEIsRUFBTXJCLEVBQUtFLFFBQVFYLEdBQ3pCLElBQUkrQixFQUNGTixPQUFPQyxLQUFLZCxHQUFlb0IsT0FBTyxDQUFDQyxFQUFLQyxJQUMvQkQsRUFBSVgsUUFBUSxJQUFJYSxPQUFPRCxFQUFLLEtBQU10QixFQUFjc0IsTUFDdERqQyxHQUFnQjZCLEVBaUJyQixPQWRBQyxFQUFVQSxFQUFRVCxRQUZELGdCQUVtQixDQUFDYyxFQUFHQyxJQUUvQjNELEdBRFE0RCxTQUFTRCxFQUFRLE1BR2xDTixFQUFVQSxFQUFRVCxRQUxFLG1CQUttQixDQUFDYyxFQUFHQyxLQUN6QyxNQUFNMUQsRUFBUzJELFNBQVNELEVBQVEsSUFDaEMsT0FBT3ZDLEdBQVVLLEdBQWNLLEdBQWNLLE1BQU0sRUFBR2xDLEtBRXhEb0QsRUFBVUEsRUFBUVQsUUFBUSw0QkFBNkIsQ0FBQ2lCLEVBQVNDLEVBQUtDLEtBQ3BFQSxFQUFReEQsS0FBS3lELElBQUksRUFBR0QsR0FBUyxHQUc3QixPQUZjaEMsRUFBS2xDLFFBQVF5QixHQUFTMkMsTUFBTWxDLEVBQUttQyxLQUNuQy9CLE1BQU0sRUFBSTRCLEdBQU9ULE9BQU8sQ0FBQ2EsRUFBR0MsSUFBTSxHQUFHRCxLQUFLQyxLQUMzQ3hCLFFBQVEsS0FBTSxNQUVwQlMsQ0FDVCxDQUdPLE1BQU1nQixHQUFTdEUsR0FBeUIsZUFBZXVFLEtBQUt2RSxHQUV0RHdFLEdBQWV4RSxJQUMxQkEsRUFBTUEsR0FBTyxHQUNiLElBRUUsT0FBT0EsSUFBUXlFLFVBQVV6RSxFQUMzQixDQUFFLE1BQU8wRSxHQUNQLE9BQU8sQ0FDVCxHQUdXQyxHQUFtQjNFLElBQ3pCd0UsR0FBWXhFLEtBQ2ZBLEVBQU00RSxVQUFVNUUsSUFFWEEsR0FJSTZFLEdBQWdCQyxJQUMzQixJQUNFLE1BQU1DLE1BQUVBLEVBQVEsRUFBQ0MsT0FBRUEsRUFBUyxFQUFDQyxLQUFFQSxHQUFTQyxFQUFVSixHQUVsRCxNQUFPLENBQ0xLLE1BQU0sRUFDTkosUUFDQUMsU0FDQTlDLFFBTGMrQyxFQUFPLElBQUlBLElBQVMsT0FPdEMsQ0FBRSxNQUFPUCxHQUVQLE1BQU8sQ0FDTFMsTUFBTSxFQUNOSixNQUFPLElBQ1BDLE9BQVEsSUFDUjlDLFFBQVMsT0FFYixHQUdXa0QsR0FBWUMsTUFBT0MsSUFDOUIsSUFDRSxNQUFPLENBQ0xwRCxRQUFTRixFQUFLRSxRQUFRb0QsR0FDdEJDLFNBQVV2RCxFQUFLQyxTQUFTcUQsR0FDeEJFLGFBQWNDLEVBQUdDLFNBQVNKLEdBQzFCSyxTQUFTLEVBRWIsQ0FBRSxNQUNBLE1BQU8sQ0FDTEMsT0FBUSxhQUFhTixVQUNyQkssU0FBUyxFQUViLEdBR1dFLEdBQWFSLE1BQU9yRixFQUFhOEYsS0FFNUMsSUFBSUMsRUFESi9GLEVBQU0yRSxHQUFnQjNFLEdBRXRCLE1BQU1nRyxFQUFZLElBQUlDLFFBQWlDLENBQUNDLEVBQVNDLEtBQzlELFdBQ0MsSUFDRSxNQUFNQyxRQUFZTixFQUNmTyxRQUFRLENBQ1BDLE9BQVEsTUFDUnRHLE1BQ0F1Ryx5QkFBeUIsRUFDekJDLGFBQWMsZ0JBRWZDLEtBQUtDLEdBQ0dBLEVBQUtDLE1BRWhCQyxhQUFhYixHQUNiLE1BQU1jLEVBQVUsSUFBSUMsRUFBSTlHLEdBQUsrRyxTQUM3QixJQUFJN0UsRUFBVSxHQUNkLElBRUVBLEVBRGtCLElBQUk0RSxFQUFJOUcsR0FBS2dILGFBQ1hDLElBQUksV0FBYWpGLEVBQUtFLFFBQVEyRSxJQUFZLEVBQ2hFLENBQUUsTUFBT0ssR0FDUGhGLEVBQVVGLEVBQUtFLFFBQVEyRSxJQUFZLEVBQ3JDLEVBQ0szRSxFQUFRaUYsV0FBVyxNQUFRakYsSUFDOUJBLEVBQVUsSUFBSUEsS0FFaEJnRSxFQUFRLENBQ05WLE9BQVFZLEVBQ1JiLFNBQVV2RCxFQUFLQyxTQUFTNEUsR0FDeEIzRSxVQUNBeUQsU0FBUyxHQUViLENBQUUsTUFBT3VCLEdBQ1BOLGFBQWFiLEdBQ2JHLEVBQVEsQ0FDTlAsU0FBUyxFQUVUQyxPQUFRLFdBQVc1RixZQUFja0gsR0FBT0UsU0FBVyxNQUV2RCxDQUNELEVBdENBLEdBc0NJQyxNQUFNbEIsS0FFUG1CLEVBQWlCLElBQUlyQixRQUFrQ0MsSUFDM0RILEVBQVl3QixXQUFXLEtBQ3JCckIsRUFBUSxDQUNOUCxTQUFTLEVBQ1RDLE9BQVEsV0FBVzVGLGVBRXBCLE9BRUwsT0FBT2lHLFFBQVF1QixLQUFLLENBQUN4QixFQUFXc0IsS0FJckJHLEdBQXFCQyxHQUM1Qix5QkFBeUJuRCxLQUFLbUQsR0FDekIsUUFDRUEsRUFBS1AsV0FBVyxpQkFDbEIsU0FDRVEsR0FBYUQsR0FDZixTQUVGLFVBR0lDLEdBQWdCQyxJQUMzQixHQUFJNUYsRUFBSzZGLFdBQVdELEdBQ2xCLE9BQU8sRUFFVCxNQUFNRSxFQUFhOUYsRUFBS3JCLEtBQUtvSCxRQUFRQyxNQUFPSixHQUM1QyxPQUFJbkMsRUFBR3dDLFdBQVdILE1BR2RGLEVBQVd4RSxTQUFTLE9BQVF3RSxFQUFXeEUsU0FBUyxRQWN6QzhFLEdBQTJCLENBQUNSLEVBQWNTLEVBQVEsS0FDN0RBLEVBQVEsSUFBSUEsa0JBQXNCVCxJQUFTLGdCQUFnQkEsSUFFaERVLEdBQXVCLENBQUNSLEVBQW9CUyxFQUE0QkMsV0FFbkYsT0FEdUJiLEdBQWtCRyxJQUV2QyxJQUFLLFNBQ0wsSUFBSyxRQUNILE9BQU9BLEVBQ1QsSUFBSyxTQUNILE9BQU9NLEdBQXlCTixHQUNsQyxRQUFTLENBQ1AsSUFBSUUsRUFBYUYsRUFDakIsT0FBSTVGLEVBQUs2RixXQUFXRCxJQUFlbkMsRUFBR3dDLFdBQVdMLEdBQ3hDVyxHQUFvQlQsSUFFN0JBLEVBQWE5RixFQUFLckIsS0FBS29ILFFBQVFDLE1BQU9KLEdBQ2xDbkMsRUFBR3dDLFdBQVdILEdBQ1RTLEdBQW9CVCxJQUU3Qk8sRUFBT0csS0FBSyxxQkFBcUJaLEtBQzFCLElBQ1QsSUFJU2EsR0FBc0IsQ0FBQ2IsRUFBb0JTLEVBQTRCQyxXQUVsRixPQUR1QmIsR0FBa0JHLElBRXZDLElBQUssU0FDSCxPQUFPYyxHQUFvQmQsR0FDN0IsSUFBSyxRQUNILE9BQU9jLEdBQW9CZCxHQUFZLEdBQ3pDLElBQUssU0FDSCxPQUFPYyxHQUFvQlIsR0FBeUJOLElBQ3RELFFBQVMsQ0FDUCxJQUFLbkMsRUFBR3dDLFdBQVdMLEdBRWpCLE9BREFTLEVBQU9HLEtBQUssc0JBQXNCWixLQUMzQixHQUVULE1BQU1lLEVBQWtCM0csRUFBSzRHLE1BQU1qSSxLQUFLaUgsRUFBWSxnQkFDcEQsR0FBS25DLEVBQUd3QyxXQUFXVSxHQUdaLENBQ0wsTUFBTUUsRUFBTUMsRUFBYUgsSUFBb0IsQ0FBQSxFQUM3QyxPQUFLRSxFQUFJbkIsTUFBTXRFLFNBQVMsaUJBTWpCeUYsRUFBSW5CLE1BTFRXLEVBQU9HLEtBQ0wsMkNBQTRDSyxFQUFJbkIsTUFBbUIsc0RBRTlELEdBR1gsQ0FWRSxPQURBVyxFQUFPRyxLQUFLLHNCQUFzQlosS0FDM0IsRUFXWCxJQUlTVyxHQUF1QlEsR0FDbEJBLEVBQVE3RSxNQUFNbEMsRUFBS21DLEtBQ3BCeEQsS0FBSyxLQUdUK0gsR0FBc0IsQ0FBQ2QsRUFBb0JPLEdBQWlCLEtBQ3ZFLEdBQUtQLEVBQVd4RSxTQUFTLEtBRWxCLENBQ0wsSUFBSTRGLEVBQU0sa0NBQ05iLElBQ0ZhLEVBQU0sNENBRVIsTUFBTUMsRUFBV3JCLEVBQVdzQixNQUFNRixHQUNsQyxPQUFLQyxFQUlJQSxFQUFTLElBSGhCWCxRQUFRRSxLQUFLLGlDQUNOWixFQUlYLENBYkUsT0FBT0EsR0FvQkV1QixHQUFrQixHQU1sQkMsR0FBMEJyRixHQUM5Qm9GLEdBQWdCakcsS0FBS21HLEdBQWF0RixFQUFJb0QsV0FBV2tDLElBRzdDQyxHQUFzQkMsR0FDWCxpQkFBWEEsSUFBd0JuSixNQUFNb0osUUFBUUQsSUFBV3ZHLE9BQU9DLEtBQUtzRyxHQUFRckosT0FBUyxFQU1yRixTQUFVdUosR0FBYUMsR0FDM0IsSUFDRSxPQUFPQyxLQUFLQyxNQUFNRixFQUNwQixDQUFFLE1BQU94QyxHQUNQLE9BQU95QyxLQUFLQyxNQUFNLEtBQ3BCLENBQ0YsQ0FFTyxNQUFNQyxHQUFjLENBQUNoSixFQUF1QixJQUMxQ2lKLE1BQU1DLE9BQU9sSixJQUFRLEVBQUlrSixPQUFPbEosR0FHNUJtSixHQUFRLElBQXdDLGdCQUF6QmpDLFFBQVFrQyxJQUFJQyxTQXVCaEQsTUFBTUMsR0FBNEJuSSxFQUFLckIsS0FBS2QsR0FBVyxTQUFVLGVBRTFEd0YsZUFBZStFLEdBQ3BCQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBSixHQUNHQSxHQUF1QkEsRUFBc0IsR0FBS0EsRUFBc0IsRUFBSSxJQUFPQSxFQUN0RixNQUFNSyxFQUFRQyxFQUFNYixFQUFLLENBQUVjLFVBQVUsS0FDN0JwRyxNQUFPcUcsRUFBVyxXQUFjSCxFQUFNSSxXQUN4Q0MsUUF1QlJqRyxlQUNFaUYsRUFDQUMsRUFDQUcsRUFDQUMsRUFDQUMsRUFDQUMsRUFDQUMsRUFDQU0sRUFBbUIsSUFDbkJYLEVBQTBCLEVBQzFCTyxFQUFnQyxLQUVoQyxJQUFJTSxFQUNrQixVQUFsQmhCLEdBQ0ZVLEVBQXdCbkIsR0FBWW1CLEdBQ3BDRixFQUFxQkEsR0FBc0JYLEdBQzNDbUIsUUFBa0JKLEVBQU1KLEdBQ3JCUyxVQUFVLENBQ1QsQ0FDRXZLLE1BQU93SyxPQUFPQyxLQUFLLENBQUMsSUFBSyxJQUFLLElBQUtULEVBQXdCLElBQU0sSUFBTUEsSUFDdkVVLElBQUssQ0FDSDNHLE1BQU8sRUFDUEMsT0FBUSxFQUNSMkcsU0FBVSxHQUVaQyxNQUFNLEVBQ05DLE1BQU8sYUFHVkMsWUFFSFIsUUE5RkpqRyxlQUNFa0YsRUFDQUcsRUFDQXFCLEVBQ0FDLEdBRUF0QixFQUFRQSxHQUFPLEtBQ2ZzQixFQUFjQSxHQUFhekIsRUFFM0IsTUFDTTBCLEVBQXVDLENBQzNDQyxPQUFRLE1BQ1JDLFdBQVksQ0FDVkMsS0FMSkwsRUFBU0EsR0FBUSw4QkFRWE0sRUFQV0MsRUFBVUMsU0FBU1AsR0FPWFEsT0FBTzlCLEVBQU11QixHQUN0QyxPQUFPVCxPQUFPQyxLQUFLWSxFQUNyQixDQTRFc0JJLENBQ2hCbEMsRUFDQUcsRUFDQUcsRUFDQUYsR0FBcUJKLEdBR3pCLE1BQVF4RixNQUFPMkgsRUFBZ0IxSCxPQUFRMkgsU0FhekN0SCxlQUF1QjRGLEdBQ3JCLE1BQU1sRyxNQUFFQSxFQUFLQyxPQUFFQSxTQUFpQmtHLEVBQU1ELEdBQU9JLFdBQzdDLE1BQU8sQ0FBRXRHLE1BQU9BLEdBQVMsSUFBS0MsT0FBUUEsR0FBVSxJQUNsRCxDQWhCbUU0SCxDQUFRdEIsR0FDbkV1QixFQUF1QnJNLEtBQUtzTSxNQUFNMUIsRUFBV3ZCLEdBQVllLElBQ3pEbUMsRUFBd0J2TSxLQUFLc00sTUFBT0QsRUFBdUJGLEVBQW1CRCxHQUNwRixhQUFheEIsRUFBTUksR0FDaEIwQixPQUFPSCxFQUFzQkUsRUFBdUIsQ0FDbkRFLElBQUssV0FFTkMsT0FBT3pDLEVBQWlCLENBQ3ZCMEMsV0FBWSxDQUFFQyxFQUFHLElBQUtDLEVBQUcsSUFBS2hKLEVBQUcsSUFBS2lKLE1BQU8sS0FFOUN4QixVQUNMLENBeEUwQnlCLENBQ3RCakQsRUFDQUMsRUFDQUcsRUFDQUMsRUFDQUMsRUFDQUMsRUFDQUMsRUFDQU0sRUFDQVgsRUFDQU8sR0FFRixhQUFhQyxFQUNWTSxVQUFVLENBQ1QsQ0FDRXZLLE1BQU9zSyxFQUNQa0MsUUFBU3pDLEdBQVksWUFDckJhLEtBQU1wQixLQUdUc0IsVUFDTCxDQTBEQSxNQUFNMkIsR0FBYSxJQUFJQyxJQUNkQSxFQUFPQyxNQUFNQyxHQUNkQSxVQUNpQixpQkFBVkEsRUFBcUMsS0FBVkEsRUFDakIsaUJBQVZBLEVBQTJCQSxFQUFRLEVBQ3pCLGlCQUFWQSxHQUEyQjVLLE9BQU9DLEtBQUsySyxHQUFPMU4sT0FBUyxJQVFoRTJOLEdBQTZCLENBQ2pDLE9BQ0EsS0FDQSxPQUNBLE1BQ0EsT0FDQSxRQUNBLE9BQ0EsTUFDQSxNQUNBLE1BQ0EsU0FDQSxZQUNBLE1BQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxPQUNBLE1BQ0EsSUFDQSxRQU1JQyxHQUFrQixDQUN0QixNQUNBLE9BQ0EsTUFDQSxPQUNBLE1BQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxPQUNBLE9BQ0EsT0FDQSxPQUdJQyxHQUFxQkMsR0FBNEJILEdBQTJCekssU0FBUzRLLEdBRXJGLFNBQVVDLEdBQ2R2QyxFQUNBd0MsR0FFQXhDLEVBQU1BLEdBQU8sQ0FBQSxFQWViLE1BZGlELENBQy9DeUMsa0JBQW1CekMsRUFBSTBDLG9CQUFvQkYsSUFBV3hDLEVBQUl5QyxnQkFDMUQ3RCxlQUFnQm9CLEVBQUkyQyxtQkFBbUJILElBQVd4QyxFQUFJcEIsZ0JBQWtCLE9BQ3hFRSx5QkFBMEJrQixFQUFJNEMsMkJBQTJCSixJQUFXeEMsRUFBSWxCLHVCQUN4RUMsZ0JBQWlCWixHQUFZNkIsRUFBSTZDLHFCQUFxQkwsSUFBV3hDLEVBQUlqQixpQkFDckUrRCxlQUFnQjlDLEVBQUkrQyxtQkFBbUJQLElBQVd4QyxFQUFJOEMsZ0JBQWtCLEdBQ3hFN0Qsa0JBQW1CZSxFQUFJZixtQkFBcUIsR0FDNUNDLG9CQUFxQmYsR0FBWTZCLEVBQUlnRCx5QkFBeUJSLElBQVd4QyxFQUFJZCxxQkFDN0VDLGdCQUFpQmEsRUFBSWlELG9CQUFvQlQsSUFBV3hDLEVBQUliLGlCQUFtQiw0QkFDM0VDLG9CQUFxQlksRUFBSWtELHdCQUF3QlYsSUFBV3hDLEVBQUlaLHFCQUF1QixHQUN2RitELG1CQUFvQm5ELEVBQUlvRCx1QkFBdUJaLElBQVd4QyxFQUFJbUQsb0JBQXNCLFlBQ3BGN0Qsc0JBQXVCbkIsR0FBWTZCLEVBQUlxRCwyQkFBMkJiLElBQVd4QyxFQUFJVix1QkFDakZrRCxTQUdKLENBRU0sU0FBVWMsR0FDZHRELEVBQ0F3QyxHQUVBeEMsRUFBTUEsR0FBTyxDQUFBLEVBbUJiLE1BbEJnRCxDQUM5Q3VELFFBQVNwRixHQUFZNkIsRUFBSXdELGFBQWFoQixJQUFXeEMsRUFBSXVELFNBQ3JERSxhQUFjekQsRUFBSTBELGVBQWVsQixJQUFXeEMsRUFBSXlELFdBQ2hERSxlQUFnQjNELEVBQUk0RCxtQkFBbUJwQixJQUFXeEMsRUFBSTJELGdCQUFrQixNQUN4RUUsWUFBYTdELEVBQUk4RCxjQUFjdEIsSUFBV3hDLEVBQUk2RCxVQUM5Q0UsYUFBYzVGLEdBQVk2QixFQUFJZ0Usa0JBQWtCeEIsSUFBV3hDLEVBQUkrRCxjQUMvREUsWUFBYTlGLEdBQVk2QixFQUFJa0UsaUJBQWlCMUIsSUFBV3hDLEVBQUlpRSxhQUM3REUsd0JBQXlCbkUsRUFBSW9FLDBCQUEwQjVCLElBQVd4QyxFQUFJbUUsc0JBQ3RFRSxxQkFBc0JyRSxFQUFJc0UsdUJBQXVCOUIsSUFBV3hDLEVBQUlxRSxtQkFDaEVFLGNBQWVwRyxHQUFZNkIsRUFBSXdFLG1CQUFtQmhDLElBQVd4QyxFQUFJdUUsZUFDakVFLFlBQWF6RSxFQUFJMEUsY0FBY2xDLElBQVd4QyxFQUFJeUUsVUFDOUNFLGFBQWN4RyxHQUFZNkIsRUFBSTRFLGtCQUFrQnBDLElBQVd4QyxFQUFJMkUsY0FDL0RFLGdCQUFpQjdFLEVBQUk4RSxrQkFBa0J0QyxJQUFXeEMsRUFBSTZFLGNBQ3RERSxVQUFXL0UsRUFBSWdGLFlBQVl4QyxJQUFXeEMsRUFBSStFLFFBQzFDRSxVQUFXakYsRUFBSWtGLFlBQVkxQyxJQUFXeEMsRUFBSWlGLFFBQzFDRSxrQkFBbUJuRixFQUFJb0Ysc0JBQXNCNUMsSUFBV3hDLEVBQUltRixtQkFBcUIsQ0FBQSxFQUNqRjNDLFNBR0osQ0FFTzdJLGVBQWUwTCxHQUNwQjFHLEVBQ0E0QixFQUNBMUIsRUFDQWxDLEdBRUEsSUFDRSxJQUFJNEMsRUFBcUJDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxJQWtCaEQsT0FqQkFGLEVBQVFDLFFBQ0FkLEdBQ0pDLEVBQ0E0QixFQUFRM0IsZUFBaUIsT0FDekJDLEVBQ0EwQixFQUFRekIsc0JBQ1JYLEdBQVlvQyxFQUFReEIsaUJBQ3BCd0IsRUFBUXVDLGNBQ1J2QyxFQUFRdEIsa0JBQ1JkLEdBQVlvQyxFQUFRckIscUJBQ3BCcUIsRUFBUXBCLGVBQ1JvQixFQUFRbkIsbUJBQ1JtQixFQUFRNEMsa0JBQ1JoRixHQUFZb0MsRUFBUWpCLHdCQUV0QixDQUFFRyxVQUFVLFVBRURGLEVBQU1hLFVBQ3JCLENBQUUsTUFBTzVFLEdBRVAsT0FEQW1CLEVBQU9uQixNQUFNLDhCQUE4QkEsS0FDcENtRCxDQUNULENBQ0YsQ0FFQSxTQUFTMkcsR0FBYy9FLEdBQ3JCLE1BQU00RSxFQUNnQyxpQkFBN0I1RSxFQUFRNEUsaUJBQWdDcEgsR0FBVXdDLEVBQVE0RSxrQkFBb0I1RSxFQUFRNEUsaUJBQy9GLE1BQU8sQ0FDTDVCLFFBQVNwRixHQUFZb0MsRUFBUWdELFNBQzdCRSxVQUFXbEQsRUFBUWtELFlBQWEsRUFDaENFLGNBQWVwRCxFQUFRb0QsZUFBaUIsTUFDeENFLFNBQVV0RCxFQUFRc0QsV0FBWSxFQUM5QkUsYUFBYzVGLEdBQVlvQyxFQUFRd0QsY0FDbENFLFlBQWE5RixHQUFZb0MsRUFBUTBELGFBQ2pDRSxxQkFBc0I1RCxFQUFRNEQsdUJBQXdCLEVBQ3RERSxrQkFBbUI5RCxFQUFROEQsb0JBQXFCLEVBQ2hERSxjQUFlcEcsR0FBWW9DLEVBQVFnRSxlQUNuQ0UsU0FBVWxFLEVBQVFrRSxXQUFZLEVBQzlCTSxPQUFReEUsRUFBUXdFLFNBQVUsRUFDMUJFLE9BQVExRSxFQUFRMEUsU0FBVSxFQUMxQk4sYUFBY3hHLEdBQVlvQyxFQUFRb0UsY0FDbENuQyxPQUFRakMsRUFBUWlDLFFBQVUsT0FDMUIyQyxpQkFBa0JBLEdBQW9CLENBQUEsRUFFMUMsQ0FFT3hMLGVBQWU0TCxHQUNwQjVHLEVBQ0E0QixFQUNBaUYsRUFDQTdJLEdBRUE0RCxFQUFVK0UsR0FBYy9FLEdBQ3hCLElBRUUsR0FEQWlGLEVBQVlDLEdBQWtCRCxJQUN6QnBELEdBQWdCMUssU0FBUzhOLElBQTRCLFFBQWRBLEVBQXFCLE9BQU83RyxFQUN4RSxJQUFJWSxFQUFxQkMsRUFBTWIsRUFBSyxDQUFFYyxVQUFVLElBQzVDOEQsRUFBVSxJQUlkLEdBSEl4QixHQUFXeEIsRUFBUWdELFVBQVloRCxFQUFRZ0QsUUFBVyxNQUNwREEsRUFBVXpPLEtBQUs0USxJQUFJNVEsS0FBS3lELElBQUl6RCxLQUFLNlEsTUFBTXBGLEVBQVFnRCxTQUFXLEdBQUksTUFFNURoRCxFQUFROEQsbUJBQ1YsR0FBSXRDLEdBQVd4QixFQUFRZ0UsZUFBZ0IsQ0FDckMsTUFBTXFCLFFBQW1CckcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUR3TSxRQUFvQnRHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ2pFc00sR0FBY0MsSUFDaEJ0RyxFQUFRQSxFQUFNK0IsT0FDWnhNLEtBQUs2USxNQUFPQyxFQUFhckYsRUFBUWdFLGNBQWtCLEtBQ25EelAsS0FBSzZRLE1BQU9FLEVBQWN0RixFQUFRZ0UsY0FBa0IsS0FDcEQsQ0FDRWhELElBQUssV0FJYixPQUNLLEdBQUloQixFQUFRc0QsU0FDakIsR0FDa0MsaUJBQXpCdEQsRUFBUXdELGNBQ2Z4RCxFQUFRd0QsYUFBZSxHQUNRLGlCQUF4QnhELEVBQVEwRCxhQUNmMUQsRUFBUTBELFlBQWMsRUFFdEIxRSxFQUFRQSxFQUFNK0IsT0FBT2YsRUFBUTBELFlBQWExRCxFQUFRd0QsYUFBYyxDQUM5RHhDLElBQUssY0FFRixHQUMyQixpQkFBekJoQixFQUFRd0QsY0FDZnhELEVBQVF3RCxhQUFlLElBQ1MsaUJBQXhCeEQsRUFBUTBELGFBQW9ELElBQXhCMUQsRUFBUTBELGFBQ3BELENBQ0EsTUFBTTJCLFFBQW1CckcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUR3TSxRQUFvQnRHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ3JFLEdBQUlzTSxHQUFjQyxLQUNYdEYsRUFBUTRELHNCQUF5QjVELEVBQVE0RCxzQkFBd0I1RCxFQUFRd0QsYUFBZThCLEdBQWMsQ0FDekcsTUFBTUMsRUFBYXZGLEVBQVF3RCxhQUFlOEIsRUFDMUN0RyxFQUFRQSxFQUFNK0IsT0FBT3hNLEtBQUs2USxNQUFNQyxFQUFhRSxHQUFhdkYsRUFBUXdELGFBQWMsQ0FDOUV4QyxJQUFLLFVBRVQsQ0FFSixNQUFPLEdBQzBCLGlCQUF4QmhCLEVBQVEwRCxhQUNmMUQsRUFBUTBELFlBQWMsSUFDVyxpQkFBekIxRCxFQUFRd0QsY0FBc0QsSUFBekJ4RCxFQUFRd0QsY0FDckQsQ0FDQSxNQUFNNkIsUUFBbUJyRyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVN0RyxPQUM5RHdNLFFBQW9CdEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTckcsUUFDckUsR0FBSXNNLEdBQWNDLEtBQ1h0RixFQUFRNEQsc0JBQXlCNUQsRUFBUTRELHNCQUF3QjVELEVBQVEwRCxZQUFjMkIsR0FBYSxDQUN2RyxNQUFNRSxFQUFhdkYsRUFBUTBELFlBQWMyQixFQUN6Q3JHLEVBQVFBLEVBQU0rQixPQUFPZixFQUFRMEQsWUFBYW5QLEtBQUs2USxNQUFNRSxFQUFjQyxHQUFhLENBQzlFdkUsSUFBSyxVQUVULENBRUosQ0FhRixHQVhJaEIsRUFBUWtFLFVBQVlsRSxFQUFRb0UsZUFDOUJwRixFQUFRQSxFQUFNaUMsT0FBT2pCLEVBQVFvRSxhQUFjLENBQ3pDbEQsV0FBWSxDQUFFQyxFQUFHLElBQUtDLEVBQUcsSUFBS2hKLEVBQUcsSUFBS2lKLE1BQU8sTUFHN0NyQixFQUFRd0UsU0FDVnhGLEVBQVFBLEVBQU13RyxRQUVaeEYsRUFBUTBFLFNBQ1YxRixFQUFRQSxFQUFNeUcsUUFFWnpGLEVBQVFrRCxVQUFXLENBQ3JCLE1BQU13QyxFQUFZQyxHQUFtQjNGLEVBQVNpRixHQUMxQ1MsSUFBY1QsSUFDaEJqRyxFQUFRQSxFQUFNNEcsU0FBU0YsRUFBVyxDQUNoQzFDLFVBQ0E2QyxTQUFTLElBR2YsTUFFSTdHLEVBREVpRyxHQUFhbkQsR0FBa0JtRCxHQUN6QmpHLEVBQU00RyxTQUFTWCxFQUFrQixDQUN2Q2pDLFVBQ0E2QyxTQUFTLElBR0g3RyxFQUFNNEcsU0FBUyxNQUFPLENBQzVCNUMsVUFDQTZDLFNBQVMsSUFJZixhQUFhN0csRUFBTWEsVUFDckIsQ0FBRSxNQUFPNUUsR0FFUCxPQURBbUIsRUFBT25CLE1BQU0sd0JBQXdCQSxLQUM5Qm1ELENBQ1QsQ0FDRixDQUVBLE1BQU04RyxHQUFxQjlOLEdBQ2xCQSxFQUFJME8sY0FBY2xQLFFBQVEsSUFBSyxJQUdsQyxTQUFVK08sR0FBbUIzRixFQUE4Q2lGLEdBRy9FLEdBRkFqRixFQUFVK0UsR0FBYy9FLEdBQVcsSUFFakIsU0FEbEJpRixFQUFZQyxHQUFrQkQsSUFDTCxNQUFPLE1BQ2hDLElBQUlTLEVBQVkxRixHQUFTb0QsZUFBaUIsTUFDMUMsR0FBSXBELEdBQVM0RSxrQkFBb0I3TixPQUFPQyxLQUFLZ0osRUFBUTRFLGtCQUFrQjNRLE9BQVMsRUFBRyxDQUNqRixNQUFNMlEsRUFBbUI1RSxFQUFRNEUsaUJBQ0o3TixPQUFPQyxLQUFLNE4sR0FDaEJ6TixTQUFTOE4sS0FDaENTLEVBQVlkLEVBQWlCSyxHQUN4Qm5ELEdBQWtCNEQsS0FDckJBLEVBQVksT0FHbEIsQ0FJQSxNQUh3QixVQUFwQjFGLEdBQVNpQyxRQUFvQyxTQUFkeUQsSUFDakNBLEVBQVksT0FFUEEsQ0FDVCxDQUVPLE1BQU1LLEdBQXFCLENBQ2hDQyxFQUNBQyxLQUVBQSxFQUFVZixHQUFrQmUsS0FFeEJELEtBQXNCQSxFQUFpQjlELGdCQUFrQkwsR0FBZ0IxSyxTQUFTOE8sSUFBd0IsUUFBWkEsR0FJdkZDLEdBQWlCLENBQUNDLEVBQXNERixLQUNuRixJQUFLcEUsR0FBZ0IxSyxTQUFTK04sR0FBa0JlLE1BQWNFLEVBQWlCLE9BQU8sRUFFdEYsTUFBTW5ELFFBQ0pBLEVBQU9jLGtCQUNQQSxFQUFpQkUsY0FDakJBLEVBQWFWLFNBQ2JBLEVBQVFFLGFBQ1JBLEVBQVlFLFlBQ1pBLEVBQVdRLFNBQ1hBLEVBQVFFLGFBQ1JBLEVBQVlsQixVQUNaQSxFQUFTRSxjQUNUQSxFQUFhb0IsT0FDYkEsRUFBTUUsT0FDTkEsR0FDRUssR0FBY29CLEdBRWxCLEdBQUkzRSxHQUFXd0IsSUFBWUEsRUFBVyxJQUFLLE9BQU8sRUFDbEQsR0FBSWMsR0FBcUJ0QyxHQUFXd0MsR0FBZ0IsT0FBTyxFQUMzRCxHQUNFVixJQUMwQixpQkFBakJFLEdBQTZCQSxFQUFlLEdBQThCLGlCQUFoQkUsR0FBNEJBLEVBQWMsR0FFN0csT0FBTyxFQUVULEdBQUlRLEdBQVlFLEVBQWMsT0FBTyxFQUNyQyxHQUFJSSxHQUFVRSxFQUFRLE9BQU8sRUFDN0IsR0FBSXhCLEVBQVcsQ0FFYixPQUFPK0MsS0FEVzdDLEdBQWlCLE1BRXJDLENBQ0EsT0FBTyxHQUdJZ0QsR0FBYWhOLE1BQU9nRixFQUFhNkgsS0FDNUNBLEVBQVVmLEdBQWtCZSxHQUN2QnBFLEdBQWdCMUssU0FBUzhPLElBQXdCLFFBQVpBLFFBQzdCaEgsRUFBTWIsRUFBSyxDQUN0QmMsVUFBVSxJQUNUVyxXQUhpRXpCLGlWQTFrQjNCM0MsR0FDckMseUJBQXlCbkQsS0FBS21ELEdBQ3pCQSxFQUFLN0UsUUFBUSx5QkFBMEIsSUFFdkM2RSxFQUFLN0UsUUFBUSxnQkFBaUIscVdBeE5NdEIsRUFBaUJyQixFQUFpQixHQUMvRSxNQUFPLEdBQUdELEdBQXNCQyxLQUFVOEIsRUFBS0UsUUFBUVgsSUFDekQsOEJBTk0sU0FBc0NBLEdBQzFDLE1BQU8sR0FBR2YsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLE9BQVExQixHQUFzQixLQUFLK0IsRUFBS0UsUUFBUVgsSUFDcEYsaUJDbkRBLElBQVkrUSxHQVVBQyxHQWdCQUMsSUExQlosU0FBWUYsR0FDVkEsRUFBQSxRQUFBLFVBQ0FBLEVBQUEsS0FBQSxPQUNBQSxFQUFBLEtBQUEsT0FDQUEsRUFBQSxNQUFBLE9BQ0QsQ0FMRCxDQUFZQSxLQUFBQSxHQUFRLENBQUEsSUFVcEIsU0FBWUMsR0FDVkEsRUFBQSxnQkFBQSxpQkFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsaUJBQUEsa0JBQ0FBLEVBQUEsY0FBQSxlQUNBQSxFQUFBLGFBQUEsY0FDQUEsRUFBQSxTQUFBLFdBQ0FBLEVBQUEsUUFBQSxVQUNBQSxFQUFBLFVBQUEsWUFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsYUFBQSxjQUNELENBWEQsQ0FBWUEsS0FBQUEsR0FBYSxDQUFBLElBZ0J6QixTQUFZQyxHQUNWQSxFQUFBLGNBQUEsZUFDRCxDQUZELENBQVlBLEtBQUFBLEdBQVMsQ0FBQSxJQ2FyQixNQUFNQyxHQUNPLHlCQURQQSxHQUVNLDRCQUZOQSxHQUdTLG1CQUhUQSxHQUlVLG9CQUpWQSxHQUtrQixpQ0FMbEJBLEdBTWlCLDJCQU5qQkEsR0FPZSwrQ0FHZkMsR0FDRyxFQURIQSxHQUVPLEdBRlBBLEdBR0ksR0FISkEsSUFLSSxFQUdKQyxHQUEwQixDQUFDLE1BQU8sTUFBTyxLQUFNLE1BQU8sS0FBTSxTQUFVLFVBQVcsVUFFakZDLEdBQW1CLE9BRW5CLE1BQU9DLFdBQWtCQyxFQUNaaE4sSUFDakJpTixRQUVBLFdBQUFDLENBQVlsTixHQUNWbU4sUUFDQUMsS0FBS3BOLElBQU1BLEVBQ1hvTixLQUFLSCxRQUFVL1EsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBUyxTQUFVLGNBQ2hERCxLQUFLRSxnQkFDUCxDQUVRLGNBQUFBLEdBQ05DLEVBQWNyUixFQUFLckIsS0FBS3VTLEtBQUtwTixJQUFJcU4sUUFBUyxZQUNiRCxLQUFLcE4sSUFBSXdOLFVBQWdDLG1DQUFvQyxHQUV4R0MsRUFBYXZSLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGVBRTdDLENBRVEsaUJBQU1LLEdBQ1osSUFFRSxHQURBSCxFQUFjclIsRUFBS2xDLFFBQVFvVCxLQUFLSCxVQUM1QnROLEVBQUd3QyxXQUFXaUwsS0FBS0gsVUFBWXROLEVBQUdnTyxTQUFTUCxLQUFLSCxTQUFTVyxLQUFPLEVBQUcsT0FBTyxFQUU5RVIsS0FBS3BOLElBQUk2TixJQUFJQyxLQUFLbkIsSUFDbEIsTUFBTXJNLFFBQVl5TixFQUFNNU0sSUE1QlQsd0NBNEIyQixDQUFFVCxhQUFjLGdCQUcxRCxPQUZBZixFQUFHcU8sY0FBY1osS0FBS0gsUUFBUzNNLEVBQUlPLE1BQ25DdU0sS0FBS3BOLElBQUk2TixJQUFJQyxLQUFLbkIsS0FDWCxDQUNULENBQUUsTUFBTy9OLEdBRVAsT0FEQXdPLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU11TCxLQUNaLENBQ1QsQ0FDRixDQUVRLG9CQUFBc0IsQ0FBcUJqTyxHQUkzQixNQUFNc00sRUFBa0J0TSxFQUFJd04sVUFBZ0Qsb0JBQ3RFckIsRUFBbUJuTSxFQUFJd04sVUFBaUQscUJBRXhFck8sRUFBT2lPLEtBQUtjLGdCQUFnQmxPLEdBRWxDLEdBQUlzTSxFQUFpQixDQUNuQkEsRUFBZ0JsRSxPQUFTakosRUFDekIsTUFBTTRMLEVBQ3dDLGlCQUFyQ3VCLEVBQWdCdkIsaUJBQ25CcEgsR0FBVTJJLEVBQWdCdkIsa0JBQzFCdUIsRUFBZ0J2QixpQkFDdEJ1QixFQUFnQnZCLGlCQUFtQkEsQ0FDckMsQ0FFSW9CLElBQ0ZBLEVBQWlCL0QsT0FBU2pKLEdBTTVCLE1BQU8sQ0FBRW1OLGdCQUhzQnBELEdBQTBCb0QsRUFBaUJuTixHQUd4QmdOLGlCQUZsQmhFLEdBQTJCZ0UsRUFBa0JoTixHQUcvRSxDQUVRLGVBQUErTyxDQUFnQmxPLEdBQ3RCLE9BQ0VBLEVBQUl3TixVQUErQixvQkFDbkN4TixFQUFJd04sVUFBK0IsbUJBQ25DVixFQUVKLENBRVEsaUJBQUFxQixDQUFrQm5PLEdBQ3hCLE1BQU1vTyxFQUFjcE8sRUFBSXdOLFVBQW1ELHdCQUEwQixDQUFBLEVBQy9GYSxFQUFxQkQsRUFBWUMsbUJBQ25DRCxFQUFZQyxtQkFBbUJqUSxNQUFNLEtBQUtrUSxJQUFLalIsR0FBaUJBLEVBQUtrUixRQUNyRTFCLEdBRUosT0FBTyxJQUFJMkIsSUFDVEgsRUFBbUJDLElBQUtqUixJQUN0QixNQUFNb1IsRUFBZ0JwUixFQUFLa1IsT0FBT3RDLGNBQ2xDLE9BQU93QyxFQUFjcE4sV0FBVyxLQUFPb04sRUFBZ0IsSUFBSUEsTUFHakUsQ0FHQSxXQUFNQyxDQUFNeFQsRUFBY2tULEdBQWMsR0FDdEMsTUFBTXBPLEVDOUltQixDQUFDQSxJQUNyQixDQUNMMk8sV0FBWTNPLEVBQUkyTyxXQUNoQnRCLFFBQVNyTixFQUFJcU4sUUFDYlEsSUFBSzdOLEVBQUk2TixJQUNUZSxJQUFLNU8sRUFBSTRPLElBQ1RDLE9BQVEsR0FDUjNULE1BQU8sR0FDUDRULFNBQVUsR0FDVkMsZUFBZ0IsR0FDaEJDLGFBQWNoUCxFQUFJZ1AsYUFDbEJDLGNBQWVqUCxFQUFJaVAsY0FDbkJDLFFBQVNsUCxFQUFJa1AsUUFDYkMsT0FBUW5QLEVBQUltUCxPQUNaQyxRQUFTcFAsRUFBSW9QLFFBQ2JDLFlBQWFyUCxFQUFJcVAsWUFDakI5TyxRQUFTUCxFQUFJTyxRQUNiK08sS0FBTXRQLEVBQUlzUCxLQUNWOUIsVUFBV3hOLEVBQUl3TixVQUFVK0IsS0FBS3ZQLEdBQzlCd1AsV0FBWXhQLEVBQUl3UCxXQUFXRCxLQUFLdlAsR0FDaEN5UCxhQUFjelAsRUFBSXlQLGFBQWFGLEtBQUt2UCxHQUNwQzBQLFVBQVcxUCxFQUFJMFAsVUFBVUgsS0FBS3ZQLEdBQzlCMlAsWUFBYTNQLEVBQUkyUCxZQUFZSixLQUFLdlAsR0FDbEM0UCxPQUFRNVAsRUFBSTRQLE9BQU9MLEtBQUt2UCxHQUN4QjZQLGdCQUFpQjdQLEVBQUk2UCxnQkFBZ0JOLEtBQUt2UCxHQUMxQzhQLFlBQWE5UCxFQUFJOFAsWUFBWVAsS0FBS3ZQLEdBQ2xDK1AsR0FBSS9QLEVBQUkrUCxHQUFHUixLQUFLdlAsR0FDaEJnUSxLQUFNaFEsRUFBSWdRLEtBQUtULEtBQUt2UCxHQUNwQmlRLGVBQWdCalEsRUFBSWlRLGVBQWVWLEtBQUt2UCxHQUN4Q2tRLElBQUtsUSxFQUFJa1EsSUFBSVgsS0FBS3ZQLEdBQ2xCbVEsbUJBQW9CblEsRUFBSW1RLG1CQUFtQlosS0FBS3ZQLEdBQ2hEb1EsZ0JBQWlCcFEsRUFBSW9RLGdCQUFnQmIsS0FBS3ZQLEdBQzFDcVEsZ0JBQWlCclEsRUFBSXFRLGdCQUFnQmQsS0FBS3ZQLEdBQzFDc1EsVUFBV3RRLEVBQUlzUSxVQUFVZixLQUFLdlAsR0FDOUJ1USxhQUFjdlEsRUFBSXVRLGFBQWFoQixLQUFLdlAsR0FDcEN3USxLQUFNeFEsRUFBSXdRLEtBQUtqQixLQUFLdlAsR0FDcEJ5USxjQUFlelEsRUFBSXlRLGNBQWNsQixLQUFLdlAsR0FDdEMwUSxnQkFBaUIxUSxFQUFJMFEsZ0JBQWdCbkIsS0FBS3ZQLEdBQzFDMlEsb0JBQXFCM1EsRUFBSTJRLG9CQUFvQnBCLEtBQUt2UCxHQUNsRDRRLFdBQVk1USxFQUFJNFEsV0FBV3JCLEtBQUt2UCxLRHVHcEI2USxDQUFjekQsS0FBS3BOLEtBQy9CLElBQ0UsSUFBSzFGLE1BQU1vSixRQUFReEksR0FBUSxNQUFNLElBQUk0VixNQUFNLDJCQUkzQyxPQUZBMUQsS0FBSzJELGtCQUFrQi9RLEVBQUs5RSxHQUV4QmtULFFBQ1doQixLQUFLNEQsa0JBQWtCaFIsU0FHekJvTixLQUFLNkQsaUJBQWlCalIsRUFDckMsQ0FBRSxNQUFPcEIsR0FDUCxPQUFPd08sS0FBSzhELFlBQVlsUixFQUFLcEIsRUFDL0IsQ0FDRixDQUVRLGlCQUFBbVMsQ0FBa0IvUSxFQUFhOUUsR0FDckM4RSxFQUFJOUUsTUFBUUEsRUFDWjhFLEVBQUk2TyxPQUFTLEdBQ2I3TyxFQUFJbVIsYUFBZSxHQUNuQm5SLEVBQUk4TyxTQUFXc0MsRUFBVWxXLEVBQzNCLENBRVEsdUJBQU04VixDQUFrQmhSLEdBTTlCLE9BTEFBLEVBQUk2TixJQUFJQyxLQUFLLGlCQUNiOU4sRUFBSTZPLE9BQVM3TyxFQUFJOUUsWUFDWGtTLEtBQUtpRSxTQUFTclIsR0FDcEJBLEVBQUk5RSxNQUFROEUsRUFBSThPLGVBQ1YxQixLQUFLa0UsWUFBWXRSLEdBQ2hCQSxDQUNULENBRVEsc0JBQU1pUixDQUFpQmpSLEdBVTdCLGFBVE1vTixLQUFLbUUsV0FBV3ZSLFNBQ2hCb04sS0FBS29FLGdCQUFnQnhSLFNBQ3JCb04sS0FBS3FFLFlBQVl6UixTQUNqQm9OLEtBQUtzRSxjQUFjMVIsU0FDbkJvTixLQUFLdUUsYUFBYTNSLEdBQ3hCQSxFQUFJK08sZUFBaUJxQyxFQUFVcFIsRUFBSTZPLGNBQzdCekIsS0FBS2lFLFNBQVNyUixHQUNwQkEsRUFBSTlFLE1BQVE4RSxFQUFJOE8sZUFDVjFCLEtBQUtrRSxZQUFZdFIsR0FDaEJBLENBQ1QsQ0FFUSxXQUFBa1IsQ0FBWWxSLEVBQWFvQixHQU0vQixHQUxBcEIsRUFBSTZOLElBQUluTCxLQUFLK0osR0FBY21GLFFBQzNCNVIsRUFBSXdRLEtBQUsvRCxHQUFjb0YsZ0JBQWlCakYsSUFDeEM1TSxFQUFJd1EsS0FBSy9ELEdBQWNtRixPQUFReFEsR0FDL0JwQixFQUFJNk4sSUFBSXpNLE1BQU1BLEdBRVZwQixFQUFJd04sVUFBK0IsU0FDckMsTUFBTXBNLEVBRVIsT0FBT3BCLENBQ1QsQ0FHUSxnQkFBTXVSLENBQVd2UixHQUN2QixNQUFNc00sZ0JBQUVBLEVBQWVILGlCQUFFQSxHQUFxQmlCLEtBQUthLHFCQUFxQmpPLEdBQ2xFOFIsRUFBaUIxRSxLQUFLZSxrQkFBa0JuTyxHQU05QyxHQUpBQSxFQUFJd1EsS0FBSy9ELEdBQWNvRixnQkFBaUJqRixJQUN4QzVNLEVBQUl3USxLQUFLL0QsR0FBY3NGLGlCQUFrQi9SLEdBQ3pDQSxFQUFJNk4sSUFBSUMsS0FBSyxvQkFFVHhCLEdBQW1CSCxFQUFrQixDQUN2QyxNQUFNNkYsRUFBZTlWLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVMscUJBQ3RDRCxLQUFLNkUsY0FBY2pTLEVBQUtnUyxFQUFjMUYsRUFBaUJILEVBQWtCMkYsRUFDakYsTUFDRTFFLEtBQUs4RSx3QkFBd0JsUyxHQUUvQixPQUFPQSxDQUNULENBRVEsdUJBQUFrUyxDQUF3QmxTLEdBQzlCLElBQUssTUFBTTNDLEtBQVEyQyxFQUFJOUUsTUFDckI4RSxFQUFJbVIsYUFBY2dCLEtBQUs5VSxFQUUzQixDQUVRLG1CQUFNNFUsQ0FDWmpTLEVBQ0FnUyxFQUNBMUYsRUFDQUgsRUFDQTJGLFNBRU0zUixRQUFRaVMsV0FDWnBTLEVBQUk5RSxNQUFNb1QsSUFBSS9PLE1BQU9sQyxFQUFjZ1YsV0FDM0JqRixLQUFLa0YsYUFBYWpWLEVBQU1nVixFQUFPclMsRUFBS2dTLEVBQWMxRixFQUFpQkgsRUFBa0IyRixLQUdqRyxDQUVRLGtCQUFNUSxDQUNaalYsRUFDQWdWLEVBQ0FyUyxFQUNBZ1MsRUFDQTFGLEVBQ0FILEVBQ0EyRixHQUVBLE1BQU1TLEVBQVkvVCxHQUFNbkIsR0FDbEJ5USxFQUFnQ3lFLFFBQWtCeFMsR0FBVzFDLEVBQU0yQyxHQUFPLENBQUVILFNBQVMsR0FFM0YsR0FBSTBTLEtBQWV6RSxFQUFLak8sVUFBWWlPLEVBQUtwTyxRQUFTLE9BRWxETSxFQUFJbVIsYUFBY2tCLEdBQVNoVixFQUMzQixNQUFNbVYsRUFBWUQsRUFBWXpFLEVBQUsxUixTQUFXLEdBQUtGLEVBQUtFLFFBQVFpQixHQUMxRG9WLEVBQXNCWCxFQUFlWSxJQUFJRixFQUFVdkcsZUFFbkRyUSxFQUFxQjJXLEVBQVl6RSxFQUFLcE8sT0FBVUMsRUFBR2dULGFBQWF0VixHQUNoRXVWLFFBQTBCeEYsS0FBS3lGLGdCQUNuQ2pYLEVBQ0E0VyxFQUNBbEcsRUFDQUgsRUFDQXNHLEVBQ0FwVixFQUNBMlUsRUFDQWhTLEdBR0U0UyxTQUNJeEYsS0FBSzBGLG1CQUNUelYsRUFDQWdWLEVBQ0FyUyxFQUNBZ1MsRUFDQVksRUFDQUosRUFDQWxHLEVBQ0FpRyxFQUNBekUsRUFHTixDQUVRLHFCQUFNK0UsQ0FDWmpYLEVBQ0E0VyxFQUNBbEcsRUFDQUgsRUFDQXNHLEVBQ0FwVixFQUNBMlUsRUFDQWhTLEdBRUEsSUFBSTRTLEVBMEJKLE9BdkJJdkcsR0FBZUMsRUFBaUJrRyxLQUFlQyxJQUNqREcsUUFBMEJ4RixLQUFLMkYsY0FDN0JuWCxFQUNBZ1gsRUFDQUosRUFDQWxHLEVBQ0FqUCxFQUNBMlUsRUFDQWhTLElBS0FrTSxHQUFtQkMsRUFBa0JxRyxLQUFlQyxJQUN0REcsUUFBMEJ4RixLQUFLNEYsYUFBYXBYLEVBQVl1USxFQUFtQm5NLElBSXhFNFMsSUFBcUJ0RyxHQUFpQjdCLGNBQWlCZ0ksSUFDMUR6UyxFQUFJNk4sSUFBSUMsS0FBS25CLElBQ2JpRyxRQUEwQnJHLEdBQVczUSxFQUFZNFcsSUFHNUNJLENBQ1QsQ0FFUSxrQkFBTUksQ0FDWnBYLEVBQ0F1USxFQUNBbk0sR0FFQSxJQUFNbU0sR0FBa0J0SCxtQkFBeUQsVUFBcENzSCxHQUFrQjNILGNBQTRCLENBRXpGLFVBRDZCNEksS0FBS00sY0FHaEMsWUFEQU4sS0FBS3BOLElBQUk2TixJQUFJbkwsS0FBS2lLLEdBR3RCLENBR0EsT0FEQTNNLEVBQUk2TixJQUFJQyxLQUFLbkIsVUFDQTFCLEdBQWtCclAsRUFBWXVRLEVBQWtCaUIsS0FBS0gsUUFBU2pOLEVBQUk2TixJQUNqRixDQUVRLG1CQUFNa0YsQ0FDWm5YLEVBQ0FnWCxFQUNBSixFQUNBbEcsRUFDQWpQLEVBQ0EyVSxFQUNBaFMsR0FFQUEsRUFBSTZOLElBQUlDLEtBQUtuQixJQUNiLE1BQU1zRyxFQUFzQlQsRUFBVXZHLGNBRXRDLE9BQUt6TixHQUFNbkIsSUFBa0MsVUFBeEI0VixHQUEyRCxVQUF4QkEsUUFJM0M5SCxHQUFjeUgsR0FBcUJoWCxFQUFZMFEsRUFBaUJrRyxFQUFXeFMsRUFBSTZOLFdBSDdFVCxLQUFLOEYsdUJBQXVCdFgsRUFBWXlCLEVBQU1tVixFQUFXUixFQUFjMUYsRUFBaUJ0TSxFQUl6RyxDQUVRLDRCQUFNa1QsQ0FDWnRYLEVBQ0F5QixFQUNBbVYsRUFDQVIsRUFDQTFGLEVBQ0F0TSxHQUVBLE1BQU1tVCxRQUFtQkMsRUFBWSxDQUNuQzFULE9BQVE5RCxFQUFXOEQsT0FDbkJ3SSxPQUFRLE9BQ1JpQixRQUFTLElBRUxrSyxFQUFzQm5YLEVBQUtyQixLQUFLbVgsRUFBYyxHQUFHOVYsRUFBS0MsU0FBU2tCLEVBQU1tVixVQUUzRSxPQURBN1MsRUFBR3FPLGNBQWNxRixFQUFxQjNOLE9BQU9DLEtBQUt3TixVQUNyQ2hJLEdBQWN4TCxFQUFHZ1QsYUFBYVUsR0FBc0IvRyxFQUFpQixPQUFRdE0sRUFBSTZOLElBQ2hHLENBRVEsd0JBQU1pRixDQUNaelYsRUFDQWdWLEVBQ0FyUyxFQUNBZ1MsRUFDQVksRUFDQUosRUFDQWxHLEVBQ0FpRyxFQUNBekUsR0FFQSxJQUFJd0YsRUFBU2hILEdBQWlCakQsVUFBWXlDLEdBQW1CUSxFQUFpQmtHLEdBQWFBLEVBQzNGYyxFQUFTQSxFQUFPalMsV0FBVyxLQUFPaVMsRUFBUyxJQUFJQSxJQUUvQyxNQUFNQyxFQUFXaEIsRUFDYnJXLEVBQUtyQixLQUFLbVgsRUFBYyxHQUFHNUUsS0FBS29HLGdCQUFnQjFGLEtBQVF3RixLQUN4RHBYLEVBQUtyQixLQUFLbVgsRUFBYyxHQUFHOVYsRUFBS0MsU0FBU2tCLEVBQU1tVixLQUFhYyxLQUVoRXRULEVBQUltUixhQUFja0IsR0FBU25XLEVBQUtyQixLQUM5QnFCLEVBQUtsQyxRQUFRcUQsR0FDYmtWLEVBQVlyVyxFQUFLQyxTQUFTb1gsR0FBWSxHQUFHclgsRUFBS0MsU0FBU2tCLEVBQU1tVixLQUFhYyxLQUc1RTNULEVBQUdxTyxjQUFjdUYsRUFBVVgsR0FDM0I1UyxFQUFJOUUsTUFBTW1YLEdBQVNrQixDQUNyQixDQUVRLGVBQUFDLENBQWdCMUYsR0FDdEIsT0FBT0EsRUFBS3JPLFNBQVd2RCxFQUFLQyxTQUFTMlIsRUFBS3JPLFNBQVV2RCxFQUFLRSxRQUFRMFIsRUFBS3JPLFlBQWEsSUFBSTNELE1BQU9rQixVQUFVaEMsVUFDMUcsQ0FHUSxtQkFBTTBXLENBQWMxUixHQUMxQixNQUFNeVQsRUFBZXpULEVBQUl3TixVQUFlLG1CQUFxQixDQUFBLEVBQzdELElBQUtpRyxFQUFhQyxPQUFRLE9BQU8xVCxFQUVqQyxNQUFNa0ksRUFBU3VMLEVBQWF2TCxRQUFVLGFBa0J0QyxPQWpCQWxJLEVBQUk2TyxPQUFTN08sRUFBSTZPLE9BQU9QLElBQUksQ0FBQ2pSLEVBQWdCZ1YsS0FDM0MsSUFBSTVTLEVBQVdwQyxFQUFLb0MsU0FjcEIsT0FaRUEsRUFBV2pFLEdBQ1R3RSxFQUFJbVIsYUFBY2tCLEdBQ2xCbkssT0FDQWpMLEVBQ0FJLEVBQUtzVyxZQUFjdFcsRUFBS3NXLFlBQWN0VyxFQUFLcUMsUUFFN0NELEVBQVdBLEVBQVMxQyxRQUFRLE9BQVEsS0FDVCxNQUF2QjBDLEVBQVNuRCxPQUFNLEtBQ2pCbUQsR0FBc0I0UyxFQUFNclgsWUFHaENxQyxFQUFLb0MsU0FBV0EsRUFDVHBDLElBRUYyQyxDQUNULENBRVEscUJBQU13UixDQUFnQnhSLEdBRTVCLGFBRE1vTixLQUFLd0csY0FBYzVULEVBQUltUCxPQUFPMEUsdUJBQXdCN1QsR0FDckRBLENBQ1QsQ0FFUSxpQkFBTXlSLENBQVl6UixHQUN4QkEsRUFBSXdRLEtBQUsvRCxHQUFjb0YsZ0JBQWlCakYsSUFDeEMsTUFBTXpOLEVBQU9hLEVBQUl3TixVQUErQix1QkFBeUIsT0FDekUsSUFBSXNHLEVBQWM5VCxFQUFJbVAsT0FBTzJFLFlBQVkzUyxJQUFJaEMsR0FDekM0VSxFQUFxQjVVLEVBVXpCLE9BUksyVSxJQUNIQSxFQUFjOVQsRUFBSW1QLE9BQU8yRSxZQUFZM1MsSUFBSSxRQUN6QzRTLEVBQXFCLE9BQ3JCL1QsRUFBSTZOLElBQUluTCxLQUFLLDRCQUE0QnZELDRDQUczQ2EsRUFBSTZOLElBQUlDLEtBQUssMkNBQTJDaUcsWUFDbERELEdBQWFFLE9BQU9oVSxJQUNuQkEsQ0FDVCxDQUVRLGtCQUFNMlIsQ0FBYTNSLEdBS3pCLE9BSkFBLEVBQUl3USxLQUFLL0QsR0FBY29GLGdCQUFpQmpGLElBQ3hDNU0sRUFBSTZOLElBQUlDLEtBQUssaUJBQ2I5TixFQUFJd1EsS0FBSy9ELEdBQWN3SCxjQUFlalUsU0FDaENvTixLQUFLd0csY0FBYzVULEVBQUltUCxPQUFPK0Usb0JBQXFCbFUsR0FDbERBLENBQ1QsQ0FFUSxjQUFNcVIsQ0FBU3JSLEdBQ3JCLE1BQU1iLEVBQU9pTyxLQUFLYyxnQkFBZ0JsTyxHQUNsQyxJQUFJbVUsRUFBV25VLEVBQUltUCxPQUFPZ0YsU0FBU2hULElBQUloQyxHQUNuQ2lWLEVBQWtCalYsRUFFakJnVixJQUNIblUsRUFBSTZOLElBQUluTCxLQUFLLHlCQUF5QnZELG1DQUFzQzJOLE1BQzVFc0gsRUFBa0J0SCxHQUNsQnFILEVBQVduVSxFQUFJbVAsT0FBT2dGLFNBQVNoVCxJQUFJMkwsS0FHckM5TSxFQUFJNk4sSUFBSUMsS0FBSyxxQ0FBcUNzRyxZQUM1Q0QsR0FBVUgsT0FBT2hVLElBRXZCLElBQUssTUFBTXFVLEtBQWFyVSxFQUFJNk8sT0FDMUJ3RixFQUFVbFYsS0FBT2lWLEVBRW5CLE9BQU9wVSxDQUNULENBRVEsaUJBQU1zUixDQUFZdFIsR0FDeEJBLEVBQUl3USxLQUFLL0QsR0FBYzZILGFBQWN0VSxHQUNyQ0EsRUFBSXdRLEtBQUsvRCxHQUFjb0YsZ0JBQWlCLFdBQ2xDekUsS0FBS3dHLGNBQWM1VCxFQUFJbVAsT0FBT29GLG1CQUFvQnZVLEdBQ3hELElBQUl3VSxFQUFNLEdBQ1YsTUFBTXBhLEVBQVM0RixFQUFJNk8sT0FBT3pVLE9BQ3BCcWEsR0FBd0YsSUFBcEV6VSxFQUFJd04sVUFBZ0MsNEJBQzlELElBQUssSUFBSWpULEVBQUksRUFBR0EsRUFBSUgsRUFBUUcsU0FDVSxJQUF6QnlGLEVBQUk2TyxPQUFPdFUsR0FBR21hLFNBQ3ZCRixHQUFPQyxFQUFvQjVWLEdBQWdCbUIsRUFBSTZPLE9BQU90VSxHQUFHbWEsUUFBVzFVLEVBQUk2TyxPQUFPdFUsR0FBR21hLE9BQzlFbmEsSUFBTUgsRUFBUyxJQUNqQm9hLEdBQU8sY0FHSnhVLEVBQUk2TyxPQUFPdFUsR0FBR29aLG1CQUNkM1QsRUFBSTZPLE9BQU90VSxHQUFHbUYsT0FJdkIsT0FGQU0sRUFBSXdRLEtBQUsvRCxHQUFja0ksU0FBVTNVLEdBQ2pDQSxFQUFJNk4sSUFBSWhPLFFBQVEsS0FBSzJVLEtBQ2R4VSxDQUNULENBR1EsbUJBQU00VCxDQUFjZ0IsRUFBcUM1VSxHQUMvRCxNQUFNNlUsRUFBVUQsRUFBaUJFLFVBQzNCQyxFQUFjSCxFQUFpQkksWUFDL0JDLEVBQWdCTCxFQUFpQk0sVUFhdkMsYUFYTS9VLFFBQVFnVixJQUNaTixFQUFRdkcsSUFBSS9PLE1BQU82VixFQUFpQi9DLEtBQ2xDLElBQ0VyUyxFQUFJNk4sSUFBSUMsS0FBSyxHQUFHbUgsTUFBa0JGLEVBQVkxQyxvQkFDeEMrQyxFQUFPcEIsT0FBT2hVLEVBQ3RCLENBQUUsTUFBT3BCLEdBRVAsTUFEQW9CLEVBQUk2TixJQUFJek0sTUFBTSxHQUFHNlQsTUFBa0JGLEVBQVkxQyxZQUN6Q3pULENBQ1IsS0FHR29CLENBQ1QsRUU5Z0JLLE1DZURxVixHQUFxRCxDQUN6RCxRQ2xCbUIsQ0FDbkJDLGNBQWUsT0FDZkMsZUFBZ0IsZUFDaEJDLDJCQUE0QixlQUM1QkMscUJBQXNCLGdDQUN0QkMsYUFBYyxZQUNkQyxZQUFhLE9BR2JDLFlBQWEsUUFDYkMsa0JBQW1CLFVBQ25CQywwQkFBMkIsV0FDM0JDLHlCQUEwQixTQUMxQkMsa0NBQW1DLGNBR25DQyxxQkFBc0IsUUFDdEJDLDhCQUErQixTQUMvQkMsc0NBQXVDLGlDQUN2Q0MsNEJBQTZCLFNBQzdCQyxvQ0FBcUMsVUFDckNDLGlDQUFrQyxVQUNsQ0MseUNBQTBDLFdBQzFDQyw2QkFBOEIsUUFDOUJDLHFDQUFzQyw4Q0FDdENDLDBCQUEyQixRQUMzQkMsa0NBQW1DLHVCQUNuQ0Msa0NBQW1DLFVBQ25DQywwQ0FBMkMsMkJBQzNDQyw2QkFBOEIsU0FDOUJDLHFDQUFzQyxXQUN0Q0MsaUNBQWtDLGNBQ2xDQyx5Q0FBMEMsZUFHMUNDLGFBQWMsT0FDZEMsa0JBQW1CLE9BQ25CQywwQkFBMkIsd0JBQzNCQyx1QkFBd0IsVUFDeEJDLCtCQUFnQyxzQkFDaENDLHFCQUFzQixTQUN0QkMsNkJBQThCLFdBRzlCQyxtQkFBb0IsUUFDcEJDLGlCQUFrQixRQUNsQkMseUJBQTBCLGdDQUMxQkMsbUJBQW9CLFVBQ3BCQywyQkFBNEIsdUJBQzVCQyxzQkFBdUIsUUFDdkJDLDhCQUErQixvQkFDL0JDLHNCQUF1QixPQUN2QkMsOEJBQStCLFFBQy9CQyx3QkFBeUIsU0FDekJDLGlDQUFrQyxZQUNsQ0MscUJBQXNCLFNBQ3RCQyw4QkFBK0IsV0FDL0JDLHVCQUF3QixVQUN4QkMsK0JBQWdDLHVCQUdoQ0MsZ0JBQWlCLFNBQ2pCQyw0QkFBNkIsZ0JBQzdCQyxnQ0FBaUMsb0JBQ2pDQyx1QkFBd0IsV0FDeEJDLHFCQUFzQixTQUN0QkMscUJBQXNCLFNBQ3RCQyx3QkFBeUIsU0FDekJDLDBCQUEyQixVQUMzQkMsd0JBQXlCLFNBQ3pCQyw2QkFBOEIscUJBQzlCQyw2QkFBOEIsWUFDOUJDLGdDQUFpQyxXQUNqQ0MsZ0NBQWlDLHlCQUNqQ0Msa0NBQW1DLHVCQUduQ0Msb0JBQXFCLFNBQ3JCQyw0QkFBNkIsUUFDN0JDLDZCQUE4QixhQUM5QkMsOEJBQStCLGNBQy9CQywwQkFBMkIsVUFDM0JDLDJCQUE0QixXQUM1QkMseUJBQTBCLFNBQzFCQyw2QkFBOEIsUUFDOUJDLHlCQUEwQixTQUMxQkMsNEJBQTZCLFNBQzdCQyw0QkFBNkIsU0FDN0JDLDhCQUErQixVQUMvQkMsa0NBQW1DLGlCQUNuQ0MsaUNBQWtDLGlCQUNsQ0MsaUNBQWtDLFlBQ2xDQyxvQ0FBcUMseUJBQ3JDQyxzQ0FBdUMsdUJBQ3ZDQyxvQ0FBcUMsa0JBQ3JDQyxxQ0FBc0MsNENBQ3RDQyx5QkFBMEIsT0FDMUJDLDZCQUNFLDJFQUNGQyxpQ0FBa0MsS0FDbENDLGdDQUFpQyxLQUdqQ0MsY0FBZSxTQUNmQyxvQkFBcUIsVUFDckJDLG1CQUFvQixRQUNwQkMsbUJBQW9CLFNBQ3BCQyxxQkFBc0IsUUFDdEJDLHdCQUF5QixVQUN6QkMsMkJBQTRCLG9CQUM1QkMsNkJBQThCLFdBQzlCQywyQkFBNEIsWUFDNUJDLGdDQUFpQyx1QkFHakNDLGFBQWMsTUFDZEMsdUJBQXdCLGNBQ3hCQyx1QkFBd0IsY0FDeEJDLG9CQUFxQixXQUNyQkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkMsa0JBQW1CLFNBQ25CQywwQkFBMkIsWUFDM0JDLDBCQUEyQixTQUMzQkMsNkJBQThCLGlCQUM5QkMseUJBQTBCLHNDQUcxQkMsYUFBYyxRQUNkQyxzQkFBdUIsYUFDdkJDLHNCQUF1QixRQUN2QkMsMEJBQTJCLGdCQUMzQkMsbUJBQW9CLFFBQ3BCQyxtQkFBb0IsT0FDcEJDLDhCQUErQixVQUMvQkMsOEJBQStCLGFBQy9CQyxrQ0FBbUMsYUFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxNQUNkQyxvQkFBcUIsV0FDckJDLHNCQUF1QixRQUN2QkMsc0JBQXVCLFVBQ3ZCQyxrQkFBbUIsU0FDbkJDLGlCQUFrQixTQUNsQkMscUJBQXNCLFNBQ3RCQyxzQkFBdUIsY0FDdkJDLDRCQUE2QixhQUM3QkMsd0JBQXlCLFlBQ3pCQyw4QkFBK0IsU0FDL0JDLDhCQUErQixhQUMvQkMseUJBQTBCLGdDQUMxQkMsNkJBQThCLGVBQzlCQywwQkFBMkIsWUFDM0JDLDhCQUErQiwrQkFHL0JDLG1CQUFvQixTQUNwQkMsd0JBQXlCLFNBQ3pCQyw4QkFBK0IsUUFDL0JDLDRCQUE2QixRQUM3QkMsNEJBQTZCLE9BQzdCQyx3QkFBeUIsU0FDekJDLDJCQUE0QixTQUM1QkMsNkJBQThCLFVBQzlCQyw0QkFBNkIsU0FDN0JDLDJCQUE0QixTQUM1QkMsZ0NBQWlDLGlDQUNqQ0Msc0NBQXVDLGFBQ3ZDQyxvQ0FBcUMsU0FDckNDLG9DQUFxQyxPQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsVUFDekNDLHFDQUFzQyx1QkFDdENDLG1DQUFvQyxrQkFHcENDLGlCQUFrQixTQUNsQkMsc0JBQXVCLE9BQ3ZCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsMEJBQTJCLE9BQzNCQyw0QkFBNkIsT0FDN0JDLHVDQUF3QyxTQUN4Q0MsNEJBQTZCLFNBQzdCQywyQkFBNEIsVUFDNUJDLDhCQUErQixTQUMvQkMsMkJBQTRCLFdBQzVCQywyQkFBNEIsU0FDNUJDLDBCQUEyQixVQUMzQkMsOEJBQStCLGNBQy9CQyw4QkFBK0IsT0FDL0JDLG9DQUFxQyw2QkFDckNDLCtDQUFnRCxTQUNoREMsb0NBQXFDLFlBQ3JDQyxtQ0FBb0MsdUJBQ3BDQyxzQ0FBdUMsVUFDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsT0FDckJDLG9CQUFxQixPQUNyQkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLG1CQUFvQixVQUdwQkMsa0JBQW1CLE9BQ25CQyxvQkFBcUIsT0FDckJDLDRCQUE2QixPQUM3QkMsaUJBQWtCLE9BQ2xCQyx5QkFBMEIsMEJBQzFCQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixpQkFDM0JDLHdCQUF5QixTQUN6QkMsZ0NBQWlDLFFBQ2pDQyxxQkFBc0IsU0FDdEJDLDZCQUE4QixZQUM5QkMsdUJBQXdCLE9BQ3hCQywrQkFBZ0MsYUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGdCQUMvQkMsbUNBQW9DLG9CQUNwQ0MseUJBQTBCLFdBQzFCQyx5QkFBMEIsV0FDMUJDLDZCQUE4QixTQUM5QkMsMkJBQTRCLFVBQzVCQyx3QkFBeUIsT0FDekJDLDRCQUE2QixVQUM3QkMsMEJBQTJCLFNBQzNCQyxrQ0FBbUMseUJBQ25DQyxrQ0FBbUMscUJBQ25DQyxxQ0FBc0MsY0FDdENDLHNCQUF1QixjQUN2QkMsMkNBQTRDLG1EQUM1Q0Msc0NBQXVDLHdCQUN2Q0MsMkNBQTRDLGlCQUM1Q0MsaUNBQWtDLFdBQ2xDQyxpQ0FBa0MsZ0JBQ2xDQyxxQ0FBc0Msc0JBQ3RDQyxtQ0FBb0MseUNBQ3BDQyxnQ0FBaUMsNEJBQ2pDQyxvQ0FBcUMsdUJBQ3JDQywwQ0FBMkMsUUFDM0NDLDZDQUE4QyxRQUM5Q0MsOEJBQStCLGtCQUMvQkMsbURBQW9ELFFBRXBEQyxrQkFBbUIsT0FDbkJDLGlDQUFrQyxTQUNsQ0MseUNBQTBDLFlBQzFDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msd0NBQXlDLFNBQ3pDQyxnREFBaUQsWUFDakRDLGtDQUFtQyxTQUNuQ0MsMENBQTJDLFFBQzNDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msb0NBQXFDLGFBQ3JDQyw0Q0FBNkMsY0FDN0NDLHNDQUF1QyxlQUN2Q0MsNkNBQThDLFlBQzlDQyxpQ0FBa0MsV0FDbENDLDZDQUE4QyxZQUM5Q0MscUNBQXNDLFdBQ3RDQyw2Q0FBOEMsWUFDOUNDLG9DQUFxQyxTQUNyQ0MsNENBQTZDLFVBQzdDQyx3Q0FBeUMsWUFDekNDLGdEQUFpRCxjQUVqREMsb0JBQXFCLFNBQ3JCQyx1Q0FBd0MsZ0JBRXhDQyxlQUFnQixRQUNoQkMsc0JBQXVCLFVBQ3ZCQyxzQkFBdUIsVUFFdkJDLGlCQUFrQixPQUNsQkMseUJBQTBCLFNBQzFCQyxpQ0FBa0MsY0FDbENDLDJCQUE0QixXQUM1QkMsbUNBQW9DLFVBQ3BDQywrQkFBZ0MsU0FDaENDLHVDQUF3QyxVQUN4Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsVUFDbkNDLDZCQUE4QixTQUM5QkMscUNBQXNDLFFBQ3RDQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxRQUN2Q0MsbUNBQW9DLGFBQ3BDQywyQ0FBNEMsY0FDNUNDLHdCQUF5QixXQUN6QkMsd0JBQXlCLFdBQ3pCQywrQkFBZ0MsVUFDaENDLHVDQUF3QyxRQUN4Q0Msc0NBQXVDLFdBQ3ZDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsOEJBQStCLFNBQy9CQyxzQ0FBdUMsYUFDdkNDLDhCQUErQixhQUMvQkMsc0NBQXVDLGdCQUd2Q0Msc0NBQXVDLFNBQ3ZDQyxxQ0FBc0MsU0FDdENDLDRDQUE2QyxzQ0FDN0NDLDBDQUEyQyx5QkFDM0NDLHdDQUF5QyxTQUN6Q0MsdUNBQXdDLFNBQ3hDQyw4Q0FBK0Msc0NBQy9DQyw2Q0FBOEMsa0JBQzlDQyxxQ0FBc0MsU0FDdENDLG9DQUFxQyxTQUNyQ0MsMkNBQTRDLHNDQUM1Q0MsMENBQTJDLG1CRG5UM0MsUUVqQjZCLENBQzdCaFMsY0FBZSxPQUNmQyxlQUFnQixjQUNoQkMsMkJBQTRCLGFBQzVCQyxxQkFBc0IsZ0NBQ3RCQyxhQUFjLFlBQ2RDLFlBQWEsT0FHYkMsWUFBYSxRQUNiQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMseUJBQTBCLFNBQzFCQyxrQ0FBbUMsY0FHbkNDLHFCQUFzQixRQUN0QkMsOEJBQStCLFVBQy9CQyxzQ0FBdUMsaUNBQ3ZDQyw0QkFBNkIsU0FDN0JDLG9DQUFxQyxVQUNyQ0MsaUNBQWtDLFVBQ2xDQyx5Q0FBMEMsV0FDMUNDLDZCQUE4QixRQUM5QkMscUNBQXNDLDhDQUN0Q0MsMEJBQTJCLFFBQzNCQyxrQ0FBbUMsdUJBQ25DQyxrQ0FBbUMsVUFDbkNDLDBDQUEyQywyQkFDM0NDLDZCQUE4QixTQUM5QkMscUNBQXNDLFlBQ3RDQyxpQ0FBa0MsV0FDbENDLHlDQUEwQyxlQUcxQ0MsYUFBYyxLQUNkQyxrQkFBbUIsU0FDbkJDLDBCQUEyQix3QkFDM0JDLHVCQUF3QixTQUN4QkMsK0JBQWdDLHNCQUNoQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsWUFHOUJDLG1CQUFvQixRQUNwQkMsaUJBQWtCLFFBQ2xCQyx5QkFBMEIsZ0NBQzFCQyxtQkFBb0IsVUFDcEJDLDJCQUE0Qix1QkFDNUJDLHNCQUF1QixRQUN2QkMsOEJBQStCLG9CQUMvQkMsc0JBQXVCLE9BQ3ZCQyw4QkFBK0IsUUFDL0JDLHdCQUF5QixTQUN6QkMsaUNBQWtDLFlBQ2xDQyxxQkFBc0IsU0FDdEJDLDhCQUErQixZQUMvQkMsdUJBQXdCLFNBQ3hCQywrQkFBZ0MsdUJBR2hDQyxnQkFBaUIsU0FDakJDLDRCQUE2QixnQkFDN0JDLGdDQUFpQyxvQkFDakNDLHVCQUF3QixXQUN4QkMscUJBQXNCLFNBQ3RCQyxxQkFBc0IsU0FDdEJDLHdCQUF5QixTQUN6QkMsMEJBQTJCLFNBQzNCQyx3QkFBeUIsU0FDekJDLDZCQUE4QixxQkFDOUJDLDZCQUE4QixZQUM5QkMsZ0NBQWlDLFlBQ2pDQyxnQ0FBaUMseUJBQ2pDQyxrQ0FBbUMsdUJBR25DQyxvQkFBcUIsU0FDckJDLDRCQUE2QixRQUM3QkMsNkJBQThCLGFBQzlCQyw4QkFBK0IsY0FDL0JDLDBCQUEyQixVQUMzQkMsMkJBQTRCLFdBQzVCQyx5QkFBMEIsU0FDMUJDLDZCQUE4QixRQUM5QkMseUJBQTBCLFNBQzFCQyw0QkFBNkIsU0FDN0JDLDRCQUE2QixTQUM3QkMsOEJBQStCLFNBQy9CQyxrQ0FBbUMsaUJBQ25DQyxpQ0FBa0MsaUJBQ2xDQyxpQ0FBa0MsWUFDbENDLG9DQUFxQyx5QkFDckNDLHNDQUF1Qyx1QkFDdkNDLG9DQUFxQyxrQkFDckNDLHFDQUFzQyw0Q0FDdENDLHlCQUEwQixPQUMxQkcsZ0NBQWlDLEtBQ2pDRCxpQ0FBa0MsS0FDbENELDZCQUNFLDJFQUdGRyxjQUFlLFNBQ2ZDLG9CQUFxQixVQUNyQkMsbUJBQW9CLFNBQ3BCQyxtQkFBb0IsU0FDcEJDLHFCQUFzQixTQUN0QkMsd0JBQXlCLFNBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsZ0NBQWlDLHVCQUdqQ0MsYUFBYyxNQUNkQyx1QkFBd0IsY0FDeEJDLHVCQUF3QixjQUN4QkMsb0JBQXFCLFdBQ3JCQyxrQkFBbUIsU0FDbkJDLGlCQUFrQixTQUNsQkMscUJBQXNCLFNBQ3RCQyxrQkFBbUIsU0FDbkJDLDBCQUEyQixZQUMzQkMsMEJBQTJCLFNBQzNCQyw2QkFBOEIsaUJBQzlCQyx5QkFBMEIsc0NBRzFCQyxhQUFjLFFBQ2RDLHNCQUF1QixhQUN2QkMsc0JBQXVCLFFBQ3ZCQywwQkFBMkIsZ0JBQzNCQyxtQkFBb0IsUUFDcEJDLG1CQUFvQixVQUNwQkMsOEJBQStCLFVBQy9CQyw4QkFBK0IsYUFDL0JDLGtDQUFtQyxhQUNuQ0MsMkJBQTRCLFdBQzVCQywyQkFBNEIsNEJBRzVCQyxhQUFjLE1BQ2RDLG9CQUFxQixXQUNyQk0sc0JBQXVCLFFBQ3ZCTCxzQkFBdUIsUUFDdkJDLHNCQUF1QixVQUN2QkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkUsNEJBQTZCLGFBQzdCQyx3QkFBeUIsWUFDekJDLDhCQUErQixTQUMvQkMsOEJBQStCLGFBQy9CQyx5QkFBMEIsZ0NBQzFCQyw2QkFBOEIsZUFDOUJDLDBCQUEyQixZQUMzQkMsOEJBQStCLCtCQUcvQkMsbUJBQW9CLFNBQ3BCQyx3QkFBeUIsVUFDekJDLDhCQUErQixhQUMvQkMsNEJBQTZCLFFBQzdCQyw0QkFBNkIsT0FDN0JDLHdCQUF5QixTQUN6QkUsNkJBQThCLFNBQzlCQyw0QkFBNkIsU0FDN0JDLDJCQUE0QixTQUM1QkgsMkJBQTRCLFNBQzVCSSxnQ0FBaUMsaUNBQ2pDQyxzQ0FBdUMsYUFDdkNDLG9DQUFxQyxTQUNyQ0Msb0NBQXFDLFNBQ3JDQyxnQ0FBaUMsWUFDakNDLHdDQUF5QyxVQUN6Q0MscUNBQXNDLHVCQUN0Q0MsbUNBQW9DLGlCQUdwQ0MsaUJBQWtCLFNBQ2xCQyxzQkFBdUIsT0FDdkJDLHNCQUF1QixPQUN2QkMsMEJBQTJCLFFBQzNCQywwQkFBMkIsT0FDM0JDLDRCQUE2QixPQUM3QkMsdUNBQXdDLFNBQ3hDQyw0QkFBNkIsU0FDN0JDLDJCQUE0QixTQUM1QkMsOEJBQStCLFNBQy9CQywyQkFBNEIsV0FDNUJDLDJCQUE0QixTQUM1QkMsMEJBQTJCLFVBQzNCQyw4QkFBK0IsY0FDL0JDLDhCQUErQixPQUMvQkMsb0NBQXFDLDZCQUNyQ0MsK0NBQWdELFNBQ2hEQyxvQ0FBcUMsWUFDckNDLG1DQUFvQyx1QkFDcENDLHNDQUF1QyxVQUN2Q0MsbUNBQW9DLGVBQ3BDQyxtQ0FBb0MsV0FDcENDLGtDQUFtQyxXQUduQ0MsZUFBZ0IsVUFDaEJDLG9CQUFxQixPQUNyQkMsb0JBQXFCLE9BQ3JCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsbUJBQW9CLFVBR3BCQyxrQkFBbUIsT0FDbkJDLG9CQUFxQixPQUNyQkMsNEJBQTZCLFFBQzdCQyxpQkFBa0IsT0FDbEJDLHlCQUEwQiwwQkFDMUJDLGtCQUFtQixVQUNuQkMsMEJBQTJCLFdBQzNCQyx3QkFBeUIsU0FDekJDLGdDQUFpQyxNQUNqQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsTUFDOUJDLHVCQUF3QixTQUN4QkMsK0JBQWdDLFVBR2hDQyxrQkFBbUIsU0FDbkJDLDhCQUErQixnQkFDL0JDLG1DQUFvQyxvQkFDcENDLHlCQUEwQixXQUMxQkMseUJBQTBCLFdBQzFCQyw2QkFBOEIsU0FDOUJDLDJCQUE0QixVQUM1QkMsd0JBQXlCLE9BQ3pCQyw0QkFBNkIsVUFDN0JDLDBCQUEyQixTQUMzQkMsa0NBQW1DLHlCQUNuQ0Msa0NBQW1DLHVCQUNuQ0MscUNBQXNDLDBCQUN0Q0Msc0JBQXVCLFFBQ3ZCQywyQ0FBNEMsbURBQzVDQyxzQ0FBdUMsd0JBQ3ZDQywyQ0FBNEMsaUJBQzVDQyxpQ0FBa0Msc0JBQ2xDQyxpQ0FBa0MsZ0JBQ2xDQyxxQ0FBc0MsWUFDdENDLG1DQUFvQyx5Q0FDcENDLGdDQUFpQyw0QkFDakNDLG9DQUFxQyx1QkFDckNDLDBDQUEyQyxRQUMzQ0MsNkNBQThDLFFBQzlDQyw4QkFBK0Isa0JBQy9CQyxtREFBb0QsUUFFcERDLGtCQUFtQixPQUNuQkMsaUNBQWtDLFNBQ2xDQyx5Q0FBMEMsWUFDMUNDLGdDQUFpQyxTQUNqQ0Msd0NBQXlDLFVBQ3pDQyx3Q0FBeUMsU0FDekNDLGdEQUFpRCxZQUNqREMsa0NBQW1DLFNBQ25DQywwQ0FBMkMsUUFDM0NDLGdDQUFpQyxTQUNqQ0Msd0NBQXlDLFVBQ3pDQyxvQ0FBcUMsU0FDckNDLDRDQUE2QyxjQUM3Q0Msc0NBQXVDLFdBQ3ZDQyw2Q0FBOEMsWUFDOUNDLGlDQUFrQyxXQUNsQ0MsNkNBQThDLFlBQzlDQyxxQ0FBc0MsV0FDdENDLDZDQUE4QyxZQUM5Q0Msb0NBQXFDLFNBQ3JDQyw0Q0FBNkMsVUFDN0NDLHdDQUF5QyxZQUN6Q0MsZ0RBQWlELGNBRWpEQyxvQkFBcUIsU0FDckJDLHVDQUF3QyxlQUV4Q0MsZUFBZ0IsUUFDaEJDLHNCQUF1QixVQUN2QkMsc0JBQXVCLFVBRXZCQyxpQkFBa0IsU0FDbEJDLHlCQUEwQixTQUMxQkMsaUNBQWtDLGNBQ2xDQywyQkFBNEIsV0FDNUJDLG1DQUFvQyxVQUNwQ0MsK0JBQWdDLFNBQ2hDQyx1Q0FBd0MsVUFDeENDLDBCQUEyQixXQUMzQkMsa0NBQW1DLFVBQ25DQyw2QkFBOEIsU0FDOUJDLHFDQUFzQyxRQUN0Q0MsOEJBQStCLFNBQy9CQyxzQ0FBdUMsUUFDdkNDLG1DQUFvQyxhQUNwQ0MsMkNBQTRDLGNBQzVDQyx3QkFBeUIsV0FDekJDLHdCQUF5QixXQUN6QkMsK0JBQWdDLFVBQ2hDQyx1Q0FBd0MsUUFDeENDLHNDQUF1QyxXQUN2Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsVUFDbkNDLDhCQUErQixTQUMvQkMsc0NBQXVDLGFBQ3ZDQyw4QkFBK0IsYUFDL0JDLHNDQUF1QyxnQkFHdkNDLHNDQUF1QyxTQUN2Q0MscUNBQXNDLFNBQ3RDQyw0Q0FBNkMsc0NBQzdDQywwQ0FBMkMsNEJBQzNDQyx3Q0FBeUMsU0FDekNDLHVDQUF3QyxTQUN4Q0MsOENBQStDLHNDQUMvQ0MsNkNBQThDLG9CQUM5Q0MscUNBQXNDLFNBQ3RDQyxvQ0FBcUMsU0FDckNDLDJDQUE0QyxzQ0FDNUNDLDBDQUEyQyxxQkZwVDNDQyxHRGxCMEIsQ0FDMUJqUyxjQUFlLGdCQUNmQyxlQUFnQiw2QkFDaEJDLDJCQUE0Qix5Q0FDNUJDLHFCQUFzQix1RkFDdEJDLGFBQWMsdUNBQ2RDLFlBQWEsd0JBR2JDLFlBQWEsUUFDYkMsa0JBQW1CLFlBQ25CQywwQkFBMkIseUJBQzNCQyx5QkFBMEIsMkJBQzFCQyxrQ0FBbUMsZUFHbkNDLHFCQUFzQixXQUN0QkMsOEJBQStCLGVBQy9CQyxzQ0FBdUMsNEJBQ3ZDQyw0QkFBNkIsYUFDN0JDLG9DQUFxQyxtQ0FDckNDLGlDQUFrQyxtQkFDbENDLHlDQUEwQyxnQ0FDMUNDLDZCQUE4QixjQUM5QkMscUNBQXNDLCtDQUN0Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsd0JBQ25DQyxrQ0FBbUMsb0JBQ25DQywwQ0FBMkMsNEJBQzNDQyw2QkFBOEIsZUFDOUJDLHFDQUFzQyw0QkFDdENDLGlDQUFrQyx5QkFDbENDLHlDQUEwQyxnQkFFMUNDLGFBQWMsUUFDZEMsa0JBQW1CLFdBQ25CQywwQkFBMkIsNEJBQzNCQyx1QkFBd0IsaUJBQ3hCQywrQkFBZ0MsdUJBQ2hDQyxxQkFBc0IsZUFDdEJDLDZCQUE4Qiw0QkFHOUJDLG1CQUFvQixRQUNwQkMsaUJBQWtCLFVBQ2xCQyx5QkFBMEIsZ0NBQzFCQyxtQkFBb0IsWUFDcEJDLDJCQUE0QiwwRUFDNUJDLHNCQUF1QixlQUN2QkMsOEJBQStCLDZFQUMvQkMsc0JBQXVCLGVBQ3ZCQyw4QkFBK0IsNEJBQy9CQyx3QkFBeUIsa0JBQ3pCQyxpQ0FBa0MsYUFDbENDLHFCQUFzQixlQUN0QkMsOEJBQStCLDRCQUMvQkMsdUJBQXdCLGlCQUN4QkMsK0JBQWdDLHVCQUdoQ0MsZ0JBQWlCLFlBQ2pCQyw0QkFBNkIsa0JBQzdCQyxnQ0FBaUMsc0JBQ2pDQyx1QkFBd0IsYUFDeEJDLHFCQUFzQixXQUN0QkMscUJBQXNCLFdBQ3RCQyx3QkFBeUIsZUFDekJDLDBCQUEyQixpQkFDM0JDLHdCQUF5QixpQkFDekJDLDZCQUE4QixxQkFDOUJDLDZCQUE4QixZQUM5QkMsZ0NBQWlDLDRCQUNqQ0MsZ0NBQWlDLHlCQUNqQ0Msa0NBQW1DLHVCQUduQ0Msb0JBQXFCLGdCQUNyQkMsNEJBQTZCLHFCQUM3QkMsNkJBQThCLGVBQzlCQyw4QkFBK0IsZ0JBQy9CQywwQkFBMkIsWUFDM0JDLDJCQUE0QixhQUM1QkMseUJBQTBCLFdBQzFCQyw2QkFBOEIsZUFDOUJDLHlCQUEwQixXQUMxQkMsNEJBQTZCLGVBQzdCQyw0QkFBNkIsaUJBQzdCQyw4QkFBK0IsaUJBQy9CQyxrQ0FBbUMsaUJBQ25DQyxpQ0FBa0MsaUJBQ2xDQyxpQ0FBa0MsWUFDbENDLG9DQUFxQyw0QkFDckNDLHNDQUF1Qyx1QkFDdkNDLG9DQUFxQyxrQkFDckNDLHFDQUFzQyw0Q0FDdENDLHlCQUEwQixnQkFDMUJDLDZCQUNFLDRJQUNGQyxpQ0FBa0MsT0FDbENDLGdDQUFpQyxRQUVqQ0MsY0FBZSxTQUNmQyxvQkFBcUIsWUFDckJDLG1CQUFvQixnQkFDcEJDLG1CQUFvQixXQUNwQkMscUJBQXNCLGFBQ3RCQyx3QkFBeUIsaUJBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsZ0NBQWlDLHVCQUdqQ0MsYUFBYyxRQUNkQyx1QkFBd0IsZ0JBQ3hCQyx1QkFBd0IsZ0JBQ3hCQyxvQkFBcUIsYUFDckJDLGtCQUFtQixXQUNuQkMsaUJBQWtCLFVBQ2xCQyxxQkFBc0IsaUJBQ3RCQyxrQkFBbUIsV0FDbkJDLDBCQUEyQixZQUMzQkMsMEJBQTJCLFNBQzNCQyw2QkFBOEIsaUJBQzlCQyx5QkFBMEIsc0NBRzFCQyxhQUFjLFFBQ2RDLHNCQUF1QixlQUN2QkMsc0JBQXVCLGVBQ3ZCQywwQkFBMkIsbUJBQzNCQyxtQkFBb0IsaUJBQ3BCQyxtQkFBb0IsWUFDcEJDLDhCQUErQiwrQ0FDL0JDLDhCQUErQixpREFDL0JDLGtDQUFtQyxpREFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxRQUNkQyxvQkFBcUIsYUFDckJNLHNCQUF1QixlQUN2Qkwsc0JBQXVCLGVBQ3ZCQyxzQkFBdUIsd0JBQ3ZCQyxrQkFBbUIsV0FDbkJDLGlCQUFrQixVQUNsQkMscUJBQXNCLGlCQUN0QkUsNEJBQTZCLHVCQUM3QkMsd0JBQXlCLDJCQUN6QkMsOEJBQStCLFNBQy9CQyw4QkFBK0IsVUFDL0JDLHlCQUEwQixnQ0FDMUJDLDZCQUE4QixlQUM5QkMsMEJBQTJCLFlBQzNCQyw4QkFBK0IsK0JBRy9CQyxtQkFBb0IsU0FDcEJDLHdCQUF5QixXQUN6QkMsOEJBQStCLGVBQy9CQyw0QkFBNkIsZUFDN0JDLDRCQUE2QixlQUM3QkMsd0JBQXlCLFdBQ3pCQywyQkFBNEIsbUJBQzVCQyw2QkFBOEIsaUJBQzlCQyw0QkFBNkIsZ0JBQzdCQywyQkFBNEIsaUJBQzVCQyxnQ0FBaUMsaUNBQ2pDQyxzQ0FBdUMsZUFDdkNDLG9DQUFxQyxTQUNyQ0Msb0NBQXFDLDJCQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsd0NBQ3pDQyxxQ0FBc0MsdUJBQ3RDQyxtQ0FBb0MsaUJBR3BDQyxpQkFBa0IsZ0JBQ2xCQyxzQkFBdUIsV0FDdkJDLHNCQUF1QixXQUN2QkMsMEJBQTJCLGVBQzNCQywwQkFBMkIsZUFDM0JDLDRCQUE2QixrQkFDN0JDLHVDQUF3Qyw2QkFDeENDLDRCQUE2QixrQkFDN0JDLDJCQUE0QixpQkFDNUJDLDhCQUErQixtQkFDL0JDLDJCQUE0QixzQkFDNUJDLDJCQUE0QixnQkFDNUJDLDBCQUEyQixxQkFDM0JDLDhCQUErQixjQUMvQkMsOEJBQStCLGFBQy9CQyxvQ0FBcUMsNkJBQ3JDQywrQ0FBZ0QseUNBQ2hEQyxvQ0FBcUMsWUFDckNDLG1DQUFvQyx1QkFDcENDLHNDQUF1Qyx3Q0FDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsV0FDckJDLG9CQUFxQixXQUNyQkMsc0JBQXVCLGFBQ3ZCQywwQkFBMkIsa0JBQzNCQyxtQkFBb0IsVUFHcEJDLGtCQUFtQixPQUNuQkMsb0JBQXFCLGNBQ3JCQyw0QkFBNkIsU0FDN0JDLGlCQUFrQixXQUNsQkMseUJBQTBCLHNCQUMxQkMsa0JBQW1CLFlBQ25CQywwQkFBMkIsVUFDM0JDLHdCQUF5QixrQkFDekJDLGdDQUFpQyxRQUNqQ0MscUJBQXNCLGVBQ3RCQyw2QkFBOEIsd0JBQzlCQyx1QkFBd0IsaUJBQ3hCQywrQkFBZ0MsYUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGtCQUMvQkMsbUNBQW9DLHNCQUNwQ0MseUJBQTBCLGFBQzFCQyx5QkFBMEIsYUFDMUJDLDZCQUE4QixrQkFDOUJDLDJCQUE0QixlQUM1QkMsd0JBQXlCLFlBQ3pCQyw0QkFBNkIsaUJBQzdCQywwQkFBMkIsY0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyxzQkFDbkNDLHFDQUFzQyx5QkFDdENDLHNCQUF1QixVQUN2QkMsMkNBQ0Usb0ZBQ0ZDLHNDQUF1QyxVQUN2Q0MsMkNBQTRDLFVBQzVDQyxpQ0FBa0MsV0FDbENDLGlDQUFrQyxnQkFDbENDLHFDQUFzQyxzQkFDdENDLG1DQUFvQyx5Q0FDcENDLGdDQUFpQyw0QkFDakNDLG9DQUFxQyx1QkFDckNDLDBDQUEyQyw0Q0FDM0NDLDZDQUE4Qyx1RUFDOUNDLDhCQUErQixrQkFDL0JDLG1EQUFvRCwyQ0FFcER3QixvQkFBcUIsd0JBQ3JCQyx1Q0FBd0MsNEJBRXhDQyxlQUFnQixrQkFDaEJDLHNCQUF1QixvQkFDdkJDLHNCQUF1QixnQkFFdkIzQixrQkFBbUIscUJBQ25CQyxpQ0FBa0MsMkJBQ2xDQyx5Q0FBMEMsb0NBQzFDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsK0JBQ3pDQyx3Q0FBeUMsdUNBQ3pDQyxnREFBaUQsZ0RBQ2pEQyxrQ0FBbUMsc0JBQ25DQywwQ0FBMkMsd0JBQzNDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsOEJBQ3pDQyxvQ0FBcUMscUJBQ3JDQyw0Q0FBNkMsNENBQzdDQyxzQ0FBdUMsOENBQ3ZDQyw2Q0FBOEMsb0NBQzlDQyxpQ0FBa0MsMkJBQ2xDQyw2Q0FBOEMsbUNBQzlDQyxxQ0FBc0MsMkJBQ3RDQyw2Q0FBOEMsd0NBQzlDQyxvQ0FBcUMseUJBQ3JDQyw0Q0FBNkMsbUNBQzdDQyx3Q0FBeUMsOEJBQ3pDQyxnREFBaUQsd0NBRWpETSxpQkFBa0Isc0JBQ2xCQyx5QkFBMEIsb0JBQzFCQyxpQ0FBa0Msd0NBQ2xDQywyQkFBNEIsdUNBQzVCQyxtQ0FBb0MsNENBQ3BDQywrQkFBZ0Msd0JBQ2hDQyx1Q0FBd0Msa0NBQ3hDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw2QkFBOEIscUJBQzlCQyxxQ0FBc0Msd0JBQ3RDQyw4QkFBK0Isc0JBQy9CQyxzQ0FBdUMsd0JBQ3ZDQyxtQ0FBb0MsNENBQ3BDQywyQ0FBNEMsaURBQzVDQyx3QkFBeUIsdUNBQ3pCQyx3QkFBeUIseUNBQ3pCQywrQkFBZ0MsMEJBQ2hDQyx1Q0FBd0Msd0JBQ3hDQyxzQ0FBdUMsMkNBQ3ZDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw4QkFBK0IscUJBQy9CQyxzQ0FBdUMseUNBQ3ZDQyw4QkFBK0IscUNBQy9CQyxzQ0FBdUMsb0RBRXZDQyxzQ0FBdUMsZ0NBQ3ZDQyxxQ0FBc0MsNkJBQ3RDQyw0Q0FDRSw2RUFDRkMsMENBQ0UsMEZBQ0ZDLHdDQUF5QyxrQ0FDekNDLHVDQUF3QywwQkFDeENDLDhDQUNFLDBFQUNGQyw2Q0FBOEMsNERBQzlDQyxxQ0FBc0MsOEJBQ3RDQyxvQ0FBcUMsdUJBQ3JDQywyQ0FBNEMsdUVBQzVDQywwQ0FBMkMsMkRDbFQ3QyxNQUFNRSxHQUNhbFksS0FDQW1ZLGNBQ0F6bkIsSUFDakIsV0FBQWtOLENBQVlsTixHQUNWb04sS0FBS3BOLElBQU1BLEVBQ1hvTixLQUFLcWEsY0FBZ0IsSUFBSUMsRUFBY3JTLElBQ3ZDLElBQUlzUyxFQUFXdmEsS0FBS3BOLElBQUl3TixVQUFrQixzQkFBd0IsUUFDN0Q2SCxHQUFhc1MsS0FDaEJBLEVBQVcsU0FFYnZhLEtBQUtrQyxLQUFPLElBQUlzWSxFQUFLLENBQ25CQyxRQUFTemEsS0FBS3FhLGNBQ2RLLGdCQUFpQkgsSUFFbkJ2YSxLQUFLMmEsZ0JBQ1AsQ0FFUSxjQUFBQSxHQUNOLE1BQU1DLEVBQWE1YSxLQUFLNmEsc0JBQ1Z0b0IsRUFBR3VvQixZQUFZRixFQUFZLENBQ3ZDRyxlQUFlLElBRVhDLFFBQVFwcEIsSUFDWixHQUFJQSxFQUFLcXBCLFVBQVlycEIsRUFBSzRDLEtBQUswbUIsU0FBUyxRQUFTLENBQy9DLE1BQU1DLEVBQWVyc0IsRUFBS3JCLEtBQUttdEIsRUFBWWhwQixFQUFLNEMsTUFDMUM0bUIsRUFBVzdvQixFQUFHZ1QsYUFBYTRWLEVBQWMsUUFDL0MsSUFDRSxNQUFNRSxFQUFjQyxFQUFLQyxLQUFLSCxHQUM5Qm5ULEdBQWFyVyxFQUFLNEMsS0FBSzdFLFFBQVEsU0FBVSxLQUFPMHJCLENBQ2xELENBQUUsTUFBTzdwQixHQUNQNEQsUUFBUXBCLE1BQU14QyxFQUNoQixDQUNGLEdBRUosQ0FFUSxtQkFBQXFwQixHQUNOLE1BQU1ELEVBQWE5ckIsRUFBS3JCLEtBQUt1UyxLQUFLcE4sSUFBSXFOLFFBQVMsWUFJL0MsT0FIS3ViLEVBQWVaLElBQ2xCemEsRUFBY3lhLEdBRVRBLENBQ1QsQ0FFQSxTQUFBYSxDQUE0QjVxQixFQUFzQjZxQixHQUNoRCxPQUFPMWIsS0FBS2tDLEtBQUt1WixVQUFVNXFCLEVBQUs2cUIsSUFBUzdxQixDQUMzQyxDQUVBLFdBQUE4cUIsQ0FBWXBCLEdBQ1Z2YSxLQUFLa0MsS0FBS3laLFlBQVlwQixHQUN0QnZhLEtBQUtwTixJQUFJd1AsV0FBVyxDQUNsQixvQkFBcUJtWSxHQUV6QixDQUVBLFNBQUFxQixDQUFVckIsRUFBa0JzQixHQUMxQixNQUFNQyxFQUFnQjliLEtBQUtxYSxjQUFjMEIsVUFBVXhCLEdBQ25ELElBQUt1QixFQUNILE9BQU8sRUFFVCxNQUFNRSxFQUFhQyxFQUFNSCxFQUFlRCxHQUV4QyxPQURBN2IsS0FBS3FhLGNBQWM2QixVQUFVM0IsRUFBVXlCLElBQ2hDLENBQ1QsQ0FFQSxXQUFBRyxDQUFZNUIsRUFBa0JzQixHQUU1QixPQURzQjdiLEtBQUtxYSxjQUFjMEIsVUFBVXhCLEtBSW5EdmEsS0FBS3FhLGNBQWM2QixVQUFVM0IsRUFBVXNCLEdBQ3ZDNVQsR0FBYXNTLEdBQVlzQixHQUNsQixFQUNULENBRUEsZUFBQU8sR0FDRSxPQUFPdHNCLE9BQU9DLEtBQUtrWSxHQUNyQixFR25HRixNQUFNNVIsR0FBa0IsQ0FDdEJ1USxPQUFTaFUsSUFDS0EsRUFBSTRPLElBQ1o2YSxRQUFRQyxPQUFPLHNCQUF1QixxQkNIeENwYSxHQUFnQixDQUNwQjBFLE9BQVNoVSxJQUNLQSxFQUFJNE8sSUFDWjZhLFFBQ0RFLFFBQVEsUUFDUkMsVUFBVSxVQUNWQyxZQUFZLHFDQUNaQyxPQUFPdnFCLE1BQU93cUIsRUFBZSxNQUM1QixNQUFNQyxFQUFPaHFCLEVBQUlzUCxLQUFLa2Esa0JBQ3RCLElBQUtPLEVBQU0sQ0FDVCxNQUFNRSxFQUFVLENBQ2QsQ0FDRTlxQixLQUFNLE9BQ055QyxLQUFNLE9BQ05zb0IsUUFBU0YsRUFDVDFvQixRQUFTLG9CQUNUNm9CLFFBQVNucUIsRUFBSXdOLFVBQVUsc0JBQXdCLFVBSW5EdWMsU0FEcUIvcEIsRUFBSTRPLElBQUl3YixTQUFTQyxPQUE4QkosSUFDdEQzYSxJQUNoQixDQUNLMGEsRUFBSzFzQixTQUFTeXNCLElBR2pCL3BCLEVBQUlzUCxLQUFLeVosWUFBWWdCLEdBQ3JCL3BCLEVBQUk2TixJQUFJaE8sUUFBUSxtQkFBbUJrcUIsTUFIbkMvcEIsRUFBSTZOLElBQUluTCxLQUFLLHdCQ3JCakI0bkIsR0FBZ0IsQ0FDcEIxYixFQUNBK2EsRUFDQUUsRUFDQVUsRUFDQVQsRUFDQTNqQixLQUVBLElBQUlzakIsRUFBVTdhLEVBQUk2YSxRQUFRRSxRQUFRQSxHQUFTRSxZQUFZQSxHQUFhVSxNQUFNQSxHQUN0RXBrQixHQUFTcWtCLFFBQ1hmLEVBQVVBLEVBQVFDLE9BQU8sc0JBQXVCLHFDQUU5Q3ZqQixHQUFTc2tCLFdBQ1hoQixFQUFVQSxFQUFRQyxPQUFPLDRCQUE2Qiw2Q0FFeERELEVBQVFLLE9BQU9BLElBR1g3YSxHQUF5QixDQUM3QitFLE9BQVNoVSxJQUNQLE1BQU00TyxFQUFNNU8sRUFBSTRPLElBQ2hCMGIsR0FDRTFiLEVBQ0EsdUJBQ0EsdUJBQ0EsTUFDQSxDQUFDaUcsRUFBbUI0VSxLQUNsQixNQUFNZSxNQUFFQSxFQUFLQyxTQUFFQSxHQUFhaEIsRUFDdEJ0akIsRUFBVSxDQUFFcWtCLFFBQU9DLFlBQ3pCenFCLEVBQUlpUCxjQUFjeWIsUUFBUTdWLEVBQVMxTyxHQUFTNUUsTUFBTTNDLElBQ2hEb0IsRUFBSTZOLElBQUl6TSxNQUFNeEMsTUFHbEIsQ0FBRTRyQixPQUFPLEVBQU1DLFVBQVUsSUFFM0JILEdBQWMxYixFQUFLLHlCQUEwQix5QkFBMEIsS0FBT2lHLElBQzVFN1UsRUFBSWlQLGNBQWMwYixVQUFVOVYsR0FBU3RULE1BQU0zQyxJQUN6Q29CLEVBQUk2TixJQUFJek0sTUFBTXhDLE9BR2xCMHJCLEdBQ0UxYixFQUNBLHNCQUNBLHNCQUNBLEtBQ0EsQ0FBQ2lHLEVBQW1CNFUsS0FDbEIsTUFBTWUsTUFBRUEsRUFBS0MsU0FBRUEsR0FBYWhCLEVBQ3RCdGpCLEVBQVUsQ0FBRXFrQixRQUFPQyxZQUN6QnpxQixFQUFJaVAsY0FBYzVULE9BQU93WixFQUFTMU8sR0FBUzVFLE1BQU8zQyxJQUNoRG9CLEVBQUk2TixJQUFJek0sTUFBTXhDLE1BR2xCLENBQUU0ckIsT0FBTyxFQUFNQyxVQUFVLE1DdER6QkQsR0FBaUIsQ0FDckJ4VyxPQUFTaFUsSUFDS0EsRUFBSTRPLElBQ1o2YSxRQUFRQyxPQUFPLG9CQUFxQiwwQkFBNEJjLElBQ2xFeHFCLEVBQUkwUCxVQUFVLENBQ1osZUFBZ0I4YSxpQkNKUkksSUFBaUIxdUIsS0FDL0JBLEVBQUkydUIsV0FDSkEsR0FBYSxFQUFLQyxTQUNsQkEsR0FBVyxFQUFJQyxZQUNmQSxHQUFjLElBT2QsTUFBTUMsRUFBWTl1QixHQUFNYSxRQUFRLGFBQWMsSUFBSUEsUUFBUSxVQUFXLEtBQ3JFLE9BQUtpdUIsRUFHRSxHQUFHSCxFQUFhLElBQU0sS0FBS0csSUFBWUYsRUFBVyxJQUFNLEtBRnREQyxFQUFjLEdBQUssR0FHOUIsQ0FFTSxTQUFVRSxHQUFXL3VCLEdBQ3pCLE9BQU9BLEVBQ0phLFFBQVEsVUFBVyxLQUNuQnFCLE1BQU0sS0FDTmtRLElBQUk0YyxHQUFLQyxtQkFBbUJELElBQzVCcndCLEtBQUssSUFDVixDQUVPLE1BQU11d0IsR0FDSSxnQkFESkEsR0FFQyxhQUZEQSxHQUdILFNBSEdBLEdBSUssZUFKTEEsR0FLSCxTQUxHQSxHQU1KLFFBTklBLEdBT0osUUFQSUEsR0FRQSxZQVJBQSxHQVNGLFVBVEVBLEdBVUosUUFWSUEsR0FXQSxZQVhBQSxHQVlMLE9BWktBLEdBYUosUUFiSUEsR0FjSixRQWRJQSxHQWVFLGNBR0ZDLEdBQWMsQ0FDekJyckIsRUFDQXNyQixFQUNBMXBCLEVBQ0F6QyxFQUNBb3NCLEVBQ0FDLEVBQ0FDLEVBQXFCLFNBQ3JCQyxLQUFZLENBRVo5cEIsT0FDQXpDLE9BQ0EsVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUNkLEdBQUc0QyxLQUFjSCxFQUFXTSxpQkFBaUJocUIsRUFBS2dxQixnQkFFdEQsRUFDQSxTQUFJckIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFDZCxHQUFHNEMsS0FBY0gsRUFBV00saUJBQWlCaHFCLEVBQUtncUIsZ0JBRXRELEVBQ0F6QixRQUFTb0IsRUFDVEMsY0FDR0UsSUNwRUUsTUFBTUcsR0FBdUI3ckIsSUFDM0IsQ0FDTDhyQixjQUFlOXJCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQy9Da0QsV0FBWS9yQixFQUFJc1AsS0FBS3VaLFVBQXVCLHNCQUM1Q21ELE9BQVFoc0IsRUFBSXNQLEtBQUt1WixVQUF1QixtQkFDeEMsZUFBZ0I3b0IsRUFBSXNQLEtBQUt1WixVQUF1QixxQkFDaERvRCxPQUFRanNCLEVBQUlzUCxLQUFLdVosVUFBdUIsaUJBQ3hDcUQsTUFBT2xzQixFQUFJc1AsS0FBS3VaLFVBQXVCLGdCQUN2Q3NELE1BQU9uc0IsRUFBSXNQLEtBQUt1WixVQUF1QixnQkFDdkN1RCxVQUFXcHNCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQzNDd0QsUUFBU3JzQixFQUFJc1AsS0FBS3VaLFVBQXVCLGtCQUN6Q3lELE1BQU90c0IsRUFBSXNQLEtBQUt1WixVQUF1QixnQkFDdkMwRCxVQUFXdnNCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0JBQzNDMkQsS0FBTXhzQixFQUFJc1AsS0FBS3VaLFVBQXVCLGVBQ3RDNEQsTUFBT3pzQixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUN2QzZELE1BQU8xc0IsRUFBSXNQLEtBQUt1WixVQUF1QixnQkFDdkM4RCxZQUFhM3NCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JDVjNDK0QsR0FBa0IsQ0FDdEJDLFNBQVUsQ0FBRXBwQixPQ3NEQyxRQTdEQ3pELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUFtQyxxQkFBdUIsQ0FBQSxFQXlEakYsTUF4RGdDLENBQzlCNmQsR0FBWXJyQixFQUFLLFdBQVksVUFBVyxRQUFTOHNCLEVBQVczakIsU0FBVyxLQUFLLEVBQU8sV0FDbkZraUIsR0FBWXJyQixFQUFLLFdBQVksWUFBYSxVQUFXOHNCLEVBQVd6akIsWUFBYSxHQUFPLEVBQU8sV0FDM0ZnaUIsR0FBWXJyQixFQUFLLFdBQVksZ0JBQWlCLE9BQVE4c0IsRUFBV3ZqQixlQUFpQixPQUFPLEVBQU8sVUFBVyxDQUN6RzJnQixRQUFTLENBQ1AsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFVBR0ptQixHQUFZcnJCLEVBQUssV0FBWSxXQUFZLFVBQVc4c0IsRUFBV3JqQixXQUFZLEdBQU8sRUFBTyxXQUN6RjRoQixHQUFZcnJCLEVBQUssV0FBWSxjQUFlLFFBQVM4c0IsRUFBV2pqQixhQUFlLEtBQUssRUFBTyxXQUMzRndoQixHQUFZcnJCLEVBQUssV0FBWSxlQUFnQixRQUFTOHNCLEVBQVduakIsY0FBZ0IsS0FBSyxFQUFPLFdBQzdGMGhCLEdBQ0VyckIsRUFDQSxXQUNBLHVCQUNBLFVBQ0E4c0IsRUFBVy9pQix1QkFBd0IsR0FDbkMsRUFDQSxXQUVGc2hCLEdBQ0VyckIsRUFDQSxXQUNBLG9CQUNBLFVBQ0E4c0IsRUFBVzdpQixvQkFBcUIsR0FDaEMsRUFDQSxXQUVGb2hCLEdBQVlyckIsRUFBSyxXQUFZLGdCQUFpQixRQUFTOHNCLEVBQVczaUIsZUFBaUIsSUFBSSxFQUFPLFdBQzlGa2hCLEdBQVlyckIsRUFBSyxXQUFZLFNBQVUsVUFBVzhzQixFQUFXbmlCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGMGdCLEdBQVlyckIsRUFBSyxXQUFZLFNBQVUsVUFBVzhzQixFQUFXamlCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGd2dCLEdBQVlyckIsRUFBSyxXQUFZLFdBQVksVUFBVzhzQixFQUFXemlCLFdBQVksR0FBTyxFQUFPLFdBQ3pGZ2hCLEdBQVlyckIsRUFBSyxXQUFZLGVBQWdCLFFBQVM4c0IsRUFBV3ZpQixjQUFnQixJQUFJLEVBQU8sV0FDNUY4Z0IsR0FBWXJyQixFQUFLLFdBQVksZUFBZ0IsVUFBVzhzQixFQUFXcmlCLGVBQWdCLEdBQU8sRUFBTyxjRGpEdEVoSCxPQUFReEYsSUFBSyxvQkFDMUN1SCxVQUFXLENBQUUvQixPRWtFQSxRQTFFQ3pELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUFvQyxzQkFBd0IsQ0FBQSxFQXNFbkYsTUFyRWdDLENBQzlCNmQsR0FBWXJyQixFQUFLLFlBQWEsaUJBQWtCLFVBQVc4c0IsRUFBV3prQixpQkFBa0IsR0FBTyxFQUFPLFdBQ3RHZ2pCLEdBQVlyckIsRUFBSyxZQUFhLGdCQUFpQixPQUFROHNCLEVBQVd0b0IsZUFBaUIsUUFBUSxFQUFPLFVBQVcsQ0FDM0cwbEIsUUFBUyxDQUFDLE9BQVEsV0FFcEJtQixHQUNFcnJCLEVBQ0EsWUFDQSx3QkFDQSxVQUNBOHNCLEVBQVdwb0Isd0JBQXlCLEdBQ3BDLEVBQ0EsV0FFRjJtQixHQUFZcnJCLEVBQUssWUFBYSxrQkFBbUIsUUFBUzhzQixFQUFXbm9CLGlCQUFtQixHQUFHLEVBQU8sV0FDbEcwbUIsR0FBWXJyQixFQUFLLFlBQWEsZ0JBQWlCLFFBQVM4c0IsRUFBV3BrQixlQUFpQixJQUFJLEVBQU8sV0FDL0YyaUIsR0FBWXJyQixFQUFLLFlBQWEsb0JBQXFCLFFBQVM4c0IsRUFBV2pvQixtQkFBcUIsSUFBSSxFQUFPLFdBQ3ZHd21CLEdBQ0VyckIsRUFDQSxZQUNBLHNCQUNBLFFBQ0E4c0IsRUFBV2hvQixxQkFBdUIsS0FDbEMsRUFDQSxXQUVGdW1CLEdBQ0VyckIsRUFDQSxZQUNBLGlCQUNBLFFBQ0E4c0IsRUFBVy9uQixnQkFBa0IsNkJBQzdCLEVBQ0EsV0FFRnNtQixHQUFZcnJCLEVBQUssWUFBYSxxQkFBc0IsUUFBUzhzQixFQUFXOW5CLG9CQUFzQixJQUFJLEVBQU8sV0FDekdxbUIsR0FDRXJyQixFQUNBLFlBQ0Esd0JBQ0EsUUFDQThzQixFQUFXNW5CLHVCQUF5QixLQUNwQyxFQUNBLFdBRUZtbUIsR0FDRXJyQixFQUNBLFlBQ0Esb0JBQ0EsT0FDQThzQixFQUFXL2pCLG1CQUFxQixhQUNoQyxFQUNBLFVBQ0EsQ0FDRW1oQixRQUFTLENBQ1AsUUFDQSxZQUNBLFlBQ0EsUUFDQSxZQUNBLFlBQ0EsT0FDQSxPQUNBLFNBQ0EsZUYxRHVCem1CLE9BQVF4RixJQUFLLHFCQUM1Qzh1QixPQUFRLENBQUV0cEIsT0dBRyxRQVRDekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQWUsbUJBQXFCLENBQUEsRUFLM0QsTUFKZ0MsQ0FDOUI2ZCxHQUFZcnJCLEVBQUssU0FBVSxTQUFVLFFBQVM4c0IsRUFBVzVrQixRQUFVLGNBQWMsRUFBTyxXQUN4Rm1qQixHQUFZcnJCLEVBQUssU0FBVSxTQUFVLFVBQVc4c0IsRUFBV3BaLFNBQVUsR0FBTyxFQUFPLGNISzVEalEsT0FBUXhGLElBQUssa0JBQ3RDbVEsWUFBYSxDQUFFM0ssT0lNRixRQWhCQ3pELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUEyQyx3QkFBMEIsQ0FBQSxFQVk1RixNQVhnQyxDQUM5QjZkLEdBQ0VyckIsRUFDQSxjQUNBLHFCQUNBLFFBQ0E4c0IsRUFBV3plLG9CQUFzQiwyQ0FDakMsRUFDQSxjSkErQjVLLE9BQVF4RixJQUFLLHdCQUs1Qyt1QixHQUFlenRCLE1BQU9TLEVBQWFpcUIsRUFBMEJnRCxFQUFnQnJyQixLQUNqRixNQUFNc3JCLFFBQWVsdEIsRUFBSTRPLElBQUl3YixTQUFTQyxPQUFPSixHQUN2Q2tELEVBQWFDLEdBQWNILEVBQVFyckIsR0FFekM1QixFQUFJd1AsV0FBVyxDQUFFMmQsQ0FBQ0EsR0FBYUQsSUFHaEIsYUFBWEQsRUFDRmp0QixFQUFJd1AsV0FBVyxDQUNiLGlCQUFrQjVOLEVBQ2xCLGtCQUFtQkEsSUFFRCxnQkFBWHFyQixHQUNUanRCLEVBQUl3UCxXQUFXLENBQ2IscUJBQXNCNU4sS0FLdEJ3ckIsR0FBZ0IsQ0FBQ0gsRUFBZ0JyckIsS0FDSyxDQUN4Q3VTLFNBQVUsVUFBVXZTLElBQ3BCa1MsWUFBYSxlQUFlbFMsSUFDNUJ5ckIsUUFBUyxXQUFXenJCLEtBRUxxckIsSUFBV3JyQixHQXNHeEIwckIsR0FBVSxDQUNkdFosT0FBU2hVLElBQ0tBLEVBQUk0TyxJQUNaNmEsUUFDREUsUUFBUSxPQUNSWSxNQUFNLFVBQ05YLFVBQVUsbUJBQ1ZDLFlBQVksMEVBQ1pDLE9BQU8sQ0FBQ21ELEVBQWdCcnJCLEtBQ3RCLFdBQ0MsSUFFRSxPQUFRcXJCLEdBQ04sSUFBSyxlQWhIUzF0QixPQUFPUyxFQUFhNEIsS0FDOUMsR0FBSUEsR0FBUUEsS0FBUWdyQixHQUFpQixDQUNuQyxNQUFNSyxFQUFTTCxHQUFnQmhyQixHQUUvQixrQkFETW9yQixHQUFhaHRCLEVBQUtpdEIsRUFBT3hwQixPQUFPekQsR0FBTSxVQUFXNEIsRUFFekQsQ0FHQSxNQUtNcW9CLEVBQVUsQ0FDZCxDQUNFOXFCLEtBQU0sT0FDTnlDLEtBQU0sVUFDTnNvQixRQVRZaHRCLE9BQU9xd0IsUUFBUVgsSUFBaUJ0ZSxJQUFJLEVBQUVrZixHQUFTdnZCLFdBQU0sQ0FDbkUyRCxLQUFNNUIsRUFBSXNQLEtBQUt1WixVQUF1QjVxQixHQUN0Q3V2QixXQVFFbHNCLFFBQVMsNEJBSVA0ckIsUUFBZWx0QixFQUFJNE8sSUFBSXdiLFNBQVNDLE9BQThCSixHQUM5RHdELEVBQWlCYixHQUFnQk0sRUFBT0csZUFDeENMLEdBQWFodEIsRUFBS3l0QixFQUFlaHFCLE9BQU96RCxHQUFNLFVBQVdrdEIsRUFBT0csVUF5RmxESyxDQUFvQjF0QixFQUFLNEIsR0FDL0IsTUFDRixJQUFLLFdBQ0wsSUFBSyxtQkF6RmlCckMsT0FDbENTLEVBQ0FpdEIsRUFDQXJyQixLQUVBLEdBQUlBLEVBQU0sQ0FDUixNQUFNdkUsRUFBTzJDLEVBQUltUCxPQUFPOGQsR0FBUTlyQixJQUFJUyxHQUNwQyxPQUFLdkUsT0FJREEsRUFBS29HLGNBQ0R1cEIsR0FBYWh0QixFQUFLM0MsRUFBS29HLE9BQU96RCxHQUFNaXRCLEVBQVFyckIsU0FKbEQ1QixFQUFJNk4sSUFBSXpNLE1BQU0sTUFBTTZyQixXQUFnQnJyQixJQU94QyxDQUdBLE1BQU1zb0IsRUFBVWxxQixFQUFJbVAsT0FBTzhkLEdBQVFqWSxZQUFZMUcsSUFBS2pSLElBQVksQ0FDOUR1RSxLQUFNaXFCLEdBQW9CN3JCLEdBQUszQyxJQUFTQSxFQUN4Q213QixNQUFPbndCLEtBR0g0c0IsRUFBVSxDQUNkLENBQ0U5cUIsS0FBTSxPQUNOeUMsS0FBTXFyQixFQUNOL0MsVUFDQTVvQixRQUFTLGVBQWUyckIsTUFJdEJDLFFBQWVsdEIsRUFBSTRPLElBQUl3YixTQUFTQyxPQUE4QkosR0FDOUQ1c0IsRUFBTzJDLEVBQUltUCxPQUFPOGQsR0FBUTlyQixJQUFJK3JCLEVBQU9ELElBQ3ZDNXZCLEdBQU1vRyxjQUNGdXBCLEdBQWFodEIsRUFBSzNDLEVBQUtvRyxPQUFPekQsR0FBTWl0QixFQUFRQyxFQUFPRCxLQXVEdkNVLENBQTRCM3RCLEVBQUtpdEIsRUFBUXJyQixHQUMvQyxNQUNGLElBQUssY0FyREVyQyxPQUFPUyxFQUFhNEIsS0FDdkMsR0FBSUEsRUFBTSxDQUNSLE1BQU1nc0IsRUFBYWhzQixFQUFLdEUsU0FBUyxpQkFBbUJzRSxFQUFPLGdCQUFnQkEsSUFFM0UsSUFBSzFFLE9BQU9DLEtBQUs2QyxFQUFJd04sVUFBVSxpQkFBaUJsUSxTQUFTc3dCLEdBRXZELFlBREE1dEIsRUFBSTZOLElBQUl6TSxNQUFNLG1CQUFtQndzQixLQUluQyxNQUFNeFksUUFBZXBWLEVBQUlnUCxhQUFhNmUsVUFBVUQsR0FJaEQsWUFISXhZLEdBQVEzUixjQUNKdXBCLEdBQWFodEIsRUFBS29WLEVBQU8zUixPQUFPekQsR0FBTSxTQUFVNHRCLEdBRzFELENBR0EsTUFBTTNELEVBQVUsQ0FDZCxDQUNFOXFCLEtBQU0sT0FDTnlDLEtBQU0sU0FDTnNvQixRQUFTbHFCLEVBQUlnUCxhQUFhOGUsY0FDMUJ4c0IsUUFBUyxvQkFJUDRyQixRQUFlbHRCLEVBQUk0TyxJQUFJd2IsU0FBU0MsT0FBOEJKLEdBQzlEN1UsUUFBZXBWLEVBQUlnUCxhQUFhNmUsVUFBVVgsRUFBTzlYLFFBQ25EQSxHQUFRM1IsY0FDSnVwQixHQUFhaHRCLEVBQUtvVixFQUFPM1IsT0FBT3pELEdBQU0sU0FBVWt0QixFQUFPOVgsU0F5QjNDMlksQ0FBYS90QixFQUFLNEIsR0FDeEIsTUFDRixRQUdFLE9BRkE1QixFQUFJNk4sSUFBSW5MLEtBQUssbUJBQW1CdXFCLFVBQ2hDanRCLEVBQUk2TixJQUFJbkwsS0FBSyw2REFJakIxQyxFQUFJNk4sSUFBSWhPLFFBQVEsa0NBQ0QsV0FBWG90QixHQUNGanRCLEVBQUk2TixJQUFJQyxLQUFLLGlFQUVqQixDQUFFLE1BQU9sUCxHQUVQLEdBREFvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxHQUNWcUQsUUFBUStyQixLQUFLMXdCLFNBQVMsV0FDeEIsTUFBTXNCLENBRVYsQ0FDRCxFQTlCQSxHQThCSTJDLE1BQU0zQyxJQUNUb0IsRUFBSTZOLElBQUl6TSxNQUFNeEMsU0tsTGxCZ1IsR0FBa0IsQ0FDdEJvRSxPQUFTaFUsSUFDUEEsRUFBSTRPLElBQUk2YSxRQUNMRSxRQUFRLFVBQ1JFLFlBQVksb0JBQ1pELFVBQVUsY0FDVlcsTUFBTSxLQUNOVCxPQUFRNXVCLElBQ04sV0FDQyxNQUFNK3lCLEVBQVkveUIsRUFDZm9ULElBQUtqUixHQUNHbUIsR0FBTW5CLEdBQVFBLEVBQU9uQixFQUFLa0UsUUFBUS9DLElBRTFDNndCLE9BQVE3d0IsSUFDUCxNQUFNOHdCLEVBQVF4dUIsRUFBR3dDLFdBQVc5RSxJQUFTbUIsR0FBTW5CLEdBSTNDLE9BSEs4d0IsR0FDSG51QixFQUFJNk4sSUFBSW5MLEtBQUssR0FBR3JGLHFCQUVYOHdCLFVBRUxudUIsRUFBSTRQLE9BQU9xZSxFQUNsQixFQWJBLEdBYUkxc0IsTUFBTTNDLElBQ1RvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxTQzFCbEJ3dkIsR0FBZSxDQUNuQnBhLE9BQVF6VSxNQUFPUyxJQUNiLE1BQU00TyxFQUFNNU8sRUFBSTRPLElBQ2hCQSxFQUFJNmEsUUFDREUsUUFBUSxPQUNSQyxVQUFVLFlBQ1ZDLFlBQVksd0JBQ1pDLE9BQVFtRCxJQUNOLFdBQ0MsSUFDRSxJQUFJaEQsRUFBaUIsR0FDckIsTUFBTXhtQixFQUFzQixDQUMxQjBRLFNBQVUsQ0FDUmhWLEtBQU0sT0FDTnlDLEtBQU0sV0FDTk4sUUFBUyxrQkFDVDRvQixRQUFTbHFCLEVBQUltUCxPQUFPZ0YsU0FBU2EsWUFBWTFHLElBQUtqUixJQUNyQyxDQUNMdUUsS0FBTWlxQixHQUFvQjdyQixHQUFLM0MsSUFBU0EsRUFDeENtd0IsTUFBT253QixLQUdYOHNCLFFBQVNucUIsRUFBSXdOLFVBQVUsb0JBQXNCeE4sRUFBSXdOLFVBQVUsbUJBQXFCLFFBRWxGc0csWUFBYSxDQUNYM1UsS0FBTSxPQUNOeUMsS0FBTSxjQUNOTixRQUFTLG9CQUNUNG9CLFFBQVNscUIsRUFBSW1QLE9BQU8yRSxZQUFZa0IsWUFDaENtVixRQUFTbnFCLEVBQUl3TixVQUErQix1QkFBeUIsUUFFdkVxSCxRQUFTLENBQ1AxVixLQUFNLFdBQ055QyxLQUFNLFVBQ05OLFFBQVMsY0FDVDRvQixRQUFTbHFCLEVBQUlnUCxhQUFhOGUsY0FDMUIzRCxRQUFTanRCLE9BQU9DLEtBQUs2QyxFQUFJd04sVUFBVSxpQkFBaUIwZ0IsT0FBUTd3QixHQUMxRDJDLEVBQUl3TixVQUFVLGdCQUFnQm5RLFFBS3BDLEdBQUk0dkIsRUFBUSxDQUNWLElBQUl4cEIsRUFBT3dwQixHQUtULE9BRkFqdEIsRUFBSTZOLElBQUluTCxLQUFLLG1CQUFtQnVxQixVQUNoQ2p0QixFQUFJNk4sSUFBSW5MLEtBQUssc0RBSGJ1bkIsRUFBUTlYLEtBQUsxTyxFQUFPd3BCLEdBTXhCLE1BQ0VoRCxFQUFVL3NCLE9BQU9DLEtBQUtzRyxHQUFRNkssSUFBS2pSLEdBQWlCb0csRUFBT3BHLElBRTdELE1BQU02dkIsUUFBZXRlLEVBQUl3YixTQUFTQyxPQUFZSixHQUc5QyxHQUFJaUQsRUFBT3JZLFFBQVMsQ0FDbEIsTUFBTUEsRUFBVTdVLEVBQUl3TixVQUFrQyxnQkFDdER0USxPQUFPQyxLQUFLMFgsR0FBU3VULFFBQVMvcUIsSUFDeEI2dkIsRUFBT3JZLFFBQVF2WCxTQUFTRCxHQUMxQndYLEVBQVF4WCxJQUFRLEVBRWhCd1gsRUFBUXhYLElBQVEsSUFJcEIyQyxFQUFJd1AsV0FBVyxDQUNiNmUsYUFBY3haLEdBRWxCLENBRUE3VSxFQUFJd1AsV0FBVyxDQUNiLGlCQUFrQjBkLEVBQU8vWSxVQUFZblUsRUFBSXdOLFVBQWtCLGtCQUMzRCxrQkFBbUIwZixFQUFPL1ksVUFBWW5VLEVBQUl3TixVQUFrQixrQkFDNUQscUJBQXNCMGYsRUFBT3BaLGFBQWUsU0FFOUM5VCxFQUFJNk4sSUFBSWhPLFFBQVEsZ0NBQ2xCLENBQUUsTUFBT2pCLEdBRVAsR0FEQW9CLEVBQUk2TixJQUFJek0sTUFBTXhDLEdBQ1ZxRCxRQUFRK3JCLEtBQUsxd0IsU0FBUyxXQUN4QixNQUFNc0IsQ0FFVixDQUNELEVBM0VBLEdBMkVJMkMsTUFBTTNDLElBQ1RvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxlQ3JGWDB2QixHQUNYQyxxQkFLaUIzc0IsS0FJQW9vQixLQUlBd0UsWUFFakIsV0FBQXRoQixDQUFZdEwsR0FDVndMLEtBQUt4TCxLQUFPQSxFQUNad0wsS0FBSzRjLEtBQU8sSUFBSXlFLElBQ2hCcmhCLEtBQUtvaEIsWUFBYyxJQUFJQyxHQUN6QixDQUVBLFFBQUFDLENBQVNDLEVBQVl2WixHQUNuQixJQUFLdVosRUFBSSxNQUFNLElBQUlDLFVBQVUsbUJBQzdCLEdBQTZCLG1CQUFsQnhaLEVBQU9wQixPQUF1QixNQUFNLElBQUk0YSxVQUFVLHFDQUM3RCxHQUFJeGhCLEtBQUs0YyxLQUFLdFgsSUFBSWljLEdBQUssTUFBTSxJQUFJQyxVQUFVLEdBQUd4aEIsS0FBS3hMLHNCQUFzQitzQixNQUV6RXZoQixLQUFLNGMsS0FBSzZFLElBQUlGLEVBQUl2WixHQUVka1osR0FBaUJRLGdCQUNmMWhCLEtBQUtvaEIsWUFBWTliLElBQUk0YixHQUFpQlEsZUFDeEMxaEIsS0FBS29oQixZQUFZcnRCLElBQUltdEIsR0FBaUJRLGdCQUFnQjNjLEtBQUt3YyxHQUUzRHZoQixLQUFLb2hCLFlBQVlLLElBQUlQLEdBQWlCUSxjQUFlLENBQUNILElBRzVELENBRUEsVUFBQUksQ0FBV25CLEdBQ1QsR0FBSXhnQixLQUFLb2hCLFlBQVk5YixJQUFJa2IsR0FBYSxDQUNwQyxNQUFNb0IsRUFBYTVoQixLQUFLb2hCLFlBQVlydEIsSUFBSXlzQixHQUN4Q29CLEdBQVk1RyxRQUFTaFQsSUFDbkJoSSxLQUFLNGMsS0FBS2lGLE9BQU83WixJQUVyQixDQUNGLENBRUEsT0FBQUYsR0FDRSxPQUFPOUgsS0FBS3hMLElBQ2QsQ0FFQSxHQUFBVCxDQUFJd3RCLEdBQ0YsT0FBT3ZoQixLQUFLNGMsS0FBSzdvQixJQUFJd3RCLEVBQ3ZCLENBRUEsT0FBQTdaLEdBQ0UsTUFBTyxJQUFJMUgsS0FBSzRjLEtBQUtrRixTQUN2QixDQUVBLFNBQUFsYSxHQUNFLE1BQU8sSUFBSTVILEtBQUs0YyxLQUFLN3NCLE9BQ3ZCLEVBR0ssTUFBTWd5QixHQUF1QixDQUFDdnRCLEVBQXNCLFFBQ3pEMHNCLEdBQWlCUSxjQUFnQmx0QixTQzVEdEJ3dEIsR0FDTXh0QixLQUFPLFlBQ3hCMnNCLHFCQUNpQnZFLEtBQU8sSUFBSXlFLElBQ1hELFlBQWMsSUFBSUMsSUFDbEJ6dUIsSUFFakJ5cEIsUUFDQVcsU0FFQSxXQUFBbGQsQ0FBWWxOLEdBQ1ZvTixLQUFLcWMsUUFBVSxJQUFJNEYsRUFDbkJqaUIsS0FBS2dkLFNBQVdBLEVBQ2hCaGQsS0FBS3BOLElBQU1BLENBQ2IsQ0FFQSxPQUFBa1YsR0FDRSxPQUFPOUgsS0FBS3hMLElBQ2QsQ0FFQSxJQUFBMHRCLEdDbEJhLElBQUN0dkIsRURtQlpvTixLQUFLcWMsUUFDRjhGLFFBQVEsUUFBMkIsaUJBQ25DN0YsT0FBTyxjQUFlLGFBQWMsS0FDbkN0YyxLQUFLcE4sSUFBSTBQLFVBQVUsQ0FDakI4ZixPQUFPLE1BR1Y5RixPQUFPLGVBQWdCLGNBQWUsS0FDckN0YyxLQUFLcE4sSUFBSTBQLFVBQVUsQ0FDakIrZixRQUFRLE1BR1gxZixHQUFHLFlBQWEsS0FDZjNDLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQ1gsb0JBQW9CZ00sS0FBS3FjLFFBQVFYLEtBQUtqdUIsS0FBSyxzREFFN0NvSCxRQUFReXRCLEtBQUssTUNuQ0wxdkIsRUR1Q0RvTixLQUFLcE4sS0N0Q2Q0TyxJQUFJOGYsU0FBUyxnQkFBaUJ6ZixJQUNsQ2pQLEVBQUk0TyxJQUFJOGYsU0FBUyxTQUFVanJCLElBQzNCekQsRUFBSTRPLElBQUk4ZixTQUFTLFVBQVdwQixJQUM1QnR0QixFQUFJNE8sSUFBSThmLFNBQVMsU0FBVTllLElBQzNCNVAsRUFBSTRPLElBQUk4ZixTQUFTLE1BQU9OLElBQ3hCcHVCLEVBQUk0TyxJQUFJOGYsU0FBUyxRQUFTbEUsSUFDMUJ4cUIsRUFBSTRPLElBQUk4ZixTQUFTLE9BQVFwZixHRGlDekIsQ0FFQSxRQUFBb2YsQ0FBU0MsRUFBWXZaLEdBQ25CLElBQUt1WixFQUFJLE1BQU0sSUFBSUMsVUFBVSxxQkFDN0IsR0FBNkIsbUJBQWxCeFosRUFBT3BCLE9BQXVCLE1BQU0sSUFBSTRhLFVBQVUscUNBQzdELEdBQUl4aEIsS0FBSzRjLEtBQUt0WCxJQUFJaWMsR0FBSyxNQUFNLElBQUlDLFVBQVUsR0FBR3hoQixLQUFLeEwsNkJBQTZCK3NCLE1BQ2hGdmhCLEtBQUs0YyxLQUFLNkUsSUFBSUYsRUFBSXZaLEdBQ2xCLE1BQU11YSxFRGVEckIsR0FBaUJRLGNDZEksT0FBdEJhLElBQ0V2aUIsS0FBS29oQixZQUFZOWIsSUFBSWlkLEdBQ3ZCdmlCLEtBQUtvaEIsWUFBWXJ0QixJQUFJd3VCLElBQW9CeGQsS0FBS3djLEdBRTlDdmhCLEtBQUtvaEIsWUFBWUssSUFBSWMsRUFBbUIsQ0FBQ2hCLElBRy9DLENBRUEsVUFBQUksQ0FBV25CLEdBQ1QsR0FBSXhnQixLQUFLb2hCLFlBQVk5YixJQUFJa2IsR0FBYSxDQUNwQyxNQUFNb0IsRUFBYTVoQixLQUFLb2hCLFlBQVlydEIsSUFBSXlzQixHQUN4Q29CLEdBQVk1RyxRQUFTaFQsSUFDbkJoSSxLQUFLNGMsS0FBS2lGLE9BQU83WixJQUVyQixDQUNGLENBRUEsWUFBQXdhLEdBQ0V4aUIsS0FBSzBILFVBQVVzVCxRQUFTL3FCLElBQ3RCLElBQ0VBLEVBQUsyVyxPQUFPNUcsS0FBS3BOLElBQ25CLENBQUUsTUFBT3BCLEdBQ1B3TyxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsRUFDckIsR0FFSixDQUVBLEdBQUF1QyxDQUFJd3RCLEdBQ0YsT0FBT3ZoQixLQUFLNGMsS0FBSzdvQixJQUFJd3RCLEVBQ3ZCLENBRUEsT0FBQTdaLEdBQ0UsTUFBTyxJQUFJMUgsS0FBSzRjLEtBQUtrRixTQUN2QixDQUVBLFNBQUFsYSxHQUNFLE1BQU8sSUFBSTVILEtBQUs0YyxLQUFLN3NCLE9BQ3ZCLFFFbkZXMHlCLEdBQ01DLE1BQVEsQ0FDdkIsQ0FBQ3RqQixHQUFTM00sU0FBVSxRQUNwQixDQUFDMk0sR0FBU3NCLE1BQU8sT0FDakIsQ0FBQ3RCLEdBQVM5SixNQUFPLFNBQ2pCLENBQUM4SixHQUFTcEwsT0FBUSxPQUdIcEIsSUFDVCt2QixTQUNBQyxRQUNSLFdBQUE5aUIsQ0FBWWxOLEdBQ1ZvTixLQUFLcE4sSUFBTUEsQ0FDYixDQUVRLFNBQUFpd0IsQ0FBVTl3QixLQUFtQnFWLEdBRW5DLEdBREFwSCxLQUFLMmlCLFNBQVczaUIsS0FBS3BOLElBQUl3TixVQUFVLHNCQUM5QkosS0FBS3BOLElBQUl3TixVQUErQixXQUFhSixLQUFLOGlCLGNBQWMvd0IsRUFBTWlPLEtBQUsyaUIsVUFBVyxDQUNqRyxNQUFNSSxFQUFZQyxFQUFNaGpCLEtBQUswaUIsTUFBTTN3QixJQUFvQixZQUFZQSxFQUFLeXNCLG1CQUN4RXBwQixRQUFRcUwsSUFBSXNpQixLQUFjM2IsR0FDMUJwSCxLQUFLNGlCLFFBQ0g1aUIsS0FBS3BOLElBQUl3TixVQUErQixxQkFBdUJ0UixFQUFLckIsS0FBS3VTLEtBQUtwTixJQUFJcU4sUUFBUyxpQkFDN0Y1TCxXQUFXLEtBQ1QsSUFDRSxNQUFNNHVCLEVBQVNqakIsS0FBS2tqQixvQkFBb0JsakIsS0FBSzRpQixTQUM3QyxHQUFJSyxFQUFPRSxRQUFTLENBQ2xCLE1BQU1DLEVBQWEsNEJBQTRCSCxFQUFPSSxpQkFBb0IsS0FBTyxNQUFRLDhCQUN6Rmp1QixRQUFRcUwsSUFBSXVpQixFQUFNTSxPQUFPLG1CQUFvQkYsR0FDN0NwakIsS0FBS3VqQixnQkFBZ0J2akIsS0FBSzRpQixTQUMxQnhiLEVBQUlvYyxRQUFRSixFQUNkLENBQ0FwakIsS0FBS3lqQixlQUFlempCLEtBQUs0aUIsUUFBUzd3QixLQUFTcVYsRUFDN0MsQ0FBRSxNQUFPNVYsR0FDUDRELFFBQVFwQixNQUFNLDRDQUE2Q3hDLEVBQzdELEdBQ0MsRUFDTCxDQUNGLENBRVEsbUJBQUEweEIsQ0FBb0JOLEdBSzFCLEdBQUlyd0IsRUFBR3dDLFdBQVc2dEIsR0FBVSxDQUMxQixNQUFNYyxFQUFjbnhCLEVBQUdnTyxTQUFTcWlCLEdBQVNwaUIsS0FDbkM2aUIsRUFDc0YsS0FBMUYxc0IsR0FBWXFKLEtBQUtwTixJQUFJd04sVUFBK0IsOEJBQWdDLElBQWEsS0FDbkcsTUFBTyxDQUNMK2lCLFFBQVNPLEVBQWNMLEVBQ3ZCSyxjQUNBTCxtQkFFSixDQUNBLE1BQU8sQ0FBRUYsU0FBUyxFQUNwQixDQUVRLGVBQUFJLENBQWdCWCxHQUNsQnJ3QixFQUFHd0MsV0FBVzZ0QixLQUNoQnJ3QixFQUFHb3hCLFdBQVdmLEdBQ2RnQixFQUFlaEIsR0FFbkIsQ0FFUSxjQUFBYSxDQUFlYixFQUFpQjd3QixLQUFpQnFWLEdBQ3ZELElBQ0UsSUFBSTNHLEVBQU0sR0FBR29qQixJQUFRL29CLE9BQU8sbUNBQW1DL0ksRUFBS3lzQixrQkFDcEVwWCxFQUFJNFQsUUFBUy9xQixJQUNQQSxhQUFnQnlULE9BQWtCLFVBQVQzUixFQUMzQjBPLEdBQU8sb0NBQW9DcWpCLEVBQUtocEIsT0FBTzdLLEdBQU04ekIsMENBRXpDLGlCQUFUOXpCLElBQ1RBLEVBQU93RyxLQUFLdXRCLFVBQVUvekIsRUFBTSxLQUFNLElBRXBDd1EsR0FBTyxHQUFHeFEsUUFHZHdRLEdBQU8sS0FDUGxPLEVBQUcweEIsZUFBZXJCLEVBQVNuaUIsRUFDN0IsQ0FBRSxNQUFPalAsR0FDUDRELFFBQVFwQixNQUFNLHNDQUF1Q3hDLEVBQ3ZELENBQ0YsQ0FFUSxhQUFBc3hCLENBQWMvd0IsRUFBYzJ3QixHQUNsQyxZQUFjN3lCLElBQVY2eUIsR0FBaUMsUUFBVkEsSUFDdkJ4MUIsTUFBTW9KLFFBQVFvc0IsR0FDVEEsRUFBTTF5QixLQUFNQyxHQUFpQkEsSUFBUzhCLEdBQWlCLFFBQVQ5QixHQUVoRDhCLElBQVMyd0IsRUFDbEIsQ0FFQSxPQUFBandCLElBQVcyVSxHQUNUcEgsS0FBSzZpQixVQUFVempCLEdBQVMzTSxXQUFZMlUsRUFDdEMsQ0FFQSxJQUFBMUcsSUFBUTBHLEdBQ05wSCxLQUFLNmlCLFVBQVV6akIsR0FBU3NCLFFBQVMwRyxFQUNuQyxDQUVBLEtBQUFwVCxJQUFTb1QsR0FDUHBILEtBQUs2aUIsVUFBVXpqQixHQUFTcEwsU0FBVW9ULEVBQ3BDLENBRUEsSUFBQTlSLElBQVE4UixHQUNOcEgsS0FBSzZpQixVQUFVempCLEdBQVM5SixRQUFTOFIsRUFDbkMsQ0FFQSxLQUFBZ2IsSUFBU2hiLEdBQ0h0USxNQUNGa0osS0FBSzZpQixVQUFVempCLEdBQVNzQixRQUFTMEcsRUFFckMsUUM1R1c4YyxHQUVNdHhCLElBQ2pCLFdBQUFrTixDQUFZbE4sR0FDVm9OLEtBQUtwTixJQUFNQSxDQUNiLENBRUEsYUFBTTBxQixDQUNKN1YsRUFDQTFPLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BQU1vdEIsRUFBNkIsR0FDN0JDLEVBQWlCM2MsRUFDcEJ2RyxJQUFLalIsR0FBaUJvMEIsR0FBd0Jya0IsS0FBS3BOLElBQUszQyxJQUN4RDZ3QixPQUFPN3dCLEdBR0YrUCxLQUFLcE4sSUFBSWdQLGFBQWEwaUIsVUFBVXIwQixFQUFLczBCLFVBQ3ZDSixFQUFpQnBmLEtBQUs5VSxFQUFLczBCLFNBQzNCdmtCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVEsaUNBQWlDeEMsRUFBS3MwQixZQUNwRCxLQUdKdDBCLEVBQUt3QyxTQUtSK3hCLEVBQWVKLEVBQWVsakIsSUFBSWpSLEdBQVFBLEVBQUt3MEIsVUFDL0NDLEVBQWNOLEVBQWVsakIsSUFBSWpSLEdBQVFBLEVBQUtzMEIsU0FDcEQsR0FBSUMsRUFBYXgzQixPQUFTLEVBQUcsQ0FJM0IsTUFBTWkyQixRQUFlampCLEtBQUsya0IsWUFBWSxVQUFXSCxFQUFjeGtCLEtBQUtwTixJQUFJcU4sUUFBU2xILEVBQVNoQyxHQUMxRixHQUFLa3NCLEVBQU8yQixLQWNMLENBQ0wsTUFBTUMsRUFBTTdrQixLQUFLcE4sSUFBSXNQLEtBQUt1WixVQUF1Qiw4Q0FBK0MsQ0FDOUZtSixLQUFNLEdBQUczQixFQUFPMkIsT0FDaEJueEIsS0FBTXd2QixFQUFPeHZCLE9BRWZ1TSxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNNndCLEdBQ25CN2tCLEtBQUtwTixJQUFJd1EsS0FBSyxnQkFBaUIsQ0FDN0IwaEIsTUFBTzlrQixLQUFLcE4sSUFBSXNQLEtBQUt1WixVQUF1Qix3Q0FDNUNzSixLQUFNRixJQU1SLE1BSnlDLENBQ3ZDcHlCLFNBQVMsRUFDVHN5QixLQUFNRixFQUdWLENBNUJFLElBQUssTUFBTTUwQixLQUFRdTBCLFFBQ1h4a0IsS0FBS3BOLElBQUlnUCxhQUFhb2pCLGVBQWUvMEIsR0FFN0MrUCxLQUFLcE4sSUFBSTZOLElBQUloTyxRQUFRdU4sS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsMENBQzFEemIsS0FBS3BOLElBQUl3USxLQUFLLGlCQUFrQixDQUM5QjBoQixNQUFPOWtCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLHlDQUM1Q3NKLEtBQU0sSUFBSUwsS0FBZ0JQLEtBTTVCLE1BSndDLENBQ3RDMXhCLFNBQVMsRUFDVHN5QixLQUFNLElBQUlMLEtBQWdCUCxHQW1CaEMsQ0FBTyxHQUFnQyxJQUE1QkEsRUFBaUJuM0IsT0FBYyxDQUN4QyxNQUFNNjNCLEVBQU03a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsZ0RBQ2pEemIsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTTZ3QixHQUNuQjdrQixLQUFLcE4sSUFBSXdRLEtBQUssZ0JBQWlCLENBQzdCMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsd0NBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3B5QixTQUFTLEVBQ1RzeUIsS0FBTUYsRUFHVixDQUNFN2tCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVF1TixLQUFLcE4sSUFBSXNQLEtBQUt1WixVQUF1QiwwQ0FDMUR6YixLQUFLcE4sSUFBSXdRLEtBQUssaUJBQWtCLENBQzlCMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIseUNBQzVDc0osS0FBTSxJQUFJTCxLQUFnQlAsS0FNNUIsTUFKd0MsQ0FDdEMxeEIsU0FBUyxFQUNUc3lCLEtBQU0sSUFBSUwsS0FBZ0JQLEdBSWhDLENBRUEsZUFBTTVHLENBQVU5VixHQUNkLE1BR01pZCxFQUhpQmpkLEVBQ3BCdkcsSUFBS2pSLEdBQWlCbzBCLEdBQXdCcmtCLEtBQUtwTixJQUFLM0MsSUFDeEQ2d0IsT0FBTzd3QixHQUFRQSxFQUFLd0MsU0FDWXlPLElBQUlqUixHQUFRQSxFQUFLczBCLFNBQ3BELEdBQUlHLEVBQVkxM0IsT0FBUyxFQUFHLENBRzFCLE1BQU1pMkIsUUFBZWpqQixLQUFLMmtCLFlBQVksWUFBYUQsRUFBYTFrQixLQUFLcE4sSUFBSXFOLFNBQ3pFLEdBQUtnakIsRUFBTzJCLEtBY0wsQ0FDTCxNQUFNQyxFQUFNN2tCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLGdEQUFpRCxDQUNoR21KLEtBQU0sR0FBRzNCLEVBQU8yQixPQUNoQm54QixLQUFNd3ZCLEVBQU94dkIsT0FFZnVNLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU02d0IsR0FDbkI3a0IsS0FBS3BOLElBQUl3USxLQUFLLGtCQUFtQixDQUMvQjBoQixNQUFPOWtCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLDBDQUM1Q3NKLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkNweUIsU0FBUyxFQUNUc3lCLEtBQU1GLEVBR1YsQ0E1QkVILEVBQVkxSixRQUFTd0YsSUFDbkJ4Z0IsS0FBS3BOLElBQUlnUCxhQUFhcWpCLGlCQUFpQnpFLEtBRXpDeGdCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVF1TixLQUFLcE4sSUFBSXNQLEtBQUt1WixVQUF1Qiw0Q0FDMUR6YixLQUFLcE4sSUFBSXdRLEtBQUssbUJBQW9CLENBQ2hDMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsMkNBQzVDc0osS0FBTUwsSUFNUixNQUp3QyxDQUN0Q2p5QixTQUFTLEVBQ1RzeUIsS0FBTUwsRUFtQlosQ0FBTyxDQUNMLE1BQU1HLEVBQU03a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsZ0RBQ2pEemIsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTTZ3QixHQUNuQjdrQixLQUFLcE4sSUFBSXdRLEtBQUssa0JBQW1CLENBQy9CMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsMENBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3B5QixTQUFTLEVBQ1RzeUIsS0FBTUYsRUFHVixDQUNGLENBRUEsWUFBTTUyQixDQUNKd1osRUFDQTFPLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BR00ydEIsRUFIaUJqZCxFQUNwQnZHLElBQUtqUixHQUFpQm8wQixHQUF3QnJrQixLQUFLcE4sSUFBSzNDLElBQ3hENndCLE9BQU83d0IsR0FBUUEsRUFBS3dDLFNBQ1l5TyxJQUFJalIsR0FBUUEsRUFBS3MwQixTQUNwRCxHQUFJRyxFQUFZMTNCLE9BQVMsRUFBRyxDQUcxQixNQUFNaTJCLFFBQWVqakIsS0FBSzJrQixZQUFZLFNBQVVELEVBQWExa0IsS0FBS3BOLElBQUlxTixRQUFTbEgsRUFBU2hDLEdBQ3hGLEdBQUtrc0IsRUFBTzJCLEtBV0wsQ0FDTCxNQUFNQyxFQUFNN2tCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLDZDQUE4QyxDQUM3Rm1KLEtBQU0sR0FBRzNCLEVBQU8yQixPQUNoQm54QixLQUFNd3ZCLEVBQU94dkIsT0FFZnVNLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU02d0IsR0FDbkI3a0IsS0FBS3BOLElBQUl3USxLQUFLLGVBQWdCLENBQzVCMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsdUNBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3B5QixTQUFTLEVBQ1RzeUIsS0FBTUYsRUFHVixDQXpCRTdrQixLQUFLcE4sSUFBSTZOLElBQUloTyxRQUFRdU4sS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIseUNBQzFEemIsS0FBS3BOLElBQUl3USxLQUFLLGdCQUFpQixDQUM3QjBoQixNQUFPOWtCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLHdDQUM1Q3NKLEtBQU1MLElBTVIsTUFKd0MsQ0FDdENqeUIsU0FBUyxFQUNUc3lCLEtBQU1MLEVBbUJaLENBQU8sQ0FDTCxNQUFNRyxFQUFNN2tCLEtBQUtwTixJQUFJc1AsS0FBS3VaLFVBQXVCLDZDQUNqRHpiLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU02d0IsR0FDbkI3a0IsS0FBS3BOLElBQUl3USxLQUFLLGVBQWdCLENBQzVCMGhCLE1BQU85a0IsS0FBS3BOLElBQUlzUCxLQUFLdVosVUFBdUIsdUNBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3B5QixTQUFTLEVBQ1RzeUIsS0FBTUYsRUFHVixDQUNGLENBRVEsaUJBQU1GLENBQ1puakIsRUFDQTBqQixFQUNBQyxFQUNBcHNCLEVBQWlDLENBQUEsRUFDakNoQyxFQUFtQixJQUduQixNQUFNc21CLEVBQVd0a0IsRUFBUXNrQixVQUFZcmQsS0FBS3BOLElBQUl3TixVQUErQixxQkFDdkVnZCxFQUFRcmtCLEVBQVFxa0IsT0FBU3BkLEtBQUtwTixJQUFJd04sVUFBK0Isa0JBQ3ZFLGFBQWEsSUFBSXJOLFFBQVNDLElBQ3hCLElBQUkwb0IsRUFBTyxDQUFDbGEsR0FBSzRqQixPQUFPRixHQUFTRSxPQUFPLGtCQUFrQkEsT0FBTyxVQUM3RC9ILElBQ0YzQixFQUFPQSxFQUFLMEosT0FBTyxjQUFjL0gsTUFFL0JELElBQ0YxQixFQUFPQSxFQUFLMEosT0FBTyxXQUFXaEksTUFFaEMsSUFDRSxNQUFNaUksRUFBTUMsRUFBTSxNQUFPNUosRUFBTSxDQUM3QjVtQixJQUFLcXdCLEVBQ0xwdUIsSUFBSyxJQUFLbEMsUUFBUWtDLE9BQVFBLEtBRzVCLElBQUkwSyxFQUFTLEdBQ2I0akIsRUFBSUUsUUFDQTVpQixHQUFHLE9BQVNsUCxJQUNaZ08sR0FBVWhPLElBRVgreEIsS0FBSzN3QixRQUFRMHdCLFFBRWhCRixFQUFJSSxRQUNBOWlCLEdBQUcsT0FBU2xQLElBQ1pnTyxHQUFVaE8sSUFFWCt4QixLQUFLM3dCLFFBQVE0d0IsUUFFaEJKLEVBQUkxaUIsR0FBRyxRQUFVaWlCLElBSWI1eEIsRUFIRzR4QixFQUdLLENBQUVBLE9BQU1ueEIsS0FBTWdPLEdBRmQsQ0FBRW1qQixLQUFNLEVBQUdueEIsS0FBTWdPLE1BTTdCNGpCLEVBQUkxaUIsR0FBRyxRQUFVa2lCLElBQ2Y3a0IsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTTZ3QixHQUNuQjdrQixLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNLHdCQUNuQmdNLEtBQUtwTixJQUFJd1EsS0FBSy9ELEdBQWNtRixPQUFRLHlCQUV4QyxDQUFFLE1BQU9oVCxHQUNQd08sS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTXhDLEdBQ25Cd08sS0FBS3BOLElBQUl3USxLQUFLL0QsR0FBY21GLE9BQVFoVCxFQUN0QyxHQUVKLEVBUUYsTUFBTTZ5QixHQUEwQixDQUFDenhCLEVBQWE4QixLQUM1QyxNQUFNeEIsRUFBTSxDQUNWVCxTQUFTLEVBQ1RneUIsU0FBVSxHQUNWRixRQUFTLElBRUx0QixFQUFTL3RCLEdBQXFCUixFQUFZOUIsRUFBSTZOLEtBQ3BELElBQUt3aUIsRUFDSCxPQUFPL3ZCLEVBSVQsTUFBTXF4QixFQUFVaHZCLEdBQW9CMHRCLEVBQVFyd0IsRUFBSTZOLEtBQ2hELE9BQUs4akIsRUFHRSxDQUNMOXhCLFNBQVMsRUFDVGd5QixTQUFVeEIsRUFDVnNCLFdBTE9yeEIsU0N4UkV3eUIsR0FDTTl5QixJQUNUZ3FCLEtBQWlCLEdBQ1IrSSxTQUFXLElBQUl2a0IsSUFDZndrQixVQUFZLElBQUl2RSxJQUNqQyxXQUFBdmhCLENBQVlsTixHQUNWb04sS0FBS3BOLElBQU1BLEVBQ1hvTixLQUFLa2lCLE1BQ1AsQ0FFUSxJQUFBQSxHQUNOLE1BQU0yRCxFQUFjLzJCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGdCQUNoRCxJQUFLMU4sRUFBR3dDLFdBQVc4d0IsR0FBYyxDQUMvQixNQUFNbHdCLEVBQU0sQ0FDVm5CLEtBQU0sZ0JBQ05pb0IsWUFBYSxnQkFDYnFKLFdBQVksNkNBQ1pDLFFBQVMsT0FFWHh6QixFQUFHcU8sY0FBY2lsQixFQUFhcHZCLEtBQUt1dEIsVUFBVXJ1QixHQUFNLE9BQ3JELENBQ0YsQ0FHUSxhQUFBcXdCLENBQWNwekIsRUFBYTRCLEdBQ2pDLElBQ0UsT0FBT3hCLEVBQVFpekIsS0FBS3p4QixFQUFNLENBQUUweEIsUUFBU3R6QixFQUFJcU4sU0FDM0MsQ0FBRSxNQUFPNGtCLEdBQ1AsT0FBTy8xQixFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLGVBQWdCekwsRUFDaEQsQ0FDRixDQUdBLFVBQU0rbUIsR0FDSixNQUFNNEssRUFBWXIzQixFQUFLckIsS0FBS3VTLEtBQUtwTixJQUFJcU4sUUFBUyxpQkFFOUMsSUFBSzFOLEVBQUd3QyxXQUFXb3hCLEdBQ2pCLE9BQU8sRUFFVCxNQUFNTixFQUFjLzJCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGdCQUMxQ21tQixFQUFPeHdCLEVBQWFpd0IsR0FDcEJRLEVBQU92MkIsT0FBT0MsS0FBS3EyQixFQUFLRSxjQUFnQixDQUFBLEdBQ3hDQyxFQUFVejJCLE9BQU9DLEtBQUtxMkIsRUFBS0ksaUJBQW1CLENBQUEsR0FDOUN0QixFQUFVbUIsRUFBS2pCLE9BQU9tQixHQUFTekYsT0FBUXRzQixJQUMzQyxJQUFLLHdDQUF3Q25ELEtBQUttRCxHQUFPLE9BQU8sRUFDaEUsTUFBTTFGLEVBQU9rUixLQUFLZ21CLGNBQWNobUIsS0FBS3BOLElBQUs0QixHQUMxQyxPQUFPakMsRUFBR3dDLFdBQVdqRyxLQUV2QixJQUFLLE1BQU0rd0IsS0FBVXFGLFFBQ2JsbEIsS0FBS2dsQixlQUFlbkYsR0FFNUIsT0FBTyxDQUNULENBRUEsb0JBQU1tRixDQUFleHdCLEVBQWN3VCxHQUNqQyxHQUFLeFQsR0FBd0IsaUJBQVRBLEVBQXBCLENBSUF3TCxLQUFLMmxCLFNBQVNjLElBQUlqeUIsR0FDbEIsSUFFRSxHQUFLd1QsRUFjRSxDQUdMaEksS0FBSzRjLEtBQUs3WCxLQUFLdlEsR0FDZnV0QixHQUFxQnZ0QixHQUNyQixNQUFNa3lCLEVBQWtCMWUsRUFBT2hJLEtBQUtwTixLQUNwQ29OLEtBQUs0bEIsVUFBVW5FLElBQUlqdEIsRUFBTWt5QixHQUN6QkEsRUFBZ0JwRixTQUFTdGhCLEtBQUtwTixJQUNoQyxNQXJCRSxJQUNpRCxJQUEvQ29OLEtBQUtwTixJQUFJd04sVUFBVSxnQkFBZ0I1TCxXQUNZM0UsSUFBL0NtUSxLQUFLcE4sSUFBSXdOLFVBQVUsZ0JBQWdCNUwsS0FDbkMsQ0FDQXdMLEtBQUs0YyxLQUFLN1gsS0FBS3ZRLEdBQ2Z1dEIsR0FBcUJ2dEIsVUFDQ3dMLEtBQUt5Z0IsVUFBVWpzQixJQUM1QjhzQixTQUFTdGhCLEtBQUtwTixLQUN2QixNQUFNb1YsRUFBUyxnQkFBZ0J4VCxLQUMvQndMLEtBQUtwTixJQUFJd1AsV0FBVyxDQUNsQjRGLENBQUNBLElBQVMsR0FFZCxDQVVKLENBQUUsTUFBT3hXLEdBQ1B3TyxLQUFLNGxCLFVBQVUvRCxPQUFPcnRCLEdBQ3RCd0wsS0FBSzRjLEtBQU81YyxLQUFLNGMsS0FBS2tFLE9BQVE3d0IsR0FBaUJBLElBQVN1RSxHQUN4RHdMLEtBQUsybEIsU0FBUzlELE9BQU9ydEIsR0FDckJ3TCxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsR0FDbkJ3TyxLQUFLcE4sSUFBSXdRLEtBQUsvRCxHQUFjc25CLGFBQWMsQ0FDeEM3QixNQUFPLFVBQVV0d0IsZUFDakJ1d0IsS0FBTXZ6QixHQUVWLENBcENBLE1BRkV3TyxLQUFLcE4sSUFBSTZOLElBQUluTCxLQUFLLDhCQXVDdEIsQ0FFQSxnQkFBQTJ2QixDQUFpQnp3QixHQUNmd0wsS0FBSzRjLEtBQU81YyxLQUFLNGMsS0FBS2tFLE9BQVE3d0IsR0FBaUJBLElBQVN1RSxHQUN4RHdMLEtBQUsybEIsU0FBUzlELE9BQU9ydEIsR0FDckJ3TCxLQUFLNGxCLFVBQVUvRCxPQUFPcnRCLEdBQ3RCdXRCLEdBQXFCdnRCLEdBQ3JCd0wsS0FBS3BOLElBQUltUCxPQUFPZ0YsU0FBUzRhLFdBQVdudEIsR0FDcEN3TCxLQUFLcE4sSUFBSW1QLE9BQU8yRSxZQUFZaWIsV0FBV250QixHQUN2Q3dMLEtBQUtwTixJQUFJbVAsT0FBTzBFLHVCQUF1QmtiLFdBQVdudEIsR0FDbER3TCxLQUFLcE4sSUFBSW1QLE9BQU8rRSxvQkFBb0I2YSxXQUFXbnRCLEdBQy9Dd0wsS0FBS3BOLElBQUltUCxPQUFPb0YsbUJBQW1Cd2EsV0FBV250QixHQUM5Q3dMLEtBQUtwTixJQUFJNE8sSUFBSW1nQixXQUFXbnRCLEdBQ3hCd0wsS0FBS3BOLElBQUl5UCxhQUFhLGVBQWdCN04sRUFDeEMsQ0FHQSxlQUFNaXNCLENBQVVqc0IsR0FDZCxHQUFJd0wsS0FBSzRsQixVQUFVdGdCLElBQUk5USxHQUNyQixPQUFPd0wsS0FBSzRsQixVQUFVN3hCLElBQUlTLEdBSTVCLElBQUlJLEVBQ0osSUFFRUEsRUFBYW9MLEtBQUtnbUIsY0FBY2htQixLQUFLcE4sSUFBSzRCLEVBQzVDLENBQUUsTUFBT3F3QixHQUVQLE1BQU1zQixFQUFZcjNCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGVBQWdCekwsR0FDeERveUIsRUFBa0I5M0IsRUFBS3JCLEtBQUswNEIsRUFBVyxnQkFFN0MsSUFBSTV6QixFQUFHd0MsV0FBVzZ4QixHQXFCaEIsTUFBTSxJQUFJbGpCLE1BQU0sa0NBQWtDbFAsS0FwQmxELElBQ0UsTUFBTXF5QixFQUFjanhCLEVBQWFneEIsR0FDM0JFLEVBQU9ELEVBQVlDLE1BQVFELEVBQVloSCxRQUFVLFdBQ3ZEanJCLEVBQWE5RixFQUFLckIsS0FBSzA0QixFQUFXVyxFQUNwQyxDQUFFLE1BRUEsTUFBTUMsRUFBa0IsQ0FBQyxXQUFZLGVBQWdCLGdCQUFpQixnQkFDdEVueUIsRUFBYSxHQUNiLElBQUssTUFBTW95QixLQUFTRCxFQUFpQixDQUNuQyxNQUFNRSxFQUFZbjRCLEVBQUtyQixLQUFLMDRCLEVBQVdhLEdBQ3ZDLEdBQUl6MEIsRUFBR3dDLFdBQVdreUIsR0FBWSxDQUM1QnJ5QixFQUFhcXlCLEVBQ2IsS0FDRixDQUNGLENBQ0EsSUFBS3J5QixFQUNILE1BQU0sSUFBSThPLE1BQU0sdUNBQXVDbFAsSUFFM0QsQ0FJSixDQUVBLE1BQU0weUIsRUFBWUMsRUFBY3Z5QixHQUFZd3lCLEtBQ3RDQyxRQUFZQyxPQUFPSixHQUNuQmxmLEdBQVVxZixFQUFJdEssU0FBV3NLLEdBQUtybkIsS0FBS3BOLEtBRXpDLE9BREFvTixLQUFLNGxCLFVBQVVuRSxJQUFJanRCLEVBQU13VCxHQUNsQkEsQ0FDVCxDQUtBLE9BQUFOLEdBQ0UsT0FBTzFILEtBQUs0YyxJQUNkLENBRUEsU0FBQTBILENBQVU5dkIsR0FDUixPQUFPd0wsS0FBSzJsQixTQUFTcmdCLElBQUk5USxFQUMzQixDQUtBLFdBQUFrc0IsR0FDRSxNQUFPLElBQUkxZ0IsS0FBSzJsQixTQUNsQixFQzNMRixNQUFNNEIsR0FBVyxJQUFJM25CLEVDb0JmNG5CLEdBQWEsSUFBSUMsRUFBTUMsTUFBTSxDQUNqQ0MsV0FBWSxVQUNaQyxXQUFZLFVBQ1pDLG9CQUFvQixJQUl0QixTQUFTQyxHQUFlQyxFQUFnQmwzQixFQUFhNEMsR0FDL0IsaUJBQVRBLEdBQXFCLFVBQVdBLEdBQVEsWUFBYUEsRUFDOURzMEIsRUFBS0MsT0FBT24zQixFQUFLNEMsRUFBSzJzQixNQUFPM3NCLEVBQUtzRixTQUVsQ2d2QixFQUFLQyxPQUFPbjNCLEVBQUs0QyxFQUVyQixDQXNFQSxTQUFTdzBCLEdBQW9CQyxHQUMzQixNQUFPLElBQ0ZBLEVBQ0hDLFdBQVlELEVBQVNFLE9BQ3JCckQsS0FBTW1ELEVBQVN6MEIsS0FFbkIsQ0FFQSxTQUFTNDBCLEdBQXFCcjBCLEdBQzVCLE1BQU1zMEIsRUFBVyxDQUNmbDFCLE9BQVFZLEdBQU9xQyxRQUFRakQsUUFBUW9yQixlQUFpQixHQUNoRDF4QixJQUFLa0gsR0FBT3FDLFFBQVF2SixLQUFPLEdBQzNCcTdCLFdBQVluMEIsR0FBT2swQixVQUFVRSxRQUFVLEVBQ3ZDbDBCLFFBQVNGLEdBQU9FLFNBQVcsR0FDM0I2dkIsTUFBTy92QixHQUFPK3ZCLE9BQVMsQ0FBQSxFQUN2Qm1FLFNBQVUsQ0FDUkUsT0FBUXAwQixHQUFPazBCLFVBQVVFLFFBQVUsRUFDbkNELFdBQVluMEIsR0FBT2swQixVQUFVRSxRQUFVLEVBQ3ZDckQsS0FBTS93QixHQUFPazBCLFVBQVV6MEIsTUFBUSxLQUduQyxPQUFPVixRQUFRRSxPQUFPcTFCLEVBQ3hCLE9BRWF4bUIsR0FDTWxQLElBQ1R3cUIsTUFBNkIsR0FDckNya0IsUUFBbUMsQ0FBQSxFQUNuQyxXQUFBK0csQ0FBWWxOLEdBQ1ZvTixLQUFLcE4sSUFBTUEsRUFDWG9OLEtBQUtraUIsT0FDTHFGLEdBQVM1a0IsR0FBR3JELEdBQVVpcEIsY0FBZ0I5MEIsSUFDcEMsT0FBUUEsRUFBS3NzQixZQUNYLElBQUssU0FDRXRzQixFQUFLMnNCLE9BQTZCaEQsUUFDckNwZCxLQUFLb2QsTUFBUzNwQixFQUFLMnNCLE1BQTRCaEQsT0FFakQsTUFDRixJQUFLLGVBQ0hwZCxLQUFLb2QsTUFBUTNwQixFQUFLMnNCLFFBSTFCLENBRVEsSUFBQThCLEdBQ04sTUFBTTlFLEVBQVFwZCxLQUFLcE4sSUFBSXdOLFVBQStCLGdCQUNsRGdkLElBQ0ZwZCxLQUFLb2QsTUFBUUEsRUFFakIsQ0FFUSxXQUFBb0wsR0FDTixHQUFJeG9CLEtBQUtvZCxNQUNQLElBQ0UsTUFBTXFMLEVBQWUsSUFBSTcwQixFQUFJb00sS0FBS29kLE9BQ2xDLE1BQU8sQ0FDTHNMLEtBQU1ELEVBQWFFLFNBQ25CQyxLQUFNajRCLFNBQVM4M0IsRUFBYUcsTUFBUSxJQUFLLElBQ3pDQyxTQUFVSixFQUFhSSxTQUUzQixDQUFFLE1BQU9yM0IsR0FFVCxDQUVGLE9BQU8sQ0FDVCxDQUdBLE9BQUEyQixDQU9FNEYsR0FDQWlILEtBQUtqSCxRQUFRcWtCLE1BQVFwZCxLQUFLd29CLGNBQzFCeG9CLEtBQUtqSCxRQUFRK3ZCLFFBQVUvdkIsRUFBUSt2QixTQUFXLENBQUEsRUFDMUM5b0IsS0FBS2pILFFBQVFnd0IsY0FBZ0JDLElBQzdCaHBCLEtBQUtqSCxRQUFRa3dCLGlCQUFtQkQsSUFDNUJocEIsS0FBS2pILFFBQVFxa0IsT0FBU3JrQixFQUFRak0sS0FBS21ILFdBQVcsYUFDaEQrTCxLQUFLakgsUUFBUXl1QixXQUFhMEIsRUFBYyxDQUN0QzlMLE1BQU8sQ0FDTHNMLEtBQU0xb0IsS0FBS2pILFFBQVFxa0IsTUFBTXNMLEtBQ3pCRSxLQUFNNW9CLEtBQUtqSCxRQUFRcWtCLE1BQU13TCxRQUc3QjVvQixLQUFLakgsUUFBUXFrQixPQUFRLEdBRXJCcGQsS0FBS2pILFFBQVF5dUIsV0FBYUEsR0FJNUIsTUFBTTJCLEVBQVd4b0IsRUFBTXlvQixPQUFPcHBCLEtBQUtqSCxTQUNuQ293QixFQUFTRSxhQUFhbkIsU0FBU2xILElBQUlpSCxHQUFxQkksSUFHeEQsTUFBTWlCLEVBdEtWLFNBQTRCdndCLEdBRzFCLElBQUl3d0IsR0FBaUIsRUFDckIsTUFBTUQsRUFFRixJQUNDdndCLEVBQ0hqTSxJQUFNaU0sRUFBUWpNLEtBQWtCLEdBQ2hDZzhCLFFBQVMvdkIsRUFBUSt2QixTQUFXLENBQUEsR0FHOUIsR0FBSS92QixFQUFRcWtCLE1BQU8sQ0FDakIsSUFBSXFMLEVBQWUxdkIsRUFBUXFrQixNQUMzQixHQUE0QixpQkFBakJxTCxFQUEyQixDQUNwQyxJQUNFQSxFQUFlLElBQUk3MEIsRUFBSW1GLEVBQVFxa0IsTUFDakMsQ0FBRSxNQUFPNXJCLEdBQ1BpM0IsR0FBZSxFQUNmYSxFQUFJbE0sT0FBUSxFQUNaaG9CLFFBQVFwQixNQUFNeEMsRUFDaEIsQ0FDQSszQixHQUFpQixDQUNuQixDQUNJZCxJQUNFMXZCLEVBQVFqTSxLQUFLbUgsV0FBVyxhQUMxQnExQixFQUFJbE0sT0FBUSxFQUNaa00sRUFBSTlCLFdBQWEwQixFQUFjLENBQzdCOUwsTUFBTyxDQUNMc0wsS0FBTUQsR0FBY0UsU0FDcEJDLEtBQU1qNEIsU0FBUzgzQixHQUFjRyxLQUFNLFFBSXZDVSxFQUFJbE0sTUFBUSxDQUNWc0wsS0FBTUQsRUFBYUUsU0FDbkJDLEtBQU1qNEIsU0FBUzgzQixFQUFhRyxLQUFNLElBQ2xDQyxTQUFVLFFBSWxCLENBQ0EsR0FBSSxhQUFjOXZCLEVBQVMsQ0FDekIsTUFBTWd2QixFQUFPLElBQUl5QixFQUNqQixJQUFLLE1BQU0zNEIsS0FBT2tJLEVBQVEwd0IsU0FFeEIzQixHQUFlQyxFQUFNbDNCLEVBRFJrSSxFQUFRMHdCLFNBQVM1NEIsSUFHaEN5NEIsRUFBSTcxQixLQUFPczBCLEVBQ1h1QixFQUFJUixRQUFVaDVCLE9BQU80NUIsT0FBT0osRUFBSVIsU0FBVyxDQUFBLEVBQUlmLEVBQUs0QixjQUNwREosR0FBaUIsU0FFVkQsRUFBSUcsUUFDYixDQVlBLE1BWEksU0FBVTF3QixJQUNadXdCLEVBQUk3MUIsS0FBT3NGLEVBQVFnc0IsS0FDbkJ3RSxHQUFpQixTQUVWRCxFQUFJdkUsTUFFVCxPQUFRaHNCLElBQ1Z1d0IsRUFBSTl1QixPQUFTekIsRUFBUTZ3QixHQUNyQkwsR0FBaUIsR0FFbkJELEVBQUlDLGVBQWlCQSxFQUNkRCxDQUNULENBb0dnQk8sQ0FBbUI5d0IsR0FvQi9CLE9BbEJBb3dCLEVBQVNFLGFBQWFsMkIsUUFBUTZ0QixJQUFJLFNBQVU4SSxHQUUxQyxJQUFJQyxFQUFjLEdBY2xCLE9BYklELEdBQUtoQixTQUFTaUIsYUFDaEJBLEVBQWNELEVBQUloQixRQUFRaUIsbUJBQ25CRCxFQUFJaEIsUUFBUWlCLGFBQ1ZELEdBQUtoQixTQUFTa0IsYUFDdkJELEVBQWNELEVBQUloQixRQUFRa0IsbUJBQ25CRixFQUFJaEIsUUFBUWtCLGFBQ1ZGLEdBQUtoQixVQUFVLGtCQUN4QmlCLEVBQWNELEVBQUloQixRQUFRLHVCQUNuQmdCLEVBQUloQixRQUFRLGlCQUVELEtBQWhCaUIsR0FBc0JELEVBQUloQixVQUM1QmdCLEVBQUloQixRQUFRLGdCQUFrQmlCLEdBRXpCRCxDQUNULEdBQ0ksNEJBQTZCL3dCLEdBQVdBLEVBQVExRix3QkFDM0M4MUIsRUFBU2gyQixRQUFRbTJCLEdBRWpCSCxFQUFTaDJCLFFBQVFtMkIsR0FBSy8xQixLQUFLTCxHQUU1Qm8yQixFQUFJQyxlQUNGLFNBQVV4d0IsRUFDUkEsRUFBUXF0QixLQUNIbHpCLEVBQUlPLFVBRGIsRUFJT2dELEtBQUt1dEIsVUFBVTl3QixFQUFJTyxNQUdyQlAsRUFBSU8sS0FJbkIsRUMxT0YsSUFBQXcyQixHQUFlLFFBTEE5M0IsTUFBT1MsSUFDcEJBLEVBQUk2TyxPQUFPc0QsUUFBUW5TLEVBQUk5RSxPQUNoQjhFLElDQ1QsTUFxQ01zM0IsR0FBYSxDQUFDdDNCLEVBQWFoQixFQUFjOUMsS0FDN0MsTUFBTWtELEVBQVlMLEdBQWFDLEdBUy9CLE9BUktJLEVBQVVDLE9BQ08saUJBQVRuRCxFQUNUOEQsRUFBSTZOLElBQUluTCxLQUFLLGFBQWF4RyxrQkFFMUI4RCxFQUFJNk4sSUFBSW5MLEtBQUssd0JBRWYxQyxFQUFJNk4sSUFBSW5MLEtBQUssMEJBRVJ0RCxHQUdULElBQUFtNEIsR0FBZSxRQWxEQWg0QixNQUFPUyxJQUNwQixNQUFNdzNCLEVBQXNCeDNCLEVBQUk2TyxPQWlDaEMsYUFoQ00xTyxRQUFRZ1YsSUFDWm5WLEVBQUk5RSxNQUFNb1QsSUFBSS9PLE1BQU9sQyxFQUF1QmdWLEtBQzFDLElBQUl2RSxFQWFKLEdBWEVBLEVBREVwSSxPQUFPK3hCLFNBQVNwNkIsR0FDWCxDQUNMd0MsU0FBUyxFQUNUSCxPQUFRckMsRUFDUm9DLFNBQVUsR0FDVnJELFFBQVMsSUFFRm9DLEdBQU1uQixTQUNGMEMsR0FBVzFDLEVBQU0yQyxTQUVqQlYsR0FBVWpDLEdBRXJCeVEsRUFBS2pPLFNBQVdpTyxFQUFLcE8sT0FBUSxDQUMvQixNQUFNZzRCLEVBQVVKLEdBQVd0M0IsRUFBSzhOLEVBQUtwTyxPQUFRckMsR0FDdkNqQixFQUFVMFIsRUFBSzFSLFNBQVdzN0IsRUFBUXQ3QixTQUFXLE9BQ25EbzdCLEVBQVFubEIsR0FBUyxDQUNmM1MsT0FBUW9PLEVBQUtwTyxPQUNiRCxTQUFVcU8sRUFBS3JPLFVBQVksR0FBR3d4QixJQUFRL29CLE9BQU8sdUJBQXVCOUwsSUFDcEU2QyxNQUFPeTRCLEVBQVF6NEIsTUFDZkMsT0FBUXc0QixFQUFReDRCLE9BQ2hCOUMsUUFBUzBSLEVBQUsxUixRQUVsQixNQUNFNEQsRUFBSTZOLElBQUl6TSxNQUFNME0sRUFBS2hPLFdBS3pCRSxFQUFJNk8sT0FBUzJvQixFQUFRdEosT0FBTzd3QixHQUFRQSxHQUM3QjJDLElDbkNULE1DQ00yM0IsR0FBYyxDQUNsQnh5QixFQUNBMUYsRUFDQW00QixFQUNBcDNCLEVBQ0EwMUIsRUFDQS9ELEVBQ0EwRixLQUFtQixDQUVuQnIzQixPQUFRQSxFQUFPb3JCLGNBQ2YxeEIsSUFBSzA5QixFQUNMMUIsUUFBUyxDQUNQaUIsWUFBYSxzQkFDYixhQUFjLGFBQ1hqQixHQUVMVyxTQUFVLENBQ1JnQixDQUFDQSxHQUFjLENBQ2JySyxNQUFPcm9CLEVBQ1BnQixRQUFTLENBQUUyeEIsU0FBVXI0QixPQUVwQjB5QixHQUVMcUIsTUFBTSxJQUdGeGYsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU0rM0IsRUFBc0IvM0IsRUFBSXdOLFVBQWdDLHdCQUNoRSxJQUFLdXFCLEVBQXFCLE1BQU0sSUFBSWpuQixNQUFNLHFDQUUxQyxNQUFNa25CLEVBQVVoNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU95ekIsRUFDaEIsR0FBSXp6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU15RixFQUFRWixFQUFJN0UsU0FBVzZFLEVBQUlvUCxZQUFjak8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFVBQVksTUFDeEYsSUFBS3hPLEVBQU8sU0FFWixNQUFNOHlCLEVBQWFOLEdBQ2pCeHlCLEVBQ0FaLEVBQUk5RSxTQUNKczRCLEVBQW9CSCxTQUNwQkcsRUFBb0J2M0IsUUFBVSxPQUM5QnFELEtBQUtDLE1BQU1pMEIsRUFBb0I3QixTQUFXLE1BQzFDcnlCLEtBQUtDLE1BQU1pMEIsRUFBb0I1RixNQUFRLE1BQ3ZDNEYsRUFBb0JGLGFBQWUsUUFHckMsSUFBSTFGLFFBQWNueUIsRUFBSU8sUUFBUTAzQixHQUM5QjlGLEVBQXVCLGlCQUFUQSxFQUFvQnR1QixLQUFLQyxNQUFNcXVCLEdBQVFBLEVBR3JELElBQUkrRixFQUFXL0YsRUFDZixNQUFNZ0csRUFBY0osRUFBb0JJLGFBQWUsV0FDdkQsSUFBSyxNQUFNbDZCLEtBQU9rNkIsRUFBWS81QixNQUFNLEtBQU0sQ0FDeEMsSUFBSTg1QixHQUFnQyxpQkFBYkEsS0FBeUJqNkIsS0FBT2k2QixHQUVoRCxDQUNMQSxPQUFXajdCLEVBQ1gsS0FDRixDQUpFaTdCLEVBQVdBLEVBQVNqNkIsRUFLeEIsQ0FFQSxJQUFJaTZCLEdBQWdDLGlCQUFiQSxFQWlCckIsTUFMQWw0QixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNQSxFQUFLN3dCLFVBRWJrQixRQUFRcEIsTUFBTSwrQkFBZ0Mrd0IsR0FDeEMsSUFBSXJoQixNQUFNcWhCLEVBQUs3d0IsU0FkckIsVUFGT2lELEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNQcTRCLEVBQW9CSyxRQUFTLENBQy9CLE1BQU0zNEIsRUFBV3k0QixFQUFTOTVCLE1BQU0sS0FBS2k2QixPQUFTSCxFQUk5Q0EsR0FIZ0JILEVBQW9CSyxRQUFROVAsU0FBUyxLQUNqRHlQLEVBQW9CSyxRQUNwQkwsRUFBb0JLLFFBQVUsS0FDYjM0QixDQUN2QixDQUNBOEUsRUFBSW1RLE9BQVNxakIsRUFBb0JPLGFBQWVQLEVBQW9CTyxhQUFlSixFQUFXQSxDQVNsRyxDQUVGLE9BQU9sNEIsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU04c0IsRUFBYTlzQixFQUFJd04sVUFBZ0MseUJBQTJCLENBQUEsRUFFNUUrcUIsRUFBb0IsQ0FDeEIzMkIsRUFDQXpDLEVBQ0Fvc0IsRUFDQUMsR0FBb0IsRUFDcEJFLEtBQVksQ0FFWjlwQixPQUNBekMsT0FDQSxVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLHdCQUF3QmpuQixFQUFLZ3FCLGdCQUN0RSxFQUNBLFNBQUlyQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qix3QkFBd0JqbkIsRUFBS2dxQixnQkFDdEUsRUFDQSxXQUFJdHFCLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsZ0NBQWdDam5CLEVBQUtncUIsZ0JBQzlFLEVBQ0F6QixRQUFTMkMsRUFBV2xyQixJQUF1QzJwQixFQUMzREMsY0FDR0UsSUFHTCxNQUFPLENBQ0w2TSxFQUFrQixXQUFZLFFBQVMsSUFBSSxHQUMzQ0EsRUFBa0IsU0FBVSxPQUFRLFFBQVEsRUFBTyxDQUFFck8sUUFBUyxDQUFDLE9BQVEsTUFBTyxTQUM5RXFPLEVBQWtCLGNBQWUsUUFBUyxRQUMxQ0EsRUFBa0IsVUFBVyxRQUFTLE1BQ3RDQSxFQUFrQixPQUFRLFFBQVMsTUFDbkNBLEVBQWtCLGVBQWdCLFFBQVMsSUFDM0NBLEVBQWtCLFVBQVcsUUFBUyxJQUN0Q0EsRUFBa0IsY0FBZSxRQUFTLGNDOUc5QyxNQXNCTVosR0FBYyxDQUFDejlCLEVBQWFzK0IsRUFBZS80QixFQUFrQkQsRUFBa0IyRixLQUM1RSxDQUNMM0UsT0FBUSxNQUNSdEcsSUFBSyxHQUFHQSxnQkFDUmc4QixRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHNCLGNBQWVELEVBQ2YsWUFBYXJOLG1CQUFtQjNyQixJQUVsQ3EzQixTQUFVLENBQ1I3M0IsS0FBTSxDQUNKd3VCLE1BQU9yb0IsRUFDUGdCLFFBQVMsQ0FDUDJ4QixTQUFVcjRCLEtBSWhCZ0IseUJBQXlCLElBSXZCaTRCLEdBQWlCLENBQUMxNEIsRUFBYU0sS0FDbkMsR0FBdUIsTUFBbkJBLEVBQUlpMUIsWUFBd0MsTUFBbEJqMUIsRUFBSTZ4QixLQUFLSCxNQUFxQyxZQUFyQjF4QixFQUFJNnhCLEtBQUs3d0IsUUFNOUQsTUFMQXRCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1ueUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw4QkFDdENqa0IsS0FBTXRFLEVBQUk2eEIsS0FBSzd3QixVQUVYLElBQUl3UCxNQUFNeFEsRUFBSTZ4QixLQUFLN3dCLFVBSXZCcTNCLEdBQW1CLENBQUN6K0IsRUFBYXMrQixFQUFlckcsS0FBUyxDQUM3RDN4QixPQUFRLE9BQ1J0RyxNQUNBZzhCLFFBQVMsQ0FDUHVDLGNBQWVELEVBQ2YsZUFBZ0Isb0JBRWxCckcsT0FDQTF4Qix5QkFBeUIsSUFHckJtNEIsR0FBaUJuMUIsSUFDckIsTUFBTXZKLElBQUVBLEVBQUdzK0IsTUFBRUEsRUFBS0ssU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY3YxQixFQUMzRSxNQUFPLENBQ0x2SixLQUFNQSxHQUFPLElBQUk2QyxRQUFRLE1BQU8sSUFDaEN5N0IsTUFBT0EsR0FBUyxHQUNoQkssU0FBVUEsR0FBWSxHQUN0QkMsU0FBVUEsR0FBWSxHQUN0QkMsV0FBWW5PLEdBQWlCLENBQzNCMXVCLEtBQU02OEIsR0FBYyxHQUNwQmxPLFlBQVksRUFDWkMsVUFBVSxFQUNWQyxhQUFhLElBRWZxTixRQUFTQSxFQUNMeE4sR0FBaUIsQ0FDZjF1QixLQUFNazhCLEdBQVcsR0FDakJ2TixZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsYUFBYSxJQUVmLEdBQ0ppTyxXQUFZQSxHQUFhLElBQUlqOEIsUUFBUSxNQUFPLE1BSTFDaVgsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1pNUIsRUFBY2o1QixFQUFJd04sVUFBd0IscUJBQ2hELElBQUt5ckIsRUFBYSxNQUFNLElBQUlub0IsTUFBTSw4QkFFbEMsTUFBTTVXLElBQUVBLEVBQUcyK0IsU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY0osR0FBY0ssR0FDbEYsSUFBSVQsTUFBRUEsR0FBVUksR0FBY0ssR0FJOUIsR0FIS1QsSUFDSEEsT0FsR2tCajVCLE9BQU9TLEVBQWE5RixFQUFhMitCLEVBQWtCQyxLQUN2RSxNQUFNSSxFQUFhbDVCLEVBQUl3TixVQUE0QixtQ0FDbkQsR0FBSTByQixHQUFjQSxFQUFXQyxhQUFlcjlCLEtBQUtELE1BQVFxOUIsRUFBV0MsWUFBYyxNQUFXRCxFQUFXVixNQUN0RyxPQUFPVSxFQUFXVixNQUVwQixNQUFNbDRCLFFBQVl5TixFQUFNcXJCLEtBQUssR0FBR2wvQixtQkFBc0IsQ0FDcEQyK0IsV0FDQUMsYUFFRixHQUFzQixNQUFsQng0QixFQUFJTyxLQUFLbXhCLE1BQXFDLFlBQXJCMXhCLEVBQUlPLEtBQUtTLFFBQXVCLENBQzNELE1BQU1rM0IsRUFBUWw0QixFQUFJTyxLQUFLQSxLQUFLMjNCLE1BTzVCLE9BTkF4NEIsRUFBSXdQLFdBQVcsQ0FDYixrQ0FBbUMsQ0FDakNncEIsUUFDQVcsWUFBYXI5QixLQUFLRCxTQUdmMjhCLENBQ1QsQ0FDQSxNQUFNLElBQUkxbkIsTUFBTSxxQkErRUF1b0IsQ0FBY3I1QixFQUFLOUYsRUFBSzIrQixFQUFVQyxLQUU3QzUrQixLQUFTcytCLEdBQVVLLEdBQVlDLEdBQVksTUFBTSxJQUFJaG9CLE1BQU0sbUNBRWhFLE1BQU1rbkIsRUFBVWg0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBT3l6QixFQUNoQixHQUFJenpCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSW9QLGNBQ2hCeE8sRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFdBRXZDLE1BQU0ybEIsRUFBaUIsR0FBR1AsSUFBYXgwQixFQUFJOUUsV0FDckN3NEIsRUFBYU4sR0FBWXo5QixFQUFLcytCLEVBQU9qMEIsRUFBSTlFLFNBQVU2NUIsRUFBZ0JuMEIsR0FDbkVvMEIsUUFBbUJ2NUIsRUFBSU8sUUFBUTAzQixHQUNyQ1MsR0FBZTE0QixFQUFLdTVCLEdBRXBCLE1BQU1DLFFBQW9CeDVCLEVBQUlPLFFBQzVCbzRCLEdBQWlCLEdBQUd6K0IsZ0JBQW1CcytCLEVBQU8sQ0FDNUNNLFNBQVUsR0FDVlcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsRUFDVHo5QixLQUFNQSxFQUFLbEMsUUFBUXMvQixNQUd2QlosR0FBZTE0QixFQUFLdzVCLEdBRXBCLE1BQU1JLFFBQW9CNTVCLEVBQUlPLFFBQzVCbzRCLEdBQWlCLEdBQUd6K0IsZUFBa0JzK0IsRUFBTyxDQUMzQ00sU0FBVSxHQUNWNThCLEtBQU1vOUIsRUFDTkcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsS0FHYmpCLEdBQWUxNEIsRUFBSzQ1QixHQUVwQixNQUFNQyxFQUFPRCxFQUFXekgsS0FBS3R4QixLQUFLZzVCLEtBQzVCQyxFQUFjN08sR0FBVyxHQUFHbU4sR0FBV1csSUFBYXgwQixFQUFJOUUsWUFDOUQ4RSxFQUFJbVEsT0FBUyxHQUFHc2tCLEdBQWE5K0IsSUFBTTgrQixHQUFhQSxJQUFjOStCLEVBQU0sR0FBSyxPQUFPNC9CLElBQ2hGdjFCLEVBQUltUSxRQUFZc2tCLEdBQWFBLElBQWM5K0IsSUFBUTIvQixFQUF5QixHQUFsQixTQUFTQSxXQUM1RHQxQixFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsTUFDYixDQUVGLE9BQU9NLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQXdCLHNCQUF3QixDQUFBLEVBQ3ZFLE1BQU8sQ0FDTDZkLEdBQVlyckIsRUFBSyxRQUFTLE1BQU8sUUFBUzhzQixFQUFXNXlCLEtBQU8sSUFBSSxPQUFNK0MsRUFBVyxDQUMvRSxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwyQkFDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLFFBQVMsUUFBUzhzQixFQUFXMEwsT0FBUyxJQUFJLE9BQU92N0IsRUFBVyxDQUNwRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2QkFDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLFdBQVksUUFBUzhzQixFQUFXK0wsVUFBWSxJQUFJLE9BQU81N0IsRUFBVyxDQUMxRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLFdBQVksUUFBUzhzQixFQUFXZ00sVUFBWSxJQUFJLE9BQU83N0IsRUFBVyxDQUMxRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLGFBQWMsUUFBUzhzQixFQUFXaU0sWUFBYyxJQUFJLE9BQU85N0IsRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixtQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLFVBQVcsUUFBUzhzQixFQUFXc0wsU0FBVyxJQUFJLE9BQU9uN0IsRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLFlBQWEsUUFBUzhzQixFQUFXa00sV0FBYSxJQUFJLE9BQU8vN0IsRUFBVyxDQUM1RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixpQ0FDekMsTUM1TE4sTUFBTWtSLEdBQW9CLEtBQWMsSUFBSWorQixNQUFPaytCLGNBRzdDQyxHQUFvQixDQUFDOXpCLEVBQXdCMUcsS0FDakQsTUFBTXk2QixFQUFPSCxLQUVQSSxFQUFhLFVBREZDLEVBQUtDLFFBQVE1NkIsSUFBYSwrQkFDRHk2QixPQUFVL3pCLEVBQVFtMEIsVUFBVW4wQixFQUFRakssT0FBT3VELElBQy9FODZCLEVBQVlwL0IsRUFBT3EvQixXQUFXLE9BQVFyMEIsRUFBUXMwQixpQkFBaUJwL0IsT0FBTzgrQixHQUFZNytCLE9BQU8sVUFDL0YsTUFBTyxPQUFPNkssRUFBUXUwQixlQUFlSCxLQUdqQzVDLEdBQWMsQ0FDbEJ4eEIsRUFDQTFHLEVBQ0E4NkIsRUFDQXAxQixLQUFhLENBRWIzRSxPQUFRLE1BQ1J0RyxJQUFLLFdBQVdpTSxFQUFRbTBCLFVBQVVuMEIsRUFBUXcwQixxQkFBcUIxUCxHQUFXLEdBQUc5a0IsRUFBUWpLLE9BQU91RCxPQUM1RnkyQixRQUFTLENBQ1AwRSxLQUFNLEdBQUd6MEIsRUFBUW0wQixVQUFVbjBCLEVBQVF3MEIsb0JBQ25DbEMsY0FBZThCLEVBQ2Z6K0IsS0FBTWkrQixLQUNOLGVBQWdCSyxFQUFLQyxRQUFRNTZCLElBQWEsNEJBRTVDMHlCLEtBQU1odEIsRUFDTjFFLHlCQUF5QixJQUdyQnVULEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNNjZCLEVBQWdCNzZCLEVBQUl3TixVQUF5QixpQkFDbkQsSUFBS3F0QixFQUFlLE1BQU0sSUFBSS9wQixNQUFNLGdDQUVwQytwQixFQUFjMytCLEtBQU8wdUIsR0FBaUIsQ0FBRTF1QixLQUFNMitCLEVBQWMzK0IsT0FDNUQsTUFBTWs4QixFQUFVeE4sR0FBaUIsQ0FBRTF1QixLQUFNMitCLEVBQWN6QyxVQUV2RCxJQUNFLE1BQVF2cEIsT0FBUW1wQixHQUFZaDRCLEVBQ3RCZzVCLEdBQWE2QixFQUFjN0IsV0FBYSxJQUFJajhCLFFBQVEsTUFBTyxLQUMzRGIsS0FBRUEsRUFBSW8rQixPQUFFQSxFQUFNSyxLQUFFQSxFQUFNeDBCLFFBQVMyMEIsRUFBYSxJQUFPRCxFQUV6RCxJQUFLLE1BQU10MkIsS0FBT3l6QixFQUNoQixHQUFJenpCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTTY2QixFQUFZTixHQUFrQlksRUFBZXQyQixFQUFJOUUsVUFDakQwRixFQUFRWixFQUFJN0UsUUFBVWdHLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYyxVQUNwRHhOLEVBQVV3eEIsR0FBWWtELEVBQWV0MkIsRUFBSTlFLFNBQVU4NkIsRUFBV3AxQixHQUdwRSxHQUF3QixhQUZMbkYsRUFBSU8sUUFBUTRGLElBRXRCb3ZCLFdBUVAsTUFBTSxJQUFJemtCLE1BQU0saUJBUlcsUUFDcEJ2TSxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWCxNQUFNbzZCLEVBQWM3TyxHQUFXLEdBQUdtTixHQUFXbDhCLElBQU9xSSxFQUFJOUUsWUFDeEQ4RSxFQUFJbVEsT0FBU3NrQixFQUNULEdBQUdBLEtBQWFjLElBQWNnQixJQUM5QixXQUFXUixLQUFVSyxrQkFBcUJiLElBQWNnQixHQUM5RCxDQUdGLENBRUYsT0FBTzk2QixDQUNULENBQUUsTUFBT2l5QixHQUtQLE1BSkFqeUIsRUFBSXdRLEtBQUsvRCxHQUFjc25CLGFBQWMsQ0FDbkM3QixNQUFPbHlCLEVBQUlzUCxLQUFLdVosVUFBdUIsaUJBQ3ZDc0osS0FBTW55QixFQUFJc1AsS0FBS3VaLFVBQXVCLG9CQUVsQ29KLENBQ1IsR0FHSXh1QixHQUFVekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQXlCLGtCQUFvQixDQUFBLEVBQ3BFLE1BQU8sQ0FDTDZkLEdBQVlyckIsRUFBSyxXQUFZLGNBQWUsUUFBUzhzQixFQUFXNE4sYUFBZSxJQUFJLEdBQ25GclAsR0FBWXJyQixFQUFLLFdBQVksa0JBQW1CLFFBQVM4c0IsRUFBVzJOLGlCQUFtQixJQUFJLEdBQzNGcFAsR0FBWXJyQixFQUFLLFdBQVksU0FBVSxRQUFTOHNCLEVBQVd3TixRQUFVLElBQUksR0FDekVqUCxHQUFZcnJCLEVBQUssV0FBWSxPQUFRLFFBQVM4c0IsRUFBVzZOLE1BQVEsSUFBSSxPQUFNMTlCLEVBQVcsQ0FDcEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsK0JBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssV0FBWSxPQUFRLFFBQVM4c0IsRUFBVzV3QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNyRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwrQkFDekMsSUFFRndDLEdBQVlyckIsRUFBSyxXQUFZLFVBQVcsUUFBUzhzQixFQUFXc0wsU0FBVyxJQUFJLE9BQU9uN0IsRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixrQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxXQUFZLFlBQWEsUUFBUzhzQixFQUFXa00sV0FBYSxJQUFJLE9BQU8vN0IsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixvQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxXQUFZLFVBQVcsUUFBUzhzQixFQUFXM21CLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixrQ0FDekMsTUNuR04sTUFBTWtTLEdBQ0piLEtBQ0Fwc0IsS0FFQXlnQixjQUFnQixDQUNkLE9BQ0EsUUFDQSxNQUNBLFdBQ0EsV0FDQSxVQUNBLE1BQ0EsU0FDQSxjQUNBLE9BQ0EsU0FDQSxZQUNBLGVBR0YsV0FBQXJoQixDQUFZWSxHQUNWVixLQUFLOHNCLEtBQU8sSUFBSXArQixLQUNoQnNSLEtBQUtVLEtBQU9BLENBQ2QsQ0FFTyxJQUFBL1IsR0FDTCxNQUFPLEdBQUdxUixLQUFLOHNCLEtBQUtsK0IsZUFDdEIsQ0FFTyxLQUFBZy9CLEdBQ0wsT0FBUTV0QixLQUFLOHNCLEtBQUszOUIsV0FBYSxHQUFHdkIsV0FBVzZCLFNBQVMsRUFBRyxJQUMzRCxDQUVPLEdBQUFvK0IsR0FDTCxPQUFPN3RCLEtBQUs4c0IsS0FBSzE5QixVQUFVeEIsV0FBVzZCLFNBQVMsRUFBRyxJQUNwRCxDQUVPLFFBQUFnMUIsR0FDTCxPQUFPemtCLEtBQUtVLEtBQUtyTyxRQUNuQixDQUVPLFFBQUFBLEdBQ0wsT0FBUTJOLEtBQUtVLEtBQUtyTyxVQUFZLElBQUkxQyxRQUFRcVEsS0FBS1UsS0FBSzFSLFNBQVcsR0FBSSxHQUNyRSxDQUVPLE9BQUE4K0IsR0FDTCxPQUFROXRCLEtBQUtVLEtBQUsxUixTQUFXLElBQUlXLFFBQVEsSUFBSyxHQUNoRCxDQUVPLEdBQUFvK0IsR0FDTCxPQUFPaGdDLEVBQU9DLFdBQVcsT0FBT0MsT0FBTytSLEtBQUtndUIsYUFBYzkvQixPQUFPLE1BQ25FLENBRU8sTUFBQSsvQixHQUNMLE9BQU9sZ0MsRUFDSkMsV0FBVyxPQUNYQyxPQUFPK1IsS0FBS2d1QixhQUNaOS9CLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZkEsUUFBUSxNQUFPLEdBQ3BCLENBRU8sV0FBQXUrQixHQUNMLE9BQU9uZ0MsRUFDSkMsV0FBVyxPQUNYQyxPQUFPK1IsS0FBS2d1QixhQUNaOS9CLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZlQsTUFBTSxFQUFHLEVBQ2QsQ0FFTyxJQUFBaS9CLEdBQ0wsT0FBT3BnQyxFQUFPQyxXQUFXLFFBQVFDLE9BQU8rUixLQUFLZ3VCLGFBQWM5L0IsT0FBTyxNQUNwRSxDQUVPLE1BQUFrZ0MsR0FDTCxPQUFPcmdDLEVBQU9DLFdBQVcsVUFBVUMsT0FBTytSLEtBQUtndUIsYUFBYzkvQixPQUFPLE1BQ3RFLENBRU8sU0FBQW1nQyxHQUNMLE9BQU8vZ0MsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQU1iLFVBQ3ZDLENBRU8sV0FBQTBnQyxHQUNMLE9BQU81L0IsS0FBS0QsTUFBTWIsVUFDcEIsQ0FFUSxTQUFBb2dDLEdBQ04sT0FBT2h1QixLQUFLVSxLQUFLNkYsWUFBY3ZHLEtBQUtVLEtBQUs2RixZQUFjdkcsS0FBS1UsS0FBS3BPLE1BQ25FLEVBR0ksU0FBVWk4QixHQUFXN3RCLEVBQWdCNUYsR0FDekMsSUFBS0EsRUFDSCxPQUFPNEYsRUFBS3JPLFNBR2QsTUFBTW04QixFQUFvQixJQUFJYixHQUFrQmp0QixHQUVoRCxJQUFJNnRCLEVBQXFCenpCLEVBRXpCLElBQUssTUFBTWpLLEtBQU84OEIsR0FBa0JjLE9BQVEsQ0FDMUMsTUFBTUMsRUFBSyxJQUFJbCtCLE9BQU8sSUFBSUssS0FBUSxLQUVsQzA5QixFQUFhQSxFQUFXNStCLFFBQVErK0IsRUFBSUYsRUFBa0IzOUIsS0FDeEQsQ0FFQSxPQUFPMDlCLENBQ1QsVUFrRGdCSSxHQUNkdlIsRUFDQXdSLEVBQ0EvRyxHQUVBLE1BQU1nSCxFQXJCUixTQUE0Qi9oQyxFQUFNLElBQ2hDLElBQUtBLEVBQUssTUFBTyxHQUVqQixJQUFLLGVBQWV1RSxLQUFLdkUsR0FBTSxDQUM3QixNQUFPNDdCLEVBQU1FLEdBQVE5N0IsRUFBSWtFLE1BQU0sS0FDL0IsTUFBTyxVQUFVMDNCLEVBQUsvNEIsUUFBUSxZQUFhLGdCQUFnQmk1QixHQUM3RCxDQUVBLElBQ0UsTUFBTUMsU0FBRUEsRUFBUUYsU0FBRUEsRUFBUUMsS0FBRUEsR0FBUyxJQUFJaDFCLEVBQUk5RyxHQUM3QyxNQUFPLEdBQUcrN0IsTUFBYUYsRUFBU2g1QixRQUFRLFlBQWEsZ0JBQWdCaTVCLEdBQ3ZFLENBQUUsTUFBT3AzQixHQUNQLE1BQU8sRUFDVCxDQUNGLENBT3dCczlCLENBQW1CMVIsR0FDekMsSUFBS3lSLEVBQ0gsT0FZRixPQUFPLElBVE9ELEVBQWFHLEVBQWtCQyxHQUM3QixDQUNkQyxXQUFXLEVBQ1hDLGVBQWdCLElBQ2hCQyxXQUFZLE9BQ1p0SCxxQkFDQXpLLE1BQU95UixHQUlYLENDcEZBMThCLGVBQWVpOUIsR0FBV0MsRUFBNkJDLEVBQWNDLEdBQ25FLE1BQU1DLFFBQWtCQyxFQUN0QkosRUFBS0ssT0FDTCxJQUFJQyxFQUFpQixDQUNuQkMsT0FBUVAsRUFBS1EsV0FDYkMsSUFBS1QsRUFBS3ZnQyxLQUNWaWhDLFFBQVNULEVBQ1RVLFVBQVdULElBRWIsQ0FBRVUsVUFBVyxPQUVUQyxFQUFZLElBQUlwakMsRUFBSThHLElBQUk0N0IsR0FFOUIsT0FEQVUsRUFBVUMsT0FBUyxHQUNaRCxFQUFVOUksSUFDbkIsQ0FFQSxJQUFBcmdCLEdBQWUsQ0FDYnFwQixlQWpHRixTQUF3QmYsR0FDdEIsSUFBSVQsR0FBYSxFQUNqQixJQUVFQSxFQUE0QixXQURsQixJQUFJOWhDLEVBQUk4RyxJQUFJeTdCLEVBQUs3RSxVQUNaM0IsUUFDakIsQ0FBRSxNQUFPLENBRVQsTUFBTXdILEVBQTBDLENBQUEsRUFDNUN6QixFQUNGeUIsRUFBZ0I3SSxXQUFhbUgsR0FBY1UsRUFBS2pTLE9BQU8sSUFBUWlTLEVBQUt4SCxvQkFFcEV3SSxFQUFnQkMsVUFBWTNCLEdBQWNVLEVBQUtqUyxPQUFPLElBQVNpUyxFQUFLeEgsb0JBR3RFLE1BQU0wSSxFQUFnQyxDQUNwQ0MsT0FBUW5CLEVBQUttQixRQUFVLE9BQ3ZCaEcsU0FBVTZFLEVBQUs3RSxlQUFZMzZCLEVBQzNCNGdDLFlBQWEsQ0FDWG5ELFlBQWErQixFQUFLcUIsWUFDbEJDLGdCQUFpQnRCLEVBQUtzQixpQkFFeEJDLElBQUtoQyxFQUNMaUMsZUFBZ0J4QixFQUFLeUIsZ0JBQ3JCQyxlQUFnQixJQUFJQyxFQUFnQlgsSUFHdEMsT0FBTyxJQUFJWSxFQUFTVixFQUN0QixFQXVFRVcsaUJBM0RGLytCLGVBQWdDazlCLEdBQzlCLElBQUtBLEVBQUtwL0IsS0FBS3FDLFNBQVcrOEIsRUFBS3AvQixLQUFLc1csWUFDbEMsTUFBTSxJQUFJN0MsTUFBTSxtQkFFbEIsSUFDRSxNQUFNcWhCLEtBQUVBLEVBQUlnRixZQUFFQSxFQUFXb0gsZ0JBQUVBLFNEb0R4QmgvQixlQUEyQnVPLEdBS2hDLE1BQU11aUIsRUFJRixDQUFBLEVBRUosR0FBSXZpQixFQUFLNkYsWUFBYSxDQUNwQixNQUFNd2UsRUFBT3JrQixFQUFLNkYsWUFBWTVXLFFBQVEsdUJBQXdCLElBQzlEc3pCLEVBQU84RyxZQUFjcnBCLEVBQUs2RixZQUFZdlEsTUFBTSxnQ0FBZ0MsR0FDNUVpdEIsRUFBTzhCLEtBQU96c0IsT0FBT0MsS0FBS3dzQixFQUFNLFVBQ2hDOUIsRUFBT2tPLGdCQUFrQixRQUMzQixNQUNNendCLEVBQUsxUixVQUNQaTBCLEVBQU84RyxZQUFjaUQsRUFBS0MsUUFBUXZzQixFQUFLMVIsZUFBWWEsR0FFckRvekIsRUFBTzhCLEtBQU9ya0IsRUFBS3BPLE9BSXJCLElBQUsyd0IsRUFBTzhHLFlBQWEsQ0FDdkIsTUFBTXFILFFBQWlCQyxFQUFtQnBPLEVBQU84QixNQUNqRDlCLEVBQU84RyxZQUFjcUgsR0FBVXBFLElBQ2pDLENBRUEsT0FBTy9KLENBQ1QsQ0NsRnlEcU8sQ0FBWWpDLEVBQUtwL0IsTUFFaEVzc0IsRUFBVSxJQUFJZ1YsRUFBaUIsQ0FDbkMzQixPQUFRUCxFQUFLUSxXQUNiQyxJQUFLVCxFQUFLdmdDLEtBQ1YwaUMsSUFBS25DLEVBQUtvQyxJQUNWQyxLQUFNM00sRUFDTmlGLFlBQWFELEVBQ2I0SCxnQkFBaUJSLElBR2IxdkIsUUFBdUM0dEIsRUFBS0ssT0FBT2tDLEtBQUtyVixHQUU5RCxJQUFJenZCLEVBV0osT0FQRUEsRUFIR3VpQyxFQUFLd0MsVUFHRixHQUFHeEMsRUFBS3dDLGFBQWF4QyxFQUFLdmdDLGFBRnBCc2dDLEdBQVdDLEVBQU01dEIsRUFBT3F3QixLQUFPcndCLEVBQU91dUIsV0FLaERYLEVBQUt0MkIsVUFDUGpNLEdBQU91aUMsRUFBS3QyQixRQUFROUUsV0FBVyxLQUFPbzdCLEVBQUt0MkIsUUFBVSxJQUFJczJCLEVBQUt0MkIsV0FHekQsQ0FDTGxJLElBQUt3K0IsRUFBS3ZnQyxLQUNWaEMsTUFDQWlsQyxPQUFRamxDLEVBQ1J5aUMsVUFBVzl0QixFQUFPdXVCLFVBQ2xCVixLQUFNN3RCLEVBQU9xd0IsS0FFakIsQ0FBRSxNQUFPak4sR0FDUCxPQUFPOXhCLFFBQVFFLE9BQU80eEIsRUFDeEIsQ0FDRixHQzlGQSxTQUFTbU4sR0FBK0JDLEdBQ3RDLE1BQXdDLGlCQUE3QkEsRUFDeUMsU0FBM0NBLEVBQXlCcHpCLGNBRTNCcXpCLFFBQVFELEVBQ2pCLENBRUEsTUFBTXJyQixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTThzQixFQUFvQzlzQixFQUFJd04sVUFBVSx1QkFDeEQsSUFBS3NmLEVBQVksTUFBTSxJQUFJaGMsTUFBTSxxQ0FDakMsSUFDRSxNQUFNdXVCLEVBQTJCRCxHQUErQnRTLEVBQVd1UywwQkFDM0UsSUFBSUosRUFBWW5TLEVBQVdtUyxVQUN2QkEsSUFDRkEsRUFBWUEsRUFBVWxpQyxRQUFRLE9BQVEsSUFDbEMrdkIsRUFBV29SLGtCQUFvQm1CLElBQ2pDSixHQUFhLElBQU1uUyxFQUFXbVEsYUFHbEMsTUFBTUgsRUFBUzNvQixHQUFTcXBCLGVBQWUxUSxHQUNqQ2tMLEVBQVVoNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU95ekIsRUFBUyxDQUN6QixNQUFNdUgsUUFBYXByQixHQUFTbXFCLGlCQUFpQixDQUMzQ3hCLFNBQ0FHLFdBQVluUSxFQUFXbVEsV0FDdkIvZ0MsS0FBTXkvQixHQUFXcDNCLEVBQUt1b0IsRUFBV2lNLFlBQ2pDMTdCLEtBQU1rSCxFQUNOczZCLElBQU0vUixFQUFXK1IsS0FBTyxjQUN4QkksWUFDQTk0QixRQUFTMm1CLEVBQVczbUIsU0FBVyxZQUUxQjVCLEVBQUk3RSxjQUNKNkUsRUFBSW9QLFlBQ1hwUCxFQUFJbVEsT0FBUzZxQixFQUFLSixPQUNsQjU2QixFQUFJckssSUFBTXFsQyxFQUFLcmxDLEdBQ2pCLENBRUEsT0FBTzhGLENBQ1QsQ0FBRSxNQUFPaXlCLEdBTVAsTUFMQWp5QixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNbnlCLEVBQUlzUCxLQUFLdVosVUFBdUIsOEJBQ3RDamtCLEtBQU0sS0FFRnF0QixDQUNSLEdBR0l4dUIsR0FBVXpELElBVWQsSUFBSThzQixFQUFhOXNCLEVBQUl3TixVQUFpQyx3QkFBMEIsQ0FBQSxFQUNoRnNmLEVBQWEsQ0FUWGdSLFlBQWEsR0FDYkMsZ0JBQWlCLEdBQ2pCZCxXQUFZLEdBQ1psRSxXQUFZLGlDQUNabUYsaUJBQWlCLEVBQ2pCakosb0JBQW9CLEVBQ3BCNEosSUFBSyxpQkFHNkIvUixHQStNcEMsTUE5TWdDLENBQzlCLENBQ0VsckIsS0FBTSxjQUNOekMsS0FBTSxRQUNOZ3JCLFFBQVMyQyxFQUFXZ1IsWUFDcEJ0UyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsZ0NBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLGdDQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qix3Q0FDekMsR0FFRixDQUNFam5CLEtBQU0sa0JBQ056QyxLQUFNLFFBQ05nckIsUUFBUzJDLEVBQVdpUixnQkFDcEJ2UyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIscUNBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHFDQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2Q0FDekMsR0FFRixDQUNFam5CLEtBQU0sYUFDTnpDLEtBQU0sUUFDTmdyQixRQUFTMkMsRUFBV21RLFdBQ3BCelIsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDJCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QiwyQkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsbUNBQ3pDLEdBRUYsQ0FDRWpuQixLQUFNLGFBQ056QyxLQUFNLFFBQ05nckIsUUFBUzJDLEVBQVdpTSxXQUNwQnZOLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QiwrQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsK0JBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHVDQUN6QyxHQUVGLENBQ0VqbkIsS0FBTSxTQUNOekMsS0FBTSxRQUNOZ3JCLFFBQVMyQyxFQUFXOFEsT0FDcEJwUyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsMkJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDJCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixtQ0FDekMsR0FFRixDQUNFam5CLEtBQU0sV0FDTnpDLEtBQU0sUUFDTmdyQixRQUFTMkMsRUFBVzhLLFNBQ3BCcE0sVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIscUNBQ3pDLEdBRUYsQ0FDRWpuQixLQUFNLFFBQ056QyxLQUFNLFFBQ05nckIsUUFBUzJDLEVBQVd0QyxNQUNwQmdCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QiwwQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsMEJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGtDQUN6QyxHQUVGLENBQ0VqbkIsS0FBTSxZQUNOekMsS0FBTSxRQUNOZ3JCLFFBQVMyQyxFQUFXbVMsVUFDcEJ6VCxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixzQ0FDekMsR0FFRixDQUNFam5CLEtBQU0sVUFDTnpDLEtBQU0sUUFDTmdyQixRQUFTMkMsRUFBVzNtQixTQUFXLEdBQy9CcWxCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLG9DQUN6QyxHQUVGLENBQ0VqbkIsS0FBTSxrQkFDTnpDLEtBQU0sVUFDTmdyQixRQUFTMkMsRUFBV29SLGtCQUFtQixFQUN2QzFTLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixvQ0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0NBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDRDQUN6QyxHQUVGLENBQ0VqbkIsS0FBTSxxQkFDTnpDLEtBQU0sVUFDTmdyQixRQUFTMkMsRUFBV21JLHFCQUFzQixFQUMxQ3pKLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix1Q0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsdUNBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLCtDQUN6QyxHQUVGLENBQ0VqbkIsS0FBTSxNQUNOekMsS0FBTSxPQUNOZ3JCLFFBQVMyQyxFQUFXK1IsS0FBTyxjQUMzQjNVLFFBQVMsQ0FDUCxVQUNBLGNBQ0Esb0JBQ0EscUJBQ0EsZ0JBQ0Esb0JBQ0EsNkJBRUZzQixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsR0FFRixDQUNFam5CLEtBQU0sMkJBQ056QyxLQUFNLFVBQ05nckIsUUFBU2lWLEdBQStCdFMsRUFBV3VTLDRCQUE2QixFQUNoRjdULFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2Q0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsNkNBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHFEQUN6QyxLQ3pRTixTQUFTMlcsR0FBa0JDLEVBQWN2akMsRUFBY3VELEVBQWtCaWdDLEVBQWdCLElBQ3ZGLE1BQU8sZ0NBQWdDRCxjQUFpQnhVLEdBQVcsR0FBRy91QixJQUFPdUQsT0FBY2lnQyxHQUM3RixDQUVBLE1BQU0vSCxHQUFjLENBQUNsNEIsRUFBa0IwRyxFQUF3QnRGLEtBQzdELE1BQU0yM0IsTUFBRUEsRUFBS2lILEtBQUVBLEdBQVN0NUIsRUFDbEJneEIsRUFBY2lELEVBQUtDLFFBQVE1NkIsSUFBYSwyQkFDOUMsTUFBTyxDQUNMZSxPQUFRLE1BQ1J0RyxJQUFLc2xDLEdBQWtCQyxFQUFNdDVCLEVBQVFqSyxLQUFNdUQsR0FDM0N5MkIsUUFBUyxDQUNQdUMsY0FBZSxTQUFTRCxJQUN4QixhQUFjLFVBQ2QsZUFBZ0JyQixHQUVsQmhGLEtBQU10eEIsRUFDTjJ5QixNQUFNLElBSUptTSxHQUFhLENBQUNsZ0MsRUFBa0IwRyxLQUNwQyxNQUFNcXlCLE1BQUVBLEVBQUtpSCxLQUFFQSxFQUFJRyxPQUFFQSxHQUFXejVCLEVBQ2hDLE1BQU8sQ0FDTDNGLE9BQVEsTUFDUnRHLElBQUtzbEMsR0FBa0JDLEVBQU10NUIsRUFBUWpLLEtBQU11RCxFQUFVLFFBQVFtZ0MsS0FDN0QxSixRQUFTLENBQ1B1QyxjQUFlLFNBQVNELElBQ3hCLGFBQWMsV0FFaEJoRixNQUFNLElBSUp4ZixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTTYvQixFQUFnQjcvQixFQUFJd04sVUFBeUIsaUJBQ25ELElBQUtxeUIsRUFBZSxNQUFNLElBQUkvdUIsTUFBTSw0QkFFcEMsTUFBTWlvQixFQUFhbk8sR0FBaUIsQ0FBRTF1QixLQUFNMmpDLEVBQWMzakMsT0FDMUQyakMsRUFBYzNqQyxLQUFPNjhCLEVBQ3JCOEcsRUFBYzdHLFdBQWE2RyxFQUFjN0csV0FBYSxJQUFJajhCLFFBQVEsTUFBTyxJQUN6RSxJQUNFLE1BQU1pN0IsRUFBVWg0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBT3l6QixFQUNoQixHQUFJenpCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTWlVLEVBQWNwUCxFQUFJb1AsYUFBZWpPLE9BQU9DLEtBQUtwQixFQUFJN0UsUUFBUTFFLFNBQVMsVUFDbEU2RixFQUFPLENBQ1hTLFFBQVMsb0JBQ1RzK0IsT0FBUUMsRUFBY0QsT0FDdEJFLFFBQVNuc0IsRUFDVHpYLEtBQU02OEIsRUFBYWo2QixVQUFVeUYsRUFBSTlFLFdBRTdCdzRCLEVBQWFOLEdBQVlwekIsRUFBSTlFLFNBQVVvZ0MsRUFBZWgvQixHQUM1RCxJQUNFLE1BQU1zeEIsUUFLSW55QixFQUFJTyxRQUFRMDNCLEdBQ3RCLElBQUk5RixFQVFGLE1BQU0sSUFBSXJoQixNQUFNLHlDQVBUdk0sRUFBSW9QLG1CQUNKcFAsRUFBSTdFLE9BQ1g2RSxFQUFJbVEsT0FBU21yQixFQUFjN0csVUFDdkIsR0FBRzZHLEVBQWM3RyxhQUFhL04sR0FBVyxHQUFHOE4sSUFBYXgwQixFQUFJOUUsY0FDN0QweUIsRUFBSzJOLFFBQVFDLGFBQ2pCeDdCLEVBQUl5N0IsS0FBTzdOLEVBQUsyTixRQUFRRyxHQUk1QixDQUFFLE1BQU9oTyxHQUNQLEdBQXVCLE1BQW5CQSxFQUFJc0QsV0FBb0IsTUFBTXRELFNBQzNCMXRCLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYLE1BQU1ZLFFBQWFOLEVBQUlPLFFBQVFvL0IsR0FBV3A3QixFQUFJOUUsU0FBVW9nQyxJQUN4RCxJQUFJM2lDLE9BQU9DLEtBQUttRCxHQUFLbEcsT0FNbkIsTUFBTTYzQixFQUxOMXRCLEVBQUl5N0IsS0FBTzEvQixFQUFJMi9CLElBQ2YxN0IsRUFBSW1RLE9BQVNtckIsRUFBYzdHLFVBQ3ZCLEdBQUc2RyxFQUFjN0csYUFBYS9OLEdBQVcsR0FBRzhOLElBQWF4MEIsRUFBSTlFLGNBQzdEYSxFQUFJeS9CLFlBSVosQ0FDRixDQUVGLE9BQU8vL0IsQ0FDVCxDQUFFLE1BQU9peUIsR0FLUCxNQUpBanlCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1ueUIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FFbENvSixDQUNSLEdBR0l4dUIsR0FBVXpELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUF5QixrQkFBb0IsQ0FBQSxFQTJFcEUsTUExRWdDLENBQzlCLENBQ0U1TCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixxQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVcyUyxNQUFRLEdBQzVCalUsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxTQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwrQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXOFMsUUFBVSxTQUM5QnBVLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLHNCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QixzQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXMEwsT0FBUyxHQUM3QmhOLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QixxQkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsNkJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzV3QixNQUFRLEdBQzVCc3ZCLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDBCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QiwwQkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsa0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tNLFdBQWEsR0FDakN4TixVQUFVLEtDMUtoQixNQUdNbU0sR0FBY3A0QixNQUNsQlMsRUFDQW1HLEVBQ0ExRyxFQUNBeWdDLEtBRUEsTUFBTUMsRUFBV2g2QixFQUFRZzZCLFVBQVksR0FDL0J0SCxFQUFXMXlCLEVBQVEweUIsVUFBWSxHQUMvQnVILEVBWGtCLENBQUNBLEdBQ3pCQSxFQUFlQSxFQUFZLytCLFdBQVcsVUFBWSsrQixFQUFjLFVBQVVBLElBQWlCLEdBVXZFQyxDQUFrQmw2QixFQUFRaTZCLGFBQWUsSUFDdkRFLEVBQVFuNkIsRUFBUW02QixPQUFTLEdBQy9CLElBQUlDLEVBQ0osR0FBSTFILEdBQVl1SCxFQUNkRyxFQUFnQkgsTUFDWCxLQUFJRCxFQUdULE1BQU0sSUFBSXJ2QixNQUFNLHVDQUZoQnl2QixFQUFnQixhQUFhSixHQUcvQixDQUNBLE1BQU1LLEVBQWlDLENBQ3JDaGdDLE9BQVEsT0FDUnRHLElBQUssZ0NBQ0xnOEIsUUFBUyxDQUNQdUMsY0FBZThILEVBQ2YsZUFBZ0Isc0JBQ2hCM0YsS0FBTSxnQkFDTixhQUFjLFdBRWhCL0QsU0FBVSxDQUNSMXhCLE1BQU8rNkIsRUFDUC9nQyxLQUFNLFNBQ055QyxLQUFNbkMsRUFDTm9xQixZQUFhLDBCQUdqQixHQUFJZ1AsR0FBWXVILEdBQWVFLEVBQU8sQ0FDcEMsSUFDSWhnQyxFQURBbWdDLEVBQVksRUFFWkMsRUFBWSxHQUNoQixFQUFHLENBQ0QsTUFBTUMsRUFBc0MsQ0FDMUNuZ0MsT0FBUSxNQUNSdEcsSUFBSyxtQ0FBbUMyK0IsWUFBbUI0SCxJQUMzRHZLLFFBQVMsQ0FDUHVDLGNBQWU4SCxHQUVqQi9NLE1BQU0sRUFDTi95Qix5QkFBeUIsRUFDekJtZ0MsUUFBUyxLQU1YLEdBSkl6NkIsRUFBUXFrQixRQUNWbVcsRUFBb0JuVyxNQUFRcmtCLEVBQVFxa0IsT0FFdENscUIsUUFBYU4sRUFBSU8sUUFBUW9nQyxHQUNBLE1BQW5CcmdDLEVBQUlpMUIsYUFBc0JqMUIsRUFBSTZ4QixLQUFLdHlCLFFBQ3ZDLE1BQU0sSUFBSWlSLE1BQU0sa0NBRWxCLE1BQU0rdkIsRUFBWXZnQyxFQUFJNnhCLEtBQUt0eEIsS0FDM0IsSUFBSyxNQUFNeEQsS0FBUXdqQyxFQUNqQixHQUFJeGpDLEVBQUs2MEIsUUFBVW9PLEVBQU8sQ0FDeEJJLEVBQVlyakMsRUFBS3N4QixHQUNqQixLQUNGLENBRUY4UixHQUNGLE9BQVNuZ0MsRUFBSTZ4QixLQUFLdHhCLEtBQUt6RyxPQUFTLEdBQzVCc21DLEdBQWFGLEVBQWUzSixXQUM5QjJKLEVBQWUzSixTQUFTeUosTUFBUUksRUFFcEMsQ0FJQSxPQUhJdjZCLEVBQVFxa0IsUUFDVmdXLEVBQWVoVyxNQUFRcmtCLEVBQVFxa0IsT0FFMUJnVyxHQUdIeHNCLEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNOGdDLEVBQWU5Z0MsRUFBSXdOLFVBQXdCLGdCQUNqRCxJQUFLc3pCLEVBQWMsTUFBTSxJQUFJaHdCLE1BQU0sMkJBQ25DLElBQ0UsTUFBTWtuQixFQUFVaDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPeXpCLEVBQ2hCLEdBQUl6ekIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNaVUsRUFBY3BQLEVBQUlvUCxhQUFlak8sT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRW1MLFFBQWdCd3hCLEdBQVkzM0IsRUFBSzhnQyxFQUFjdjhCLEVBQUk5RSxTQUFVa1UsR0FDN0RyVCxRQUFvQk4sRUFBSU8sUUFBUTRGLEdBQ2hDZ3NCLEVBQXNCLGlCQUFSN3hCLEVBQW1CdUQsS0FBS0MsTUFBTXhELEdBQU9BLEVBQ3pELElBQUk2eEIsRUFBS3R5QixRQU1QLE1BQU0sSUFBSWlSLE1BQU0seUNBTFR2TSxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWDZFLEVBQUltUSxPQUFTeWQsRUFBS3R4QixLQUFLa2dDLEtBQ3ZCeDhCLEVBQUl5N0IsS0FBTzdOLEVBQUt0eEIsS0FBS21nQyxVQUl6QixDQUVGLE9BQU9oaEMsQ0FDVCxDQUFFLE1BQU9peUIsR0FNUCxNQUxBanlCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1ueUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw4QkFDdENqa0IsS0FBTSxxQ0FFRnF0QixHQUFLcUQsVUFBVXowQixNQUFRb3hCLENBQy9CLEdBR0l4dUIsR0FBVXpELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUF3QixpQkFBbUIsQ0FBQSxFQThFbEUsTUE3RWdDLENBQzlCLENBQ0U1TCxLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdxVCxVQUFZLEdBQ2hDM1UsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXK0wsVUFBWSxHQUNoQ3JOLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sY0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3NULGFBQWUsR0FDbkM1VSxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFFBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixxQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVd3VCxPQUFTLEdBQzdCOVUsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxRQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHFCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXdEMsT0FBUyxHQUM3QmdCLFVBQVUsS0NyTGhCLE1BQU14WCxHQUFTelUsTUFBT1MsSUFDcEIsTUFBTWloQyxFQUFjamhDLEVBQUl3TixVQUF3QixnQkFDaEQsSUFBS3l6QixFQUFhLE1BQU0sSUFBSW53QixNQUFNLDhCQUVsQyxNQUFNaW9CLEVBQWFrSSxFQUFZL2tDLE1BQVEsR0FDakM4OEIsR0FBYWlJLEVBQVlqSSxXQUFhLElBQUlqOEIsUUFBUSxNQUFPLElBQ3pEcTdCLEVBQVV4TixHQUFpQixDQUMvQjF1QixLQUFNK2tDLEVBQVk3SSxTQUFTcjdCLFFBQVEsTUFBTyxPQUV0Q2k3QixFQUFVaDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPeXpCLEVBQ2hCLEdBQUl6ekIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixJQUFJeUYsRUFBUVosRUFBSTdFLFFBQ1h5RixHQUFTWixFQUFJb1AsY0FDaEJ4TyxFQUFRTyxPQUFPQyxLQUFLcEIsRUFBSW9QLFlBQWEsV0FFdkMsSUFDRSxNQUFNdXRCLEVBQWNobEMsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBUyxVQUFXLFNBQ2hEOHpCLEVBQWtCamxDLEVBQUtyQixLQUFLcW1DLEVBQWEzOEIsRUFBSTlFLFVBQzdDMmhDLEVBQWlCbGxDLEVBQUtyQixLQUFLaytCLEVBQVl4MEIsRUFBSTlFLFVBQ2pEOE4sRUFBY3JSLEVBQUtsQyxRQUFRb25DLElBQzNCN3pCLEVBQWNyUixFQUFLbEMsUUFBUW1uQyxJQUMzQnhoQyxFQUFHcU8sY0FBY296QixFQUFnQmo4QixHQUNqQ3hGLEVBQUcwaEMsYUFBYUQsRUFBZ0JELFVBQ3pCNThCLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUVUNkUsRUFBSW1RLE9BREZza0IsRUFDVyxHQUFHQSxLQUFhL04sR0FBVyxHQUFHbU4sSUFBVTd6QixFQUFJOUUsY0FFNUN2RCxFQUFLckIsS0FBS2srQixFQUFZeDBCLEVBQUk5RSxVQUV6QzhFLEVBQUl5N0IsS0FBTzlqQyxFQUFLckIsS0FBS2srQixFQUFZeDBCLEVBQUk5RSxVQUNyQzhFLEVBQUkrOEIsWUFBYyxnQ0FBZ0NyVyxHQUFXMW1CLEVBQUk5RSxVQUFVMUMsUUFBUSxNQUFPLEtBQzVGLENBQUUsTUFBTzZCLEdBS1AsTUFKQW9CLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU0sMkJBRUYsSUFBSXJoQixNQUFNLHlCQUNsQixDQUNGLENBRUYsT0FBTzlRLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQXdCLGlCQUFtQixDQUFBLEVBZ0RsRSxNQS9DZ0MsQ0FDOUIsQ0FDRTVMLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QixvQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXNXdCLE1BQVEsR0FDNUIsV0FBSW9GLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLEVBQ0EyQyxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIseUJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tNLFdBQWEsR0FDakMsV0FBSTEzQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlDQUN6QyxFQUNBMkMsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxVQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdzTCxTQUFXLEdBQy9CNU0sVUFBVSxFQUNWLFdBQUlscUIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwrQkFDekMsS0N2RU4sTUFBTThPLEdBQWMsQ0FBQ3h4QixFQUFzQjFHLEVBQThCMEYsS0FDdkUsSUFBSTJ3QixFQUFPM3ZCLEVBQVEydkIsS0FDbkJBLEVBQU9BLEVBQUsvNEIsUUFBUSxNQUFPLElBQzNCLE1BQU13a0MsRUFBMkIsT0FBcEJwN0IsRUFBUW9wQixRQUNmaUosRUFBUXJ5QixFQUFRcXlCLE1BRWhCZ0osRUFBWSxDQUNoQixlQUFnQixzQkFDaEIsYUFBYyxVQUNkQyxXQUFZLGFBQ1pqSixNQUFPQSxRQUFTdjdCLEdBRVp5a0MsRUFBYSxDQUNqQnY4QixNQUFPLENBQ0xxb0IsTUFBT3JvQixFQUNQZ0IsUUFBUyxDQUNQMnhCLFNBQVVyNEIsSUFHZGtpQyxJQUFLLFFBR0RDLEVBQVksQ0FDaEIsZUFBZ0Isc0JBQ2hCLGFBQWMsVUFDZEgsV0FBWSxhQUNaSSxPQUFRLG1CQUNScEosY0FBZUQsUUFBU3Y3QixHQUVwQjZrQyxFQUFhMzdCLEVBQVEyN0IsV0FDckJDLEVBQVU1N0IsRUFBUTQ3QixRQUN4QixJQUFJQyxFQUFrQjc3QixFQUFRNjdCLFdBQVd4VSxXQUN0QnZ3QixJQUFmK2tDLElBQ0ZBLEVBQWE3N0IsRUFBUTY3QixZQUV2QixNQUFNQyxFQUEwQixDQUM5QmpqQyxLQUFNLENBQ0p3dUIsTUFBT3JvQixFQUNQZ0IsUUFBUyxDQUNQMnhCLFNBQVVyNEIsSUFHZGtpQyxJQUFLLE9BQ0xPLFlBQWFKLEVBQ2JLLFNBQVVKLEVBQ1ZDLGNBRUdGLFVBQ0lHLEVBQVdDLFlBRWZILFVBQ0lFLEVBQVdFLFNBRUMsSUFBZkgsR0FBbUMsSUFBZkEsVUFDakJDLEVBQVdELFdBTXBCLE1BQU8sQ0FDTHhoQyxPQUFRLE9BQ1J0RyxJQUFLcW5DLEVBQU8sR0FBR3pMLGtCQUF1QixHQUFHQSxlQUN6Q3NNLE1BTm1CLElBQUl2TixFQUFNQyxNQUFNLENBQ25DRyxvQkFBb0IsSUFNcEJpQixRQUFTcUwsRUFBT0ssRUFBWUosRUFDNUIzSyxTQUFVMEssRUFBT1UsRUFBYVAsSUFJNUIxdEIsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1xaUMsRUFBY3JpQyxFQUFJd04sVUFBdUIsb0JBQy9DLElBQUs2MEIsRUFBYSxNQUFNLElBQUl2eEIsTUFBTSxtQ0FFbEMsTUFBTWtuQixFQUFVaDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPeXpCLEVBQVMsQ0FDekIsSUFBSTd5QixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlvUCxjQUNoQnhPLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxXQUV2QyxNQUFNc2tCLEVBQWFOLEdBQVkwSyxFQUFhOTlCLEVBQUk5RSxTQUFVMEYsR0FDMUQsSUFBSWd0QixRQUFjbnlCLEVBQUlPLFFBQVEwM0IsR0FDOUI5RixFQUF1QixpQkFBVEEsRUFBb0J0dUIsS0FBS0MsTUFBTXF1QixHQUFRQSxFQUNyRCxNQUFNb1AsRUFBK0IsT0FBeEJjLEVBQVk5UyxRQUV6QixLQURrQmdTLEdBQXVCLElBQWhCcFAsRUFBS3FELE9BQWdDLE1BQWRyRCxFQUFLSCxNQWFuRCxNQUpBaHlCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBTyxnQkFDUEMsS0FBTUEsRUFBSzd3QixVQUVQLElBQUl3UCxNQUFNcWhCLEVBQUs3d0IsZ0JBWGRpRCxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWDZFLEVBQUltUSxPQUFTNnNCLEVBQU9wUCxFQUFLdHhCLEtBQUt5aEMsTUFBTXBvQyxJQUFNaTRCLEVBQUt0eEIsS0FBSzNHLElBQ2hEcW5DLElBQ0ZoOUIsRUFBSXk3QixLQUFPN04sRUFBS3R4QixLQUFLNUMsSUFTM0IsQ0FDQSxPQUFPK0IsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU04c0IsRUFBYTlzQixFQUFJd04sVUFBdUIscUJBQXVCLENBQUEsRUF3R3JFLE1BdkdnQyxDQUM5QixDQUNFNUwsS0FBTSxVQUNOekMsS0FBTSxPQUNOZ3JCLFFBQVMyQyxFQUFXeUMsU0FBVyxLQUMvQixVQUFJNUQsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHNCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw4QkFDekMsRUFDQXFCLFFBQVMsQ0FBQyxLQUFNLE1BQ2hCc0IsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsbUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLG1CQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwyQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXZ0osTUFBUSxHQUM1QnRLLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1QixvQkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzBMLE1BQ3BCaE4sVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxhQUNOekMsS0FBTSxRQUNOZ3JCLFFBQVMyQyxFQUFXZ1YsV0FDcEJ0VyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsMEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDBCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixrQ0FDekMsR0FFRixDQUNFam5CLEtBQU0sVUFDTnpDLEtBQU0sUUFDTmdyQixRQUFTMkMsRUFBV2lWLFFBQ3BCdlcsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qix1QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsK0JBQ3pDLEdBRUYsQ0FDRWpuQixLQUFNLGFBQ056QyxLQUFNLE9BQ05nckIsUUFBUzJDLEVBQVdrVixZQUFjLG1CQUNsQzlYLFFBQVMsQ0FDUCxDQUNFdG9CLEtBQU0sbUJBQ040ckIsTUFBTyxHQUVULENBQ0U1ckIsS0FBTSxTQUNONHJCLE1BQU8sSUFHWGhDLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIseUJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlDQUN6QyxLQ25PTixNQUFNOE8sR0FBYyxDQUFDeHhCLEVBQXlCMUcsRUFBa0IwRixLQUM5RCxNQUFNMndCLEtBQUVBLEVBQU8sWUFBV0UsS0FBRUEsRUFBTyxHQUFFdU0sT0FBRUEsRUFBUyxHQUFFcFYsV0FBRUEsRUFBYSxVQUFTcVYsVUFBRUEsRUFBWSxJQUFPcjhCLEVBQ3pGczhCLEVBQU8zTSxFQUFLMXlCLE1BQU0sOEJBQ2xCNnlCLEVBQVdILEVBQUt6MEIsV0FBVyxZQUFjLFdBQWEsVUFDdERxaEMsRUFBYTVNLEVBQUsvNEIsUUFBUSx5QkFBMEIsSUFNMUQsTUFBTyxDQUNMeUQsT0FBUSxPQUNSdEcsSUFIVSxHQUhLdW9DLEVBQ2IsR0FBR3hNLElBQVd5TSxLQUZFMU0sR0FBUSxVQUd4QixHQUFHQyxJQUFXeU0sSUFBYTFNLEVBQU8sSUFBSUEsSUFBUywwQkFDTjdJLElBQWFvVixFQUFTLFdBQVdBLElBQVcsS0FBS0MsRUFBWSxRQUFRQSxJQUFjLEtBSTlIdE0sUUFBUyxDQUNQLGVBQWdCLHVCQUVsQlcsU0FBVSxDQUNSNzNCLEtBQU0sQ0FDSnd1QixNQUFPcm9CLEVBQ1BnQixRQUFTLENBQ1AyeEIsU0FBVXI0QixFQUNWMDNCLFlBQWFpRCxFQUFLQyxRQUFRNTZCLElBQWEsOEJBSTdDZ0IseUJBQXlCLElBSXZCdVQsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU0yaUMsRUFBaUIzaUMsRUFBSXdOLFVBQTBCLGtCQUNyRCxJQUFLbTFCLEVBQ0gsTUFBTSxJQUFJN3hCLE1BQU0sNkJBRWxCLElBQ0UsTUFBTWtuQixFQUFVaDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPeXpCLEVBQ2hCLEdBQUl6ekIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixJQUFJeUYsRUFBUVosRUFBSTdFLFFBQ1h5RixHQUFTWixFQUFJb1AsY0FDaEJ4TyxFQUFRTyxPQUFPQyxLQUFLcEIsRUFBSW9QLFlBQWEsV0FFdkMsTUFBTXhOLEVBQVV3eEIsR0FBWWdMLEVBQWdCcCtCLEVBQUk5RSxTQUFVMEYsR0FFcEQ3RSxRQUFZTixFQUNmTyxRQUFRNEYsR0FDUnhGLEtBQU1MLEdBQWFBLEdBQ25CaUIsTUFBTzB3QixJQUNDLENBQ0xzRCxXQUFZLElBQ1pwRCxLQUFNLENBQ0ozZCxJQUFLeFUsRUFBSXNQLEtBQUt1WixVQUF1QixlQUNyQ29KLFVBSVIsR0FBdUIsTUFBbkIzeEIsRUFBSWkxQixhQUFzQmoxQixFQUFJNnhCLE1BQU10eUIsUUFNdEMsTUFBTSxJQUFJaVIsTUFBTXhRLEVBQUk2eEIsS0FBSzd3QixnQkFMbEJpRCxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWDZFLEVBQUltUSxPQUFTcFUsRUFBSTZ4QixLQUFLOUIsT0FBTyxHQUM3QjlyQixFQUFJcStCLFdBQWF0aUMsRUFBSTZ4QixLQUFLeVEsV0FBYXRpQyxFQUFJNnhCLEtBQUt5USxXQUFXLEdBQUssRUFJcEUsQ0FFRixPQUFPNWlDLENBQ1QsQ0FBRSxNQUFPaXlCLEdBS1AsTUFKQWp5QixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNbnlCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0JBRWxDb0osQ0FDUixHQUdJeHVCLEdBQVV6RCxJQUNkLE1BQU04c0IsRUFBYTlzQixFQUFJd04sVUFBMEIsbUJBQXFCLENBQUEsRUErRHRFLE1BOURnQyxDQUM5QixDQUNFNUwsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHNCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdnSixNQUFRLFlBQzVCdEssVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHNCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdrSixNQUFRLE1BQzVCeEssVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxTQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHdCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVd5VixRQUFVLEdBQzlCL1csVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxhQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDRCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdLLFlBQWMsR0FDbEMzQixVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixxQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzBWLFdBQWEsR0FDakNoWCxVQUFVLEtDeEloQixTQUFTbU0sR0FBWXh4QixFQUF1QjFHLEVBQWtCKzRCLEVBQWUwSCxHQUMzRSxNQUFNdkYsRUFpQlIsU0FBb0JBLEdBQ2xCLE1BQWdCLE9BQVRBLEVBQWdCLEdBQUssSUFBTUEsQ0FDcEMsQ0FuQmVrSSxDQUFXMThCLEVBQVF3MEIsTUFBUSxNQUNsQ3orQixFQUFPaUssRUFBUWpLLE1BQVEsR0FLN0IsTUFBTyxDQUNMc0UsT0FBUSxPQUNSdEcsSUFBSyxnQkFBZ0J5Z0MsOEJBTkFqMUIsT0FBT0MsS0FBS3pKLEVBQU91RCxFQUFVLFNBQ2pEekUsU0FBUyxVQUNUK0IsUUFBUSxNQUFPLEtBQ2ZBLFFBQVEsTUFBTyxPQUloQm01QixRQUFTLENBQ1B1QyxjQUFlLFdBQVdELElBQzFCLGVBQWdCNEIsRUFBS0MsUUFBUTU2QixJQUFhLDRCQUU1QzB5QixLQUFNK04sRUFFVixDQU1BLFNBQVM0QyxHQUFTQyxHQUNoQixNQUFNQyxFQUFZRCxFQUFhQyxVQUN6QkMsRUFBWUYsRUFBYUUsVUFDekJDLEVBQU0sSUFBSTVXLEdBQU02VyxLQUFLN25DLE9BQU84bkMsSUFBSUosRUFBV0MsR0FDM0M5OEIsRUFBVSxDQUNkOUQsTUFBTzBnQyxFQUFhekksUUFHdEIsT0FEa0IsSUFBSWhPLEdBQU0rVyxHQUFHQyxVQUFVbjlCLEdBQ3hCbzlCLFlBQVlMLEVBQy9CLENBRUEsTUFBTWx2QixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTStpQyxFQUFlL2lDLEVBQUl3TixVQUF3QixnQkFDakQsSUFBS3UxQixFQUNILE1BQU0sSUFBSWp5QixNQUFNLDJCQUVsQixJQUNFLE1BQU1rbkIsRUFBVWg0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBT3l6QixFQUNoQixHQUFJenpCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTWlVLEVBQWNwUCxFQUFJb1AsYUFBZWpPLE9BQU9DLEtBQUtwQixFQUFJN0UsUUFBUTFFLFNBQVMsVUFDbEVtTCxFQUFVd3hCLEdBQVlvTCxFQUFjeCtCLEVBQUk5RSxTQUFVcWpDLEdBQVNDLEdBQWVwdkIsR0FDMUVyVCxRQUFZTixFQUFJTyxRQUFRNEYsR0FDeEJnc0IsRUFBT3R1QixLQUFLQyxNQUFNeEQsR0FDeEIsSUFBSTZ4QixHQUFNbDBCLElBWVIsTUFMQStCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1BLEVBQUszZCxNQUVieFUsRUFBSTZOLElBQUl6TSxNQUFNLGNBQWUrd0IsR0FDdkIsSUFBSXJoQixNQUFNLGlCQVpILFFBQ052TSxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWCxNQUFNOGpDLEVBQVVULEVBQWE3b0MsSUFDdkI0Z0MsRUFBYWlJLEVBQWE1OEIsU0FBVyxHQUMzQzVCLEVBQUltUSxPQUFTLEdBQUc4dUIsS0FBV3JSLEVBQUtsMEIsTUFBZ0I2OEIsR0FDbEQsQ0FRRixDQUVGLE9BQU85NkIsQ0FDVCxDQUFFLE1BQU9peUIsR0FDUCxHQUFvQixrQkFBaEJBLEVBQUkzd0IsU0FFRjJ3QixFQUFJcUQsU0FBVSxDQUNoQixNQUFNbDBCLEVBQVE2d0IsRUFBSXFELFNBQVNuRCxLQUMzQm55QixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNL3dCLEVBQU1BLE9BRWhCLENBRUYsTUFBTTZ3QixDQUNSLEdBR0l4dUIsR0FBVXpELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUF3QixpQkFBbUIsQ0FBQSxFQW1HbEUsTUFsR2dDLENBQzlCLENBQ0U1TCxLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIseUJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tXLFdBQWEsR0FDakN4WCxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIseUJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV21XLFdBQWEsR0FDakN6WCxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFNBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixzQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3dOLFFBQVUsR0FDOUI5TyxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLE1BQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixtQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsbUJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDJCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc1eUIsS0FBTyxHQUMzQnN4QixVQUFVLEdBRVosQ0FDRTVwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixvQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0JBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDRCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc2TixNQUFRLEdBQzVCblAsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxVQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QiwrQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXM21CLFNBQVcsR0FDL0JxbEIsVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLG9CQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXNXdCLE1BQVEsR0FDNUJzdkIsVUFBVSxLQ2hMaEIsTUFBTWlZLEdBQ0lsVixnQkFDQXVPLE9BQVMsSUFBSTRHLEdBQ3JCQyxhQUFjLEVBRWQsV0FBQXoyQixHQUF1QixDQUVoQixrQkFBTzAyQixHQUlaLE9BSEtILEdBQVVsTixXQUNia04sR0FBVWxOLFNBQVcsSUFBSWtOLElBRXBCQSxHQUFVbE4sUUFDbkIsQ0FFUSwrQkFBT3NOLENBQXlCM25DLEdBQ3RDLE9BQU9BLEVBQUthLFFBQVEsTUFBTyxJQUM3QixDQUVPLGFBQU0rbUMsQ0FBUXJnQyxHQUNuQixNQUFNcXlCLEtBQUVBLEVBQUlFLEtBQUVBLEVBQUk2QyxTQUFFQSxFQUFRQyxTQUFFQSxFQUFRaUwsV0FBRUEsRUFBVUMsV0FBRUEsR0FBZXZnQyxFQUM3RHdnQyxFQUFvQkYsRUFDdEIsQ0FDRWxMLFdBQ0FxTCxlQUFnQkgsRUFDaEJDLFdBQVlBLFFBQWMvbUMsR0FFNUIsQ0FBRTQ3QixXQUFVQyxZQUNoQixVQUNRMXJCLEtBQUswdkIsT0FBT2dILFFBQVEsQ0FDeEJoTyxPQUNBRSxLQUFNL3hCLE9BQU8reEIsSUFBUyxNQUNuQmlPLElBRUw3MkIsS0FBS3UyQixhQUFjLENBQ3JCLENBQUUsTUFBTzFSLEdBQ1AsTUFBTSxJQUFJbmhCLE1BQU1taEIsRUFDbEIsQ0FDRixDQUVPLFlBQU1yaUIsQ0FBT3VjLEVBQWVnWSxFQUFnQjFnQyxHQUNqRCxJQUFLMkosS0FBS3UyQixZQUNSLE1BQU0sSUFBSTd5QixNQUFNLCtCQUVsQixJQUNFcXpCLEVBQVNWLEdBQVVJLHlCQUF5Qk0sU0FDdEMvMkIsS0FBS2czQixNQUFNbG9DLEVBQUtsQyxRQUFRbXFDLEdBQVFwbkMsUUFBUSxhQUFjLElBQUswRyxTQUMzRDJKLEtBQUswdkIsT0FBT3VILFFBQVFsWSxFQUFPZ1ksR0FDakMsTUFBTUcsRUFBVzdnQyxFQUFPNmdDLFVBQVksT0FDbkIsU0FBYkEsU0FDSWwzQixLQUFLbTNCLEtBQUssU0FBU0QsTUFBYUgsS0FFMUMsQ0FBRSxNQUFPbFMsR0FDUCxNQUFNLElBQUluaEIsTUFBTW1oQixFQUNsQixDQUNGLENBRVEsV0FBTW1TLENBQU1JLEVBQWlCL2dDLEdBQ25DLElBQUsySixLQUFLMHZCLE9BQU82RyxjQUNmLE1BQU0sSUFBSTd5QixNQUFNLGdDQUVsQixNQUFNMnpCLEVBQWdCaGhDLEVBQU9paEMsU0FBVyxPQUN4QyxHQUFzQixTQUFsQkQsRUFBMEIsQ0FDNUIsTUFBTUUsRUFBT0gsRUFBUXBtQyxNQUFNLEtBQzNCLElBQUl3bUMsRUFBYyxHQUNsQixJQUFLLE1BQU1DLEtBQU9GLEVBQ2hCLEdBQUlFLEVBQUssQ0FDUEQsR0FBZSxJQUFJQyxJQUNuQixNQUFNQyxFQUFTLFVBQVVGLGVBQXlCSCxNQUFrQkcsV0FDOUR4M0IsS0FBS20zQixLQUFLTyxFQUNsQixDQUVKLEtBQU8sQ0FDTCxNQUFNQSxFQUFTLHFCQUFxQk4sV0FDOUJwM0IsS0FBS20zQixLQUFLTyxFQUNsQixDQUNGLENBRU8sV0FBTUMsQ0FBTVosRUFBZ0JhLEVBQWNDLEdBQy9DZCxFQUFTVixHQUFVSSx5QkFBeUJNLEdBQzVDLE1BQU9lLEVBQU9DLEdBQVVGLEVBQVEsQ0FBQ0QsRUFBTUMsR0FBU0QsRUFBSzFuQyxTQUFTLEtBQU8wbkMsRUFBSzVtQyxNQUFNLEtBQU8sQ0FBQzRtQyxFQUFNQSxTQUV4RjUzQixLQUFLbTNCLEtBQUssU0FBU1csS0FBU0MsTUFBV2hCLEtBQy9DLENBRVEsVUFBTUksQ0FBS08sR0FFakIsT0FBMkIsV0FERjEzQixLQUFLMHZCLE9BQU8vSyxZQUFZK1MsSUFDL0I5UyxJQUNwQixDQUVPLEtBQUFvVCxHQUNMaDRCLEtBQUswdkIsT0FBT3VJLFVBQ1pqNEIsS0FBS3UyQixhQUFjLENBQ3JCLEVDekZGLE1BQU0zdkIsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1zbEMsRUFBa0J0bEMsRUFBSXdOLFVBQTRCLG9CQUN4RCxJQUFLODNCLEVBQ0gsTUFBTSxJQUFJeDBCLE1BQU0sa0NBRWxCdzBCLEVBQWdCdFAsS0FBTy94QixPQUFPcWhDLEVBQWdCdFAsT0FBUyxJQUNuRHNQLEVBQWdCdFAsS0FBTyxHQUFLc1AsRUFBZ0J0UCxLQUFPLFNBQ3JEc1AsRUFBZ0J0UCxLQUFPLElBRXpCc1AsRUFBZ0J2TSxXQUFhbk8sR0FBaUIsQ0FDNUMxdUIsS0FBTW9wQyxFQUFnQnZNLFdBQ3RCaE8sYUFBYSxJQUVmLE1BQU1xTixFQUFVeE4sR0FBaUIsQ0FDL0IxdUIsS0FBTW9wQyxFQUFnQmxOLFFBQ3RCck4sYUFBYSxJQUVmLElBQ0UsTUFBTWlOLEVBQVVoNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU95ekIsRUFDaEIsR0FBSXp6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlvUCxjQUNoQnhPLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxXQUV2QyxNQUFNNHhCLEVBQWlCcnBDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVMsY0FDeEM2ekIsRUFBY2hsQyxFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLFVBQVcsYUFDdERFLEVBQWMyekIsR0FDZCxNQUFNbHZCLEVBQWU5VixFQUFLckIsS0FBSzBxQyxFQUFnQmhoQyxFQUFJOUUsVUFDbkQ4TixFQUFjclIsRUFBS2xDLFFBQVFnWSxJQUMzQnd6QixFQUFleHpCLEVBQWM3TSxHQUM3QixNQUFNMjNCLEVBQVMyRyxHQUFVRyxvQkFDbkI5RyxFQUFPZ0gsUUFBUXdCLEdBQ3JCLE1BQU1HLEVBQWF2cEMsRUFBS3JCLEtBQUssSUFBSXlxQyxFQUFnQnZNLGFBQWFoOEIsUUFBUSxTQUFVLEtBQU13SCxFQUFJOUUsZ0JBQ3BGcTlCLEVBQU9sdEIsT0FBT29DLEVBQWN5ekIsRUFBWUgsR0FDOUNBLEVBQWdCSSxnQkFBbUI1SSxFQUFPaUksTUFBTVUsRUFBWUgsRUFBZ0JJLGlCQUNyRW5oQyxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWCxNQUFNOGpDLEVBQVU4QixFQUFnQnRNLFdBQWFzTSxFQUFnQnhQLEtBQ3pEd1AsRUFBZ0JsTixRQUNsQjd6QixFQUFJbVEsT0FBUyxHQUFHOHVCLEtBQVd2WSxHQUFXLEdBQWUsTUFBWm1OLEVBQWtCLEdBQUtBLElBQVU3ekIsRUFBSTlFLGNBRTlFOEUsRUFBSW1RLE9BQVMsR0FBRzh1QixLQUFXdlksR0FBVyxHQUFrQyxNQUEvQnFhLEVBQWdCdk0sV0FBcUIsR0FBS3VNLEVBQWdCdk0sYUFBYXgwQixFQUFJOUUsY0FFdEgsTUFBTWttQyxFQUFrQnpwQyxFQUFLckIsS0FBS3FtQyxFQUFhMzhCLEVBQUk5RSxVQUNuRDhOLEVBQWNyUixFQUFLbEMsUUFBUTJyQyxJQUMzQkMsRUFBV0QsR0FDWEUsRUFBUzd6QixFQUFjOVYsRUFBS3JCLEtBQUtxbUMsRUFBYTM4QixFQUFJOUUsV0FDbEQ4RSxFQUFJKzhCLFlBQWMsb0NBQW9DblcsbUJBQW1CNW1CLEVBQUk5RSxZQUM3RXE5QixFQUFPc0ksT0FDVCxDQUVGLE9BQU9wbEMsQ0FDVCxDQUFFLE1BQU9peUIsR0FLUCxNQUpBanlCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1ueUIsRUFBSXNQLEtBQUt1WixVQUF1QixvQkFFbENvSixDQUNSLEdBR0l4dUIsR0FBVXpELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUE0QixxQkFBdUIsQ0FBQSxFQWlMMUUsTUFoTGdDLENBQzlCLENBQ0U1TCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdnSixNQUFRLEdBQzVCdEssVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXa0osTUFBUSxHQUM1QnhLLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sV0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXK0wsVUFBWSxHQUNoQ3JOLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sV0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXZ00sVUFBWSxHQUNoQ3ROLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sYUFDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDhCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw4QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2lYLFlBQWMsR0FDbEN2WSxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qix5Q0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIseUNBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlEQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdrWCxZQUFjLEdBQ2xDeFksVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxhQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixzQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXaU0sWUFBYyxHQUNsQ3ZOLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIscUNBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tNLFdBQWEsR0FDakN4TixVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1QixnQ0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsZ0NBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdzTCxTQUFXLEdBQy9CNU0sVUFBVSxHQUVaLENBQ0U1cEIsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUl3c0IsR0FDRixPQUFPM3JCLEVBQUlzUCxLQUFLdVosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3ZxQixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUl2bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixxQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXNFksVUFBWSxHQUNoQ2xhLFVBQVUsR0FFWixDQUNFNXBCLEtBQU0sV0FDTnpDLEtBQU0sUUFDTixVQUFJd3NCLEdBQ0YsT0FBTzNyQixFQUFJc1AsS0FBS3VaLFVBQXVCLDZCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU92cUIsRUFBSXNQLEtBQUt1WixVQUF1Qiw2QkFDekMsRUFDQSxXQUFJdm5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIscUNBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3dYLFVBQVksR0FDaEM5WSxVQUFVLEdBRVosQ0FDRTVwQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSXdzQixHQUNGLE9BQU8zckIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPdnFCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLEVBQ0EsV0FBSXZuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLG9DQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc0WCxTQUFXLEdBQy9CbFosVUFBVSxLQ2hQaEIsTUFBTW1NLEdBQWMsQ0FBQ2w0QixFQUFrQjBGLEVBQWUyZ0MsRUFBa0JDLEVBQVMsTUFDeEUsQ0FDTHZsQyxPQUFRLE9BQ1J0RyxJQUFLLFdBQVc2ckMsa0JBQ2hCN1AsUUFBUyxDQUNQaUIsWUFBYSxzQkFDYixhQUFjLFVBQ2RzQixjQUFlcU4sR0FFakJqUCxTQUFVLENBQ1JtUCxPQUFRLENBQ054WSxNQUFPcm9CLEVBQ1BnQixRQUFTLENBQUUyeEIsU0FBVXI0QixJQUV2QmtpQyxJQUFLLFVBS0wzdEIsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1pbUMsRUFBYWptQyxFQUFJd04sVUFBdUIsZUFDOUMsSUFBS3k0QixHQUFZek4sT0FBT2pxQixPQUN0QixNQUFNLElBQUl1QyxNQUFNLDRCQUVsQixNQUFNaTFCLEdBQVVFLEVBQVdDLGNBQWdCLFNBQVNucEMsUUFBUSxlQUFnQixJQUFJQSxRQUFRLE1BQU8sSUFFekZpN0IsRUFBVWg0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBT3l6QixFQUFTLENBQ3pCLElBQUt6ekIsRUFBSTlFLFNBQVUsU0FFbkIsTUFBTTBtQyxFQUFjNWhDLEVBQUk3RSxTQUFXNkUsRUFBSW9QLFlBQWNqTyxPQUFPQyxLQUFLcEIsRUFBSW9QLFlBQWEsZUFBWTFXLEdBQzlGLElBQUtrcEMsRUFBYSxTQUVsQixNQUFNbE8sRUFBYU4sR0FBWXB6QixFQUFJOUUsU0FBVTBtQyxFQUFhRixFQUFXek4sTUFBT3VOLEdBQ3RFemxDLFFBQW9CTixFQUFJTyxRQUFRMDNCLEdBQ2hDOUYsRUFBT3R1QixLQUFLQyxNQUFNeEQsR0FFeEIsR0FBa0IsWUFBZDZ4QixFQUFLSCxLQUNQenRCLEVBQUltUSxPQUFTeWQsRUFBS3R4QixLQUFLM0csSUFDdkJxSyxFQUFJeTdCLEtBQU83TixFQUFLdHhCLEtBQUttL0IsU0FDaEIsSUFBa0IsbUJBQWQ3TixFQUFLSCxNQUFvRCxpQkFBaEJHLEVBQUtpVSxPQVdsRCxDQUNMLE1BQU1DLEVBQVdsVSxFQUFLN3dCLFNBQVcsZ0JBS2pDLE1BSkF0QixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNa1UsSUFFRixJQUFJdjFCLE1BQU11MUIsRUFDbEIsQ0FqQkU5aEMsRUFBSW1RLE9BQVN5ZCxFQUFLaVUsT0FDbEIsSUFDRSxNQUFNRSxRQUFzQnY0QixFQUFNNU0sSUFBSSxXQUFXNGtDLDBCQUFnQyxDQUMvRTdQLFFBQVMsQ0FBRXVDLGNBQWV3TixFQUFXek4sU0FFakMrTixFQUFlRCxFQUFjemxDLE1BQU1BLE1BQU0ybEMsS0FBTXJoQyxHQUFlQSxFQUFNakwsTUFBUWk0QixFQUFLaVUsUUFDbkZHLElBQWNoaUMsRUFBSXk3QixLQUFPdUcsRUFBYXZHLEtBQzVDLENBQUUsTUFFRixDQVFGLFFBRU96N0IsRUFBSW9QLG1CQUNKcFAsRUFBSTdFLE1BQ2IsQ0FDQSxPQUFPTSxHQUdIeUQsR0FBVXpELElBQ2QsTUFBTThzQixFQUFhOXNCLEVBQUl3TixVQUF1QixnQkFBa0IsQ0FBQSxFQUNoRSxNQUFPLENBQ0w2ZCxHQUFZcnJCLEVBQUssT0FBUSxRQUFTLFFBQVM4c0IsRUFBVzBMLE9BQVMsSUFBSSxPQUFNdjdCLEVBQVcsQ0FDbEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsNEJBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssT0FBUSxlQUFnQixRQUFTOHNCLEVBQVdvWixjQUFnQixJQUFJLE9BQU9qcEMsRUFBVyxDQUNqRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixvQ0FDekMsTUNwRU4sTUFBTW9SLEdBQW9CLENBQUM5ekIsRUFBdUIxRyxLQUNoRCxNQUFNZ25DLFNBQUVBLEVBQVF4RCxVQUFFQSxFQUFTeUQsTUFBRUEsRUFBS3BNLE9BQUVBLEVBQU0vSyxRQUFFQSxFQUFPb0wsS0FBRUEsRUFBSS9DLFNBQUVBLEVBQVExN0IsS0FBRUEsR0FBU2lLLEVBRzlFLElBQUlvMEIsRUFDQW9NLEVBQVcsR0FFZixJQUxjcFgsR0FBdUIsT0FBWkEsRUFLZixDQUNSLE1BQU01MEIsRUFBU0QsS0FBS3NNLE1BQXNCLEtBQWhCdE0sS0FBS0MsVUFDekJpc0MsRUFBVWxzQyxLQUFLc00sTUFBTWxMLEtBQUtELE1BQVEsS0FBUSxFQUUxQ2dyQyxFQUFpQixLQUFLSCxPQUFXcE0sT0FBWW1NLE9BRG5DRyxFQUFVLFVBQ29EQSxPQUFhanNDLE9BRXJGbXNDLEVBQWEzckMsRUFBT3EvQixXQUFXLE9BQVF5SSxHQUFXNW5DLE9BQU93ckMsR0FBZ0J2ckMsU0FDekV5ckMsRUFBYXJoQyxPQUFPOHNCLE9BQU8sQ0FBQ3NVLEVBQVlwaEMsT0FBT0MsS0FBS2toQyxLQUMxRHRNLEVBQVk3MEIsT0FBT0MsS0FBS29oQyxHQUFZL3JDLFNBQVMsU0FDL0MsS0FBTyxDQUNMLE1BQU1nc0MsRUFBUXRzQyxLQUFLc00sTUFBTWxMLEtBQUtELE1BQVEsS0FDdEM4cUMsRUFBVyxHQUFHSyxLQUFTQSxFQUFRLFFBQy9CLE1BQU1DLEVBQVU5ckMsRUFBT3EvQixXQUFXLE9BQVF5SSxHQUFXNW5DLE9BQU9zckMsR0FBVXJyQyxPQUFPLE9BRXZFNHJDLEVBQWEsU0FBU2hyQyxJQUFPdUQsYUFBb0I2NkIsS0FBVTFDLEdBRHpDLE9BQU8rQyxxQkFHekJ3TSxFQUFlLFNBQVNSLE1BREx4ckMsRUFBT0MsV0FBVyxRQUFRQyxPQUFPNnJDLEdBQVk1ckMsT0FBTyxXQUU3RWkvQixFQUFZcC9CLEVBQU9xL0IsV0FBVyxPQUFReU0sR0FBUzVyQyxPQUFPOHJDLEdBQWM3ckMsT0FBTyxNQUM3RSxDQUVBLE1BQU8sQ0FBRWkvQixZQUFXbU0sUUFBT3BNLFNBQVFxTSxhQUcvQmhQLEdBQWMsQ0FDbEJ4eEIsRUFDQTFHLEVBQ0E4NkIsRUFDQXAxQixFQUNBb3FCLEtBRUEsTUFBTW9MLEtBQUVBLEVBQUl6K0IsS0FBRUEsRUFBSW8rQixPQUFFQSxFQUFNMUMsU0FBRUEsRUFBUTZPLFNBQUVBLEdBQWF0Z0MsRUFFN0NpaEMsRUFBWSxTQUFTN1gsY0FFM0IsSUFIY3BwQixFQUFRb3BCLFNBQStCLE9BQXBCcHBCLEVBQVFvcEIsUUFJdkMsTUFBTyxDQUNML3VCLE9BQVEsT0FDUnRHLElBQUssVUFBVXlnQyxnQ0FBbUNKLEVBQVVtTSxTQUFTbk0sRUFBVUQsVUFBVXg3QixVQUFVNUMsS0FBUXVELElBQzNHeTJCLFFBQVMsQ0FDUDBFLEtBQU0sR0FBR0Qsc0JBQ1RsQyxjQUFlOEIsRUFBVUEsVUFDekJwRCxZQUFhLHNCQUNiLGFBQWNpUSxHQUVoQnZRLFNBQVUsQ0FBRXdRLEdBQUksU0FBVUMsWUFBYW5pQyxHQUN2QzFFLHlCQUF5QixHQUk3QixNQUNNcTFCLEVBQU8sR0FBR3dFLEtBQVUxQyxHQURGLE9BQU8rQyxtQkFFL0IsTUFBTyxDQUNMbjZCLE9BQVEsTUFDUnRHLElBQUssVUFBVTQ3QixLQUFRN0ssR0FBVyxHQUFHL3VCLElBQU91RCxPQUM1Q3kyQixRQUFTLENBQ1AwRSxLQUFNOUUsRUFDTjJDLGNBQWUsOEJBQThCZ08saUJBQXdCbE0sRUFBVW9NLHVCQUF1QnBNLEVBQVVvTSw2REFBNkRwTSxFQUFVQSxZQUN2THBELFlBQWFpRCxFQUFLQyxRQUFRNTZCLElBQWEsMkJBQ3ZDLGFBQWMybkMsR0FFaEJqVixLQUFNaHRCLEVBQ04xRSx5QkFBeUIsSUFJdkJ1VCxHQUFTelUsTUFBT1MsSUFDcEIsTUFBTXVuQyxFQUFldm5DLEVBQUl3TixVQUF3QixnQkFDakQsSUFBSys1QixFQUFjLE1BQU0sSUFBSXoyQixNQUFNLGlDQUVuQyxJQUNFLE1BQU1rbkIsRUFBVWg0QixFQUFJNk8sT0FDZG1xQixHQUFhdU8sRUFBYXZPLFdBQWEsSUFBSWo4QixRQUFRLE1BQU8sSUFDMURiLEVBQU8wdUIsR0FBaUIsQ0FBRTF1QixLQUFNcXJDLEVBQWFyckMsT0FDN0NrOEIsRUFBVXhOLEdBQWlCLENBQUUxdUIsS0FBTXFyQyxFQUFhblAsVUFDdERtUCxFQUFhcnJDLEtBQU9BLEVBQ3BCLE1BQU1zckMsR0FBU0QsRUFBYWhZLFNBQW9DLE9BQXpCZ1ksRUFBYWhZLFFBRXBELElBQUssTUFBTWhyQixLQUFPeXpCLEVBQVMsQ0FDekIsSUFBS3p6QixFQUFJOUUsV0FBYThFLEVBQUk3RSxPQUFRLFNBRWxDLE1BQU02NkIsRUFBWU4sR0FBa0JzTixFQUFjaGpDLEVBQUk5RSxVQUNoRDBGLEVBQVFaLEVBQUk3RSxRQUFVZ0csT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFjLFVBQ3BEeE4sRUFBVXd4QixHQUFZNFAsRUFBY2hqQyxFQUFJOUUsU0FBVTg2QixFQUFXcDFCLEVBQU9uRixFQUFJcVAsYUFBZXJQLEVBQUlvUCxTQUUzRjlPLFFBQVlOLEVBQUlPLFFBQVE0RixHQUFTNUUsTUFBTzB3QixJQUFVLENBQ3REc0QsV0FBWSxJQUNacEQsS0FBTSxDQUFFM2QsSUFBS3hVLEVBQUlzUCxLQUFLdVosVUFBdUIsZUFBZ0JvSixVQUd6REUsRUFBT3FWLEdBQXdCLGlCQUFSbG5DLEVBQW1CdUQsS0FBS0MsTUFBTXhELEdBQU9BLEVBRWxFLEdBQXdCLE1BQXBCNnhCLEVBQUtvRCxXQUNQLE1BQU1wRCxHQUFNQSxNQUFNRixLQUFPLElBQUluaEIsTUFBTXFoQixHQUFNQSxNQUFNM2QsS0FBTzJkLEdBQU1BLE1BQU03d0IsU0FHcEUsTUFBTW1tQyxFQUFZRixFQUFhcGhDLFNBQVcsR0FDcEN1aEMsSUFBU0gsRUFBYUcsS0FLNUIsVUFIT25qQyxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FFUDhuQyxHQUEwQixZQUFqQnJWLEVBQUs3d0IsUUFDaEJpRCxFQUFJbVEsT0FBU3NrQixFQUNULEdBQUdBLEtBQWEvTixHQUFXLEdBQUdtTixHQUFXbDhCLElBQU9xSSxFQUFJOUUsY0FBY2dvQyxJQUNsRSxHQUFHdFYsRUFBS3R4QixLQUFLOG1DLGFBQWFGLFFBQ3pCLElBQUtELEdBQThCLE1BQXJCclYsR0FBTW9ELFdBUXpCLE1BQU0sSUFBSXprQixNQUFPeFEsRUFBWTZ4QixNQUFNM2QsS0FBTyxpQkFQMUMsR0FBSXdrQixFQUNGejBCLEVBQUltUSxPQUFTLEdBQUdza0IsS0FBYS9OLEdBQVcsR0FBR21OLEdBQVdsOEIsSUFBT3FJLEVBQUk5RSxjQUFjZ29DLFFBQzFFLENBQ0wsTUFBTTdQLEVBQVcyUCxFQUFhM1AsVUFBWSxPQUFPMlAsRUFBYTVNLG9CQUM5RHAyQixFQUFJbVEsT0FBUyxXQUFXNnlCLEVBQWFqTixVQUFVMUMsS0FBWTNNLEdBQVcsR0FBRy91QixJQUFPcUksRUFBSTlFLGNBQWNnb0MsR0FDcEcsQ0FHRixDQUVJQyxJQUNGbmpDLEVBQUltUSxRQUFVK3lCLEVBQVksYUFBZSxhQUU3QyxDQUNBLE9BQU96bkMsQ0FDVCxDQUFFLE1BQU9peUIsR0FDUCxLQUFNc1YsRUFBYWhZLFNBQW9DLE9BQXpCZ1ksRUFBYWhZLFVBQXFCMEMsRUFBSTd3QixNQUNsRSxJQUNFLE1BQU0rd0IsRUFBT3R1QixLQUFLQyxNQUFNbXVCLEVBQUk3d0IsT0FDNUJwQixFQUFJd1EsS0FBSy9ELEdBQWNzbkIsYUFBYyxDQUNuQzdCLE1BQU9seUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDdkNzSixLQUFNbnlCLEVBQUlzUCxLQUFLdVosVUFBdUIsdUJBQXdCLENBQUVtSixLQUFNRyxFQUFLSCxPQUMzRXB0QixLQUFNLHVEQUVWLENBQUUsTUFBT2hHLEdBRVQsQ0FFRixNQUFNcXpCLENBQ1IsR0FHSXh1QixHQUFVekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQXdCLGlCQUFtQixDQUFBLEVBRWxFLE1BQU8sQ0FDTDZkLEdBQVlyckIsRUFBSyxlQUFnQixVQUFXLE9BQVEsTUFBTSxPQUFPL0MsRUFBVyxDQUFFaXRCLFFBQVMsQ0FBQyxLQUFNLFFBQzlGbUIsR0FBWXJyQixFQUFLLGVBQWdCLFdBQVksUUFBUzhzQixFQUFXMlosVUFBWSxJQUFJLEdBQ2pGcGIsR0FBWXJyQixFQUFLLGVBQWdCLFlBQWEsUUFBUzhzQixFQUFXbVcsV0FBYSxJQUFJLEdBQ25GNVgsR0FBWXJyQixFQUFLLGVBQWdCLFNBQVUsUUFBUzhzQixFQUFXd04sUUFBVSxJQUFJLEdBQzdFalAsR0FBWXJyQixFQUFLLGVBQWdCLFFBQVMsUUFBUzhzQixFQUFXNFosT0FBUyxJQUFJLE9BQU16cEMsRUFBVyxDQUMxRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixvQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxlQUFnQixPQUFRLFFBQVM4c0IsRUFBVzZOLE1BQVEsSUFBSSxPQUFNMTlCLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsbUNBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssZUFBZ0IsV0FBWSxRQUFTOHNCLEVBQVc4SyxVQUFZLElBQUksT0FBTzM2QixFQUFXLENBQ2pHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHVDQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGVBQWdCLE9BQVEsUUFBUzhzQixFQUFXNXdCLE1BQVEsSUFBSSxPQUFPZSxFQUFXLENBQ3pGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLG1DQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGVBQWdCLFVBQVcsUUFBUzhzQixFQUFXc0wsU0FBVyxJQUFJLE9BQU9uN0IsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixzQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxlQUFnQixZQUFhLFFBQVM4c0IsRUFBV2tNLFdBQWEsSUFBSSxPQUFPLzdCLEVBQVcsQ0FDbkcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsd0NBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssZUFBZ0IsVUFBVyxRQUFTOHNCLEVBQVczbUIsU0FBVyxJQUFJLE9BQU9sSixFQUFXLENBQy9GLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHNDQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGVBQWdCLE9BQVEsWUFBYThzQixFQUFXNGEsTUFBTSxPQUFPenFDLEVBQVcsQ0FDdkYsZUFBSTJxQyxHQUNGLE9BQU81bkMsRUFBSXNQLEtBQUt1WixVQUF1QixtQ0FDekMsRUFDQSxjQUFJZ2YsR0FDRixPQUFPN25DLEVBQUlzUCxLQUFLdVosVUFBdUIsa0NBQ3pDLEVBQ0EsUUFBSWlmLEdBQ0YsT0FBTzluQyxFQUFJc1AsS0FBS3VaLFVBQXVCLCtCQUN6QyxNQzNNTixNQUFNa2YsR0FBbUIsMkJBSW5CNU0sR0FBTzJFLEdBQTRCM2tDLEVBQU9DLFdBQVcsT0FBT0MsT0FBT3lrQyxHQUFTeGtDLE9BQU8sT0FvRG5GZ1gsR0FBZS9TLE1BQU9TLEVBQWF1RSxFQUFVeWpDLEVBQTRCOXJDLEtBQzdFLElBQUtxSSxFQUFJOUUsV0FBYThFLEVBQUk3RSxPQUFRLE9BRWxDLE1BQU15RixFQUFRWixFQUFJN0UsU0FBVzZFLEVBQUlvUCxZQUFjak8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFVBQVksTUFDeEYsSUFBS3hPLEVBQU8sT0FFWixNQUFNbzFCLEVBeERrQixFQUFDcDBCLEVBQXVCMUcsS0FDaEQsTUFBTXZELEtBQUVBLEVBQU8sR0FBRStyQyxTQUFFQSxFQUFRblAsU0FBRUEsRUFBUXdCLE9BQUVBLEdBQVduMEIsRUFDNUMraEMsRUFBYy9NLEdBQUlyQyxHQUNsQm9CLEdBQU8sSUFBSXArQixNQUFPaytCLGNBRWxCeE0sRUFBUSxRQURFOE0sS0FBVXJQLEdBQVcsR0FBRy91QixJQUFPdUQsUUFDbkJ5NkIsSUFFNUIsTUFBTyxTQUFTK04sS0FESDlzQyxFQUFPcS9CLFdBQVcsT0FBUTBOLEdBQWE3c0MsT0FBT215QixHQUFPbHlCLE9BQU8sYUFrRHZEMitCLENBQWtCK04sRUFBY3pqQyxFQUFJOUUsVUFDaEQwRyxFQS9DWSxFQUNsQkEsRUFDQTFHLEVBQ0E4NkIsRUFDQXAxQixLQUVBLE1BQU1tMUIsT0FBRUEsRUFBTXArQixLQUFFQSxHQUFTaUssRUFDekIsSUFBSXl4QixHQUFZenhCLEVBQVF5eEIsVUFBWW1RLElBQWtCaHJDLFFBQVEsUUFBUyxJQUt2RSxPQUpLNjZCLEVBQVN2MkIsV0FBVyxVQUN2QnUyQixFQUFXLFdBQVdBLEtBR2pCLENBQ0xwM0IsT0FBUSxNQUNSdEcsSUFBSyxHQUFHMDlCLEtBQVkwQyxLQUFVclAsR0FBVyxHQUFHL3VCLElBQU91RCxPQUNuRHkyQixRQUFTLENBQ1B1QyxjQUFlOEIsRUFDZnorQixNQUFNLElBQUlBLE1BQU9rK0IsY0FDakIsZUFBZ0JJLEVBQUtDLFFBQVE1NkIsSUFBYSw0QkFFNUMweUIsS0FBTWh0QixFQUNOMUUseUJBQXlCLElBMEJYazNCLENBQVlxUSxFQUFjempDLEVBQUk5RSxTQUFVODZCLEVBQVdwMUIsR0FHbkUsR0FoRTBCLGFBOERQbkYsRUFBSU8sUUFBUTRGLElBRXRCb3ZCLFdBQ1AsTUFBTSxJQUFJemtCLE1BQU0sd0JBR1h2TSxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FFWCxNQUFNeW9DLEVBQVNILEVBQWE3aEMsU0FBVyxHQUNqQ3E5QixFQUFVLEdBQUd3RSxFQUFhOXRDLE9BQU8rd0IsR0FBVyxHQUFHL3VCLElBQU9xSSxFQUFJOUUsY0FBYzBvQyxJQUU5RTVqQyxFQUFJbVEsT0FBU3N6QixFQUFhSSxlQUFpQkMsR0FBa0I3RSxFQUFTd0UsRUFBY3pqQyxFQUFJOUUsVUFBWStqQyxHQUdoRzZFLEdBQW9CLENBQUNudUMsRUFBYWlNLEVBQXVCMUcsS0FDN0QsTUFBTTZvQyxFQXZDa0IsRUFDeEJGLEVBQ0FHLEVBQ0FwaUMsRUFDQTFHLEtBRUEsTUFBTStvQyxFQUFNLElBQUlyaUMsRUFBUWpLLE1BQVEsS0FBS3VELElBQVcxQyxRQUFRLE9BQVEsS0FBS0EsUUFBUSxRQUFTLEtBQ2hGbEIsRUFBTW5CLEtBQUs2USxNQUFNelAsS0FBS0QsTUFBUSxLQUM5QjRzQyxFQUFTRixFQUFhMXNDLEVBQU1rQyxTQUFTd3FDLEVBQVd2dEMsV0FBWSxJQUFNYSxFQWhEOUMsS0FtRDFCLE1BQU8sUUFGTXMvQixHQUFJLEdBQUdpTixLQUFrQkssS0FBVUQsS0FDYkUsVUFBVSxHQUFJLE1BQU1ELEtBNkIzQ0UsQ0FBa0J4aUMsRUFBUWlpQyxlQUFnQmppQyxFQUFRb2lDLFdBQVlwaUMsRUFBUzFHLEdBQ25GLE9BQU92RixFQUFJb0QsU0FBUyxLQUFPLEdBQUdwRCxLQUFPb3VDLElBQVEsR0FBR3B1QyxLQUFPb3VDLEtBR25EdDBCLEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNZ29DLEVBQWVob0MsRUFBSXdOLFVBQXdCLGdCQUNqRCxJQUFLdzZCLEVBQWMsTUFBTSxJQUFJbDNCLE1BQU0sMkJBRW5DLElBQ0UsTUFBTWtuQixFQUFVaDRCLEVBQUk2TyxPQUNkM1MsRUFBTzB1QixHQUFpQixDQUFFMXVCLEtBQU04ckMsRUFBYTlyQyxPQUNuRDhyQyxFQUFhOXJDLEtBQU9BLEVBRXBCLElBQUssTUFBTXFJLEtBQU95ekIsUUFDVjFsQixHQUFhdFMsRUFBS3VFLEVBQUt5akMsRUFBYzlyQyxHQUc3QyxPQUFPOEQsQ0FDVCxDQUFFLE1BQU9peUIsR0FFUCxNQURBMlcsR0FBa0I1b0MsRUFBS2l5QixHQUNqQkEsQ0FDUixHQUdJMlcsR0FBb0IsQ0FBQzVvQyxFQUFhaXlCLEtBR3RDLEdBRndDLGtCQUFoQkEsRUFBSTN3QixRQUcxQnRCLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBT2x5QixFQUFJc1AsS0FBS3VaLFVBQXVCLGlCQUN2Q3NKLEtBQU1ueUIsRUFBSXNQLEtBQUt1WixVQUF1Qix3QkFFbkMsQ0FDTCxNQUFNZ2dCLEVBQVlsbEMsR0FBNEJzdUIsRUFBSTd3QixPQUM1QzBuQyxFQUFpQyxpQkFBZEQsR0FBMEJBLEVBQVlBLEVBQVU3VyxLQUFPNlcsR0FBYSxnQkFFN0Y3b0MsRUFBSXdRLEtBQUsvRCxHQUFjc25CLGFBQWMsQ0FDbkM3QixNQUFPbHlCLEVBQUlzUCxLQUFLdVosVUFBdUIsaUJBQ3ZDc0osS0FBTW55QixFQUFJc1AsS0FBS3VaLFVBQXVCLHVCQUF3QixDQUFFbUosS0FBTThXLElBQ3RFbGtDLEtBQU0sb0NBRVYsR0FHSW5CLEdBQVV6RCxJQUNkLE1BQU04c0IsRUFBYTlzQixFQUFJd04sVUFBd0IsaUJBQW1CLENBQUEsRUFFbEUsTUFBTyxDQUNMNmQsR0FBWXJyQixFQUFLLFFBQVMsU0FBVSxRQUFTOHNCLEVBQVd3TixRQUFVLElBQUksR0FFdEVqUCxHQUFZcnJCLEVBQUssUUFBUyxXQUFZLFFBQVM4c0IsRUFBV21iLFVBQVksSUFBSSxPQUFNaHJDLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsZ0NBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssUUFBUyxXQUFZLFFBQVM4c0IsRUFBV2dNLFVBQVksSUFBSSxPQUFNNzdCLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsZ0NBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssUUFBUyxNQUFPLFFBQVM4c0IsRUFBVzV5QixLQUFPLElBQUksT0FBTStDLEVBQVcsQ0FDL0UsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsMkJBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssUUFBUyxVQUFXLFFBQVM4c0IsRUFBVzNtQixTQUFXLElBQUksT0FBT2xKLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLdVosVUFBdUIsK0JBQ3pDLElBRUZ3QyxHQUFZcnJCLEVBQUssUUFBUyxPQUFRLFFBQVM4c0IsRUFBVzV3QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNsRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qiw0QkFDekMsSUFFRndDLEdBQVlyckIsRUFBSyxRQUFTLGlCQUFrQixRQUFTOHNCLEVBQVdzYixnQkFBa0IsSUFBSSxHQUN0Ri9jLEdBQVlyckIsRUFBSyxRQUFTLGFBQWMsUUFBUzhzQixFQUFXeWIsWUFBYyxJQUFJLEdBQzlFbGQsR0FBWXJyQixFQUFLLFFBQVMsV0FBWSxRQUFTOHNCLEVBQVc4SyxVQUFZbVEsSUFBa0IsT0FBTzlxQyxFQUFXLENBQ3hHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGdDQUN6QyxNQy9KTixNQUFNa2dCLEdBQWdCLFdBdUJoQkMsR0FBa0J6a0MsSUFDdEIsR0FBSUEsRUFBSTdFLE9BQVEsT0FBTzZFLEVBQUk3RSxPQUMzQixHQUFJNkUsRUFBSW9QLFlBQWEsT0FBT2pPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxVQUN6RCxNQUFNLElBQUk3QyxNQUFNLHdCQUdabTRCLEdBQWdCLENBQ3BCekYsRUFDQXpLLEVBQ0FtUSxFQUNBenBDLEVBQ0Ewb0MsRUFDQWdCLElBSU8sR0FBRzNGLEtBRFV2WSxHQUFXLEdBRGJrZSxFQUFhRCxFQUFVblEsSUFDS3Q1QixLQUFZMUMsUUFBUSxRQUFTLE1BQ3hDb3JDLElBRy9CaUIsR0FBa0IsQ0FBQ3BwQyxFQUFhUCxFQUFrQjBtQyxLQUN0RCxNQUFNakYsRUFBY2hsQyxFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLFVBQVcsZUFDaERzNEIsRUFBa0J6cEMsRUFBS3JCLEtBQUtxbUMsRUFBYXpoQyxHQUMvQzhOLEVBQWNyUixFQUFLbEMsUUFBUTJyQyxJQUMzQmhtQyxFQUFHcU8sY0FBYzIzQixFQUFpQlEsSUFHOUJrRCxHQUFjOXBDLE1BQ2xCdTlCLEVBQ0EvRCxFQUNBdDVCLEVBQ0EwbUMsS0FFQSxNQUFNbUQsRUFBb0JwdEMsRUFBS2xDLFFBQVEsR0FBRysrQixJQUFhdDVCLEtBQ2pEOHBDLEVBQXFDLE1BQXRCRCxFQUE0QixHQUFLQSxFQUVsREMsU0FDSXpNLEVBQU8wTSxnQkFBZ0JELEVBQWMsQ0FBRUUsV0FBVyxJQUcxRCxNQUFNanFDLEVBQVcsR0FBR3U1QixJQUFhdDVCLElBQVcxQyxRQUFRLGFBQWMsSUFDbEUsYUFBYSsvQixFQUFPNE0sZ0JBQWdCbHFDLEVBQVUybUMsRUFBYSxDQUFFd0QsV0FBVyxLQUdwRTMxQixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTXlELEVBQVN6RCxFQUFJd04sVUFBOEIsc0JBQ2pELElBQUsvSixFQUFRLE1BQU0sSUFBSXFOLE1BQU0saUNBakVOLElBQUNnbEIsRUFtRXhCcnlCLEVBQU9xeUIsTUFuRWlCQSxFQW1FT3J5QixFQUFPcXlCLEtBakUvQixHQWlFcUNyeUIsRUFBT3U0QixXQWpFNUIsV0FBYSxZQURsQmxHLEVBQUsvNEIsUUFBUSxxQkFBc0IsT0FtRXJEMEcsRUFBT3ZILEtBQU8wdUIsR0FBaUIsQ0FBRTF1QixLQUFNdUgsRUFBT3ZILEtBQU02dUIsYUFBYSxJQUVqRSxNQUFNbWUsRUFBVXRlLEdBQWlCLENBQUUxdUIsS0FBTXVILEVBQU95bEMsUUFBU25lLGFBQWEsSUFDaEVvZCxFQUFTMWtDLEVBQU8wQyxTQUFXLEdBRWpDLElBQ0UsTUFBTTIyQixFQXJFaUIsQ0FBQ3I1QixJQUMxQixNQUFNazZCLEVBQXFDLENBQ3pDOUUsU0FBVXAxQixFQUFPbzFCLFNBQ2pCQyxTQUFVcjFCLEVBQU9xMUIsU0FDakIzQyxjQUFlNFMsR0FDZjFTLGlCQUFrQjBTLElBT3BCLE1BSndCLFdBQXBCdGxDLEVBQU9tbUMsV0FDVGpNLEVBQWNpTSxTQUFXQyxHQUFTQyxRQUc3QkMsR0FBYXRtQyxFQUFPcXlCLEtBQU02SCxJQXlEaEJxTSxDQUFtQnZtQyxHQUM1QisvQixFQUFVLy9CLEVBQU91MUIsV0FBYXYxQixFQUFPcXlCLEtBRTNDLElBQUssTUFBTXZ4QixLQUFPdkUsRUFBSTZPLE9BQVEsQ0FDNUIsSUFBS3RLLEVBQUk5RSxTQUFVLFNBRW5CLE1BQU0wbUMsRUFBYzZDLEdBQWV6a0MsR0FHbkMsVUFGMkI4a0MsR0FBWXZNLEVBQVFyNUIsRUFBT3ZILEtBQU1xSSxFQUFJOUUsU0FBVTBtQyxHQUd4RSxNQUFNLElBQUlyMUIsTUFBTSxpQkFHbEJzNEIsR0FBZ0JwcEMsRUFBS3VFLEVBQUk5RSxTQUFVMG1DLFVBRTVCNWhDLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUVYNkUsRUFBSW1RLE9BQVN1MEIsR0FBY3pGLEVBQVMvL0IsRUFBT3ZILEtBQU1ndEMsRUFBUzNrQyxFQUFJOUUsU0FBVTBvQyxJQUFVMWtDLEVBQU95bEMsU0FDekYza0MsRUFBSSs4QixZQUFjLHNDQUFnRG5XLG1CQUFtQjVtQixFQUFJOUUsV0FDM0YsQ0FFQSxPQUFPTyxDQUNULENBQUUsTUFBT2l5QixHQUtQLE1BSkFqeUIsRUFBSXdRLEtBQUsvRCxHQUFjc25CLGFBQWMsQ0FDbkM3QixNQUFPbHlCLEVBQUlzUCxLQUFLdVosVUFBdUIsaUJBQ3ZDc0osS0FBTW55QixFQUFJc1AsS0FBS3VaLFVBQXVCLG9CQUVsQ29KLENBQ1IsR0FHSXh1QixHQUFVekQsSUFDZCxNQUFNOHNCLEVBQWE5c0IsRUFBSXdOLFVBQThCLHVCQUF5QixDQUFBLEVBRTlFLE1BQU8sQ0FDTDZkLEdBQVlyckIsRUFBSyxjQUFlLE9BQVEsUUFBUzhzQixFQUFXZ0osTUFBUSxJQUFJLEdBQ3hFekssR0FBWXJyQixFQUFLLGNBQWUsYUFBYyxZQUFhOHNCLEVBQVdrUCxZQUFZLE9BQU8vK0IsRUFBVyxDQUNsRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1Qix3Q0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxjQUFlLFdBQVksUUFBUzhzQixFQUFXK0wsVUFBWSxJQUFJLE9BQU01N0IsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixzQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxjQUFlLFdBQVksUUFBUzhzQixFQUFXZ00sVUFBWSxJQUFJLE9BQU03N0IsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt1WixVQUF1QixzQ0FDekMsSUFFRndDLEdBQVlyckIsRUFBSyxjQUFlLE9BQVEsUUFBUzhzQixFQUFXNXdCLE1BQVEsSUFBSSxPQUFPZSxFQUFXLENBQ3hGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLGtDQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGNBQWUsVUFBVyxRQUFTOHNCLEVBQVdvYyxTQUFXLElBQUksT0FBT2pzQyxFQUFXLENBQzlGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLDBDQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGNBQWUsWUFBYSxRQUFTOHNCLEVBQVdrTSxXQUFhLElBQUksT0FBTy83QixFQUFXLENBQ2xHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHVDQUN6QyxJQUVGd0MsR0FBWXJyQixFQUFLLGNBQWUsV0FBWSxPQUFROHNCLEVBQVc4YyxVQUFZLFNBQVMsT0FBTzNzQyxFQUFXLENBQ3BHaXRCLFFBQVMsQ0FBQyxRQUFTLFlBRXJCbUIsR0FBWXJyQixFQUFLLGNBQWUsVUFBVyxRQUFTOHNCLEVBQVczbUIsU0FBVyxJQUFJLE9BQU9sSixFQUFXLENBQzlGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3VaLFVBQXVCLHFDQUN6QyxNQ2hKTixNQUFNb2hCLEdBQW1CLEtBQ2hCLENBQ0wsUUFBQXZiLENBQVMxdUIsSWxCNkdDLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQW9DLENBQy9ELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1Qix1QkFDekMsU0FDQTdVLFVBQ0F2USxJQUVKLENrQnBITXltQyxDQUFzQmxxQyxHakJzTGQsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN1YSxTQUFTdEQsR0FBaUMsQ0FDNUQsUUFBSXhwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3VaLFVBQXVCLHFCQUN6QyxTQUNBN1UsVUFDQXZRLElBRUosQ2lCN0xNMG1DLENBQWNucUMsR2hCNEZOLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTZCLENBQ3hELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixrQkFDekMsU0FDQTdVLFVBQ0F2USxJQUVKLENnQm5HTTJtQyxDQUFlcHFDLEdiZ1FQLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQXNDLENBQ2pFLFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixvQkFDekMsU0FDQTdVLFVBQ0F2USxJQUVKLENhdlFNNG1DLENBQW1CcnFDLEdaOEpYLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTZCLENBQ3hELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixnQkFDekMsU0FDQTdVLFVBQ0F2USxJQUVKLENZcktNNm1DLENBQWV0cUMsR1g2S1AsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN1YSxTQUFTdEQsR0FBNEIsQ0FDdkQsUUFBSXhwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3VaLFVBQXVCLGVBQ3pDLFNBQ0E3VSxVQUNBdlEsSUFFSixDV3BMTThtQyxDQUFjdnFDLEdWa0ZOLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTRCLENBQ3ZELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixlQUN6QyxTQUNBN1UsVUFDQXZRLElBRUosQ1V6Rk0rbUMsQ0FBY3hxQyxHVHNOTixTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3VhLFNBQVN0RCxHQUFnQyxDQUMzRCxRQUFJeHBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLdVosVUFBdUIsb0JBQ3pDLFNBQ0E3VSxVQUNBdlEsSUFFSixDUzdOTWduQyxDQUFhenFDLEdSMkhMLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQThCLENBQ3pELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixpQkFDekMsU0FDQTdVLFVBQ0F2USxJQUVKLENRbElNaW5DLENBQWdCMXFDLEdQaUtSLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTRCLENBQ3ZELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixlQUN6QyxTQUNBN1UsVUFDQXZRLElBRUosQ094S01rbkMsQ0FBYzNxQyxHTGdPTixTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3VhLFNBQVN0RCxHQUFnQyxDQUMzRCxRQUFJeHBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLdVosVUFBdUIsbUJBQ3pDLFNBQ0E3VSxVQUNBdlEsSUFFSixDS3ZPTW1uQyxDQUFhNXFDLEdKMkRMLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTJCLENBQ3RELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixjQUN6QyxTQUNBN1UsVUFDQXZRLElBRUosQ0lsRU1vbkMsQ0FBYTdxQyxHSDJMTCxTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3VhLFNBQVN0RCxHQUE0QixDQUN2RCxRQUFJeHBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLdVosVUFBdUIsc0JBQ3pDLFNBQ0E3VSxVQUNBdlEsSUFFSixDR2xNTXFuQyxDQUFjOXFDLEdGK0lOLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTdWEsU0FBU3RELEdBQTRCLENBQ3ZELFFBQUl4cEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt1WixVQUF1QixlQUN6QyxTQUNBN1UsVUFDQXZRLElBRUosQ0V0Sk1zbkMsQ0FBYy9xQyxHRHFJTixTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3VhLFNBQVN0RCxHQUFrQyxDQUM3RCxRQUFJeHBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLdVosVUFBdUIscUJBQ3pDLEVBQ0E3VSxVQUNBdlEsV0FFSixDQzVJTXVuQyxDQUFvQmhyQyxFQUN0QixJQzVCSixNQUFNaXJDLEdBQ2FqckMsSUFDQWtyQyxHQUNqQixXQUFBaCtCLENBQVlsTixHQUlWLEdBSEFvTixLQUFLcE4sSUFBTUEsRUFDWG9OLEtBQUs4OUIsR0FBSyxJQUFJQyxHQUFVLzlCLEtBQUtwTixJQUFJMk8sYUFFNUJ2QixLQUFLODlCLEdBQUd4NEIsSUFBSSxVQUNmLElBQ0V0RixLQUFLODlCLEdBQUdyYyxJQUFJLFNBQVUsQ0FDcEIxYSxTQUFVLE9BQ1Z5eUIsUUFBUyxPQUNUcGEsS0FBTSxDQUNKZ00sTUFBTyxLQUdiLENBQUUsTUFBTzU1QixHQUVQLE1BREF3TyxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsR0FDYkEsQ0FDUixDQUVGLElBQUt3TyxLQUFLODlCLEdBQUd4NEIsSUFBSSxnQkFDZixJQUNFdEYsS0FBSzg5QixHQUFHcmMsSUFBSSxlQUFnQixDQUFBLEVBQzlCLENBQUUsTUFBT2p3QixHQUVQLE1BREF3TyxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsR0FDYkEsQ0FDUixDQUVKLENBRUEsSUFBQXdzQyxDQUFLQyxHQUNILE9BQU9qK0IsS0FBSzg5QixHQUFHRSxLQUFLQyxFQUN0QixDQUVBLEdBQUFscUMsQ0FBSWxELEVBQWMsSUFFaEIsT0FEQW1QLEtBQUtnK0IsTUFBSyxHQUNIaCtCLEtBQUs4OUIsR0FBRy9wQyxJQUFJbEQsRUFDckIsQ0FFQSxHQUFBNHdCLENBQUk1d0IsRUFBYXV2QixHQUNmcGdCLEtBQUtnK0IsTUFBSyxHQUNWaCtCLEtBQUs4OUIsR0FBR3JjLElBQUk1d0IsRUFBS3V2QixFQUNuQixDQUVBLEdBQUE5YSxDQUFJelUsR0FFRixPQURBbVAsS0FBS2crQixNQUFLLEdBQ0hoK0IsS0FBSzg5QixHQUFHeDRCLElBQUl6VSxFQUNyQixDQUVBLEtBQUFxdEMsQ0FBTXJ0QyxFQUFhdXZCLEdBRWpCLE9BREFwZ0IsS0FBS2crQixNQUFLLEdBQ0hoK0IsS0FBSzg5QixHQUFHSSxNQUFNcnRDLEVBQUt1dkIsRUFDNUIsQ0FFQSxVQUFBaGUsQ0FBVy9MLEdBQ1R2RyxPQUFPQyxLQUFLc0csR0FBUTJrQixRQUFTeG1CLElBQzNCd0wsS0FBS3loQixJQUFJanRCLEVBQU02QixFQUFPN0IsS0FFMUIsQ0FFQSxZQUFBNk4sQ0FBYWhNLEdBQ1h2RyxPQUFPQyxLQUFLc0csR0FBUTJrQixRQUFTeG1CLElBQzNCd0wsS0FBS2srQixNQUFNMXBDLEVBQU02QixFQUFPN0IsS0FFNUIsRUN4RUssTUFBTTJwQyxHQUF5QiwyQkNnQ2hDQyxHQUVGLENBQ0ZDLHlsQ0FDQUMsaXdCQUNBQyxnNENBQ0FDLGd6Q0FDQUMsOHJCQU9JQyxHQUVGLENBQ0ZMLE9BQVEsa0JBQ1JDLE1BQU8sY0FDUEMsTUFBTyxnQkFDUEMsTUFBTyxXQUNQQyxJQUFLLFVBU1AsTUFBTUUsR0FBb0J4c0MsTUFBT1MsS0FOakMsU0FBMkJBLEdBQ3pCLE1BQU1nc0MsRUFBWTl2QyxFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTaytCLElBQ3pDaCtCLEVBQWN5K0IsRUFDaEIsQ0FJRUMsQ0FBa0Jqc0MsR0FFbEIsTUFBTWdzQyxFQUFZOXZDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVNrK0IsR0FBd0IsR0FBR3RhLElBQVEvb0IsT0FBTyw0QkFDbkYsYUFBYSxJQUFJL0gsUUFBeUIsQ0FBQ0MsRUFBY0MsS0FDdkQsTUFBTTZyQyxFQS9DaUIsTUFDekIsTUFBTUEsRUFBV2pxQyxRQUFRaXFDLFNBQ3pCLE9BQUlDLEdBQWMsTUFDRCxVQUFiRCxFQUNvQyxPQUEvQkUsRUFBR0MsVUFBVWp1QyxNQUFNLEtBQUssR0FBYyxRQUFVLFFBQ2pDLFdBQWI4dEMsRUFDRixTQUVBLFNBdUNVSSxHQUNYQyxFQUFhcndDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVN5K0IsR0FBd0JJLElBS2xFLElBQUlNLEVBSEM3c0MsRUFBR3dDLFdBQVdvcUMsSUFDakI1c0MsRUFBR3FPLGNBQWN1K0IsRUFBWWYsR0FBdUJVLEdBQVcsUUFJL0RNLEVBRGUsV0FBYk4sRUFDVXhaLEdBQU0sWUFBYSxDQUFDNlosRUFBWVAsSUFDdEIsVUFBYkUsR0FBcUMsVUFBYkEsRUFDckJ4WixHQUFNLGFBQWMsQ0FDOUIsYUFDQSxrQkFDQSxVQUNBLE9BQ0EsbUJBQ0EsZUFLQSxRQUNBNlosRUFDQVAsSUFHVXRaLEdBQU0sS0FBTSxDQUFDNlosRUFBWVAsSUFHdkNRLEVBQVU3WixPQUFPNWlCLEdBQUcsT0FBU2xQLElBQzNCLEdBQWlCLFVBQWJxckMsR0FDNkIsNkJBQTNCcnJDLEVBQUs3RixXQUFXdVQsT0FLbEIsT0FKQXZPLEVBQUl3USxLQUFLL0QsR0FBY3NuQixhQUFjLENBQ25DN0IsTUFBTyxrQ0FDUEMsS0FBTSxnRkFFRDl4QixFQUFPLElBQUl5USxNQUFNLGdGQUc1QixNQUFNMjdCLEVBQVU1ckMsRUFBSzdGLFdBQVd1VCxPQUloQyxJQUFJbStCLEdBQTJCLEVBVy9CLEdBUkl4d0MsRUFBS0MsU0FBU3N3QyxLQUFhdndDLEVBQUtDLFNBQVM2dkMsSUFHdkNyc0MsRUFBR3dDLFdBQVdzcUMsS0FDaEJDLEdBQTJCLEdBSWYsYUFBWkQsSUFBMkI5c0MsRUFBR3dDLFdBQVdzcUMsR0FDM0MsT0FBT3BzQyxFQUFPLElBQUl5USxNQUFNLGNBQWMyN0IsTUFHeENyc0MsRUFBUSxDQUNOcXNDLFVBQ0FDLGtDQzVGRixNQUFPQyxXQUFjMy9CLEVBQ2pCNC9CLFFBQ0FDLFVBQ0EzQixHQUNBNEIsY0FDUm4rQixXQUNBdEIsUUFDQThCLE9BQ0F0QixJQUNBZSxJQUNBQyxPQUNBM1QsTUFDQTRULFNBQ0FDLGVBQ0FFLGNBTUFDLFFBQ0FJLEtBQ0FGLFFBQWtCLFFBQ2xCQyxZQUVBLGdCQUFJTCxHQUNGLE9BQU81QixLQUFLMC9CLGFBQ2QsQ0FFQSxXQUFBNS9CLENBQVl5QixFQUFxQixJQUMvQnhCLFFBQ0FDLEtBQUt1QixXQUFhQSxFQUNsQnZCLEtBQUtsUyxNQUFRLEdBQ2JrUyxLQUFLMEIsU0FBVyxHQUNoQjFCLEtBQUsyQixlQUFpQixHQUN0QjNCLEtBQUt5QixPQUFTLEdBQ2R6QixLQUFLK0IsT0FBUyxDQUNaMkUsWUFBYSxJQUFJd2EsR0FBaUIsZUFDbENuYSxTQUFVLElBQUltYSxHQUFpQixZQUMvQnphLHVCQUF3QixJQUFJeWEsR0FBaUIsMEJBQzdDcGEsb0JBQXFCLElBQUlvYSxHQUFpQix1QkFDMUMvWixtQkFBb0IsSUFBSStaLEdBQWlCLHVCQUUzQ2xoQixLQUFLMi9CLGlCQUNMMy9CLEtBQUtTLElBQU0sSUFBSWdpQixHQUFPemlCLE1BQ3RCQSxLQUFLd0IsSUFBTSxJQUFJd2dCLEdBQVVoaUIsTUFDekJBLEtBQUs2QixjQUFnQixJQUFJcWlCLEdBQWNsa0IsTUFDdkNBLEtBQUs0L0IsWUFDUCxDQUVBLG1CQUFheFcsQ0FBTzduQixFQUFxQixJQUN2QyxNQUFNM08sRUFBTSxJQUFJMnNDLEdBQU1oK0IsR0FFdEIsYUFETTNPLEVBQUlzdkIsT0FDSHR2QixDQUNULENBRVEsY0FBQStzQyxHQUVOLEdBREEzL0IsS0FBS3VCLFdBQWF2QixLQUFLdUIsWUFBY3pTLEVBQUtyQixLQUFLb3lDLElBQVcsd0JBQ04sVUFBaEQvd0MsRUFBS0UsUUFBUWdSLEtBQUt1QixZQUFZaWQsY0FFaEMsTUFEQXhlLEtBQUt1QixXQUFhLEdBQ1ptQyxNQUFNLHFEQUVkMUQsS0FBS0MsUUFBVW5SLEVBQUtsQyxRQUFRb1QsS0FBS3VCLFlBQzVCaWEsRUFBZXhiLEtBQUt1QixhQUN2QnUrQixFQUFlLEdBQUc5L0IsS0FBS3VCLGFBRTNCLENBRVEsVUFBQXErQixHQUNONS9CLEtBQUs4OUIsR0FBSyxJQUFJRCxHQUFHNzlCLE1BQ2pCQSxLQUFLdy9CLFFBQVV4L0IsS0FBSzg5QixHQUFHRSxNQUFLLEVBQzlCLENBRVEsVUFBTTliLEdBQ1osSUFFRWxpQixLQUFLa0MsS0FBTyxJQUFJa1ksR0FBWXBhLE1BQzVCQSxLQUFLOEIsUUFBVSxJQUFJQSxHQUFROUIsTUFDM0JBLEtBQUswL0IsY0FBZ0IsSUFBSWhhLEdBQWExbEIsTUFFdEMraEIsR0FBcUIsU0FDckI4YSxLQUFtQnZiLFNBQVN0aEIsTXZCL0d6QixDQUNMLFFBQUFzaEIsQ0FBUzF1QixHQUNQQSxFQUFJbVAsT0FBTzJFLFlBQVk0YSxTQUFTLE9BQVE2SSxJQUN4Q3YzQixFQUFJbVAsT0FBTzJFLFlBQVk0YSxTQUFTLFNBQVUySSxHQUM1QyxHdUI0R3dCM0ksU0FBU3RoQixNQUMvQitoQixHQUFxQixVQUVmL2hCLEtBQUswL0IsY0FBY25rQixPQUN6QnZiLEtBQUt5L0IsVUFBWSxJQUFJOS9CLEdBQVVLLEtBQ2pDLENBQUUsTUFBT3hPLEdBR1AsTUFGQXdPLEtBQUtvRCxLQUFLL0QsR0FBY29GLGlCQUFpQixHQUN6Q3pFLEtBQUtTLElBQUl6TSxNQUFNeEMsR0FDVEEsQ0FDUixDQUNGLENBT0EsU0FBTXd2QixDQUFJaFosRUFBc0J4VCxHQUM5QixPQUFJQSxTQUNJd0wsS0FBSzRCLGFBQWFvakIsZUFBZXh3QixFQUFNd1QsU0FDL0JoSSxLQUFLNEIsYUFBYTZlLFVBQVVqc0IsSUFFckN3VCxFQUFPaEksS0FDaEIsQ0FFQSxnQkFBQSsvQixHQUMwQixLQUFwQi8vQixLQUFLdUIsYUFDUHZCLEtBQUt3QixJQUFJMGdCLE9BQ1RsaUIsS0FBS3dCLElBQUlnaEIsZUFFYixDQUVBLFNBQUFwaUIsQ0FBYTVMLEdBRVgsT0FEQXdMLEtBQUt3L0IsUUFBVXgvQixLQUFLODlCLEdBQUdFLE1BQUssR0FDdkJ4cEMsRUFHRVQsRUFBSWlNLEtBQUt3L0IsUUFBU2hyQyxHQUZoQndMLEtBQUt3L0IsT0FHaEIsQ0FFQSxVQUFBcDlCLENBQVcvTCxHQUNKRCxHQUFtQkMsSUFJeEIySixLQUFLc0MsVUFBVWpNLEdBQ2YySixLQUFLODlCLEdBQUcxN0IsV0FBVy9MLElBSmpCMkosS0FBS1MsSUFBSW5MLEtBQUsseURBS2xCLENBRUEsWUFBQStNLENBQWF4UixFQUFhbXZDLEdBQ25CbnZDLEdBQVFtdkMsSUFDVDlwQyxHQUF1QnJGLEdBQ3pCbVAsS0FBS1MsSUFBSW5MLEtBQUssY0FBY3pFLHVCQUc5Qm1QLEtBQUt1QyxZQUFZMVIsRUFBS212QyxHQUN0QmhnQyxLQUFLODlCLEdBQUdJLE1BQU1ydEMsRUFBS212QyxJQUNyQixDQUVBLFNBQUExOUIsQ0FBVWpNLEdBQ0hELEdBQW1CQyxHQUl4QnZHLE9BQU9DLEtBQUtzRyxHQUFRMmtCLFFBQVN4bUIsSUFDdkIwQixHQUF1QjFCLEtBQ3pCd0wsS0FBS1MsSUFBSW5MLEtBQUssY0FBY2QsOEJBRXJCNkIsRUFBTzdCLElBRWhCaXRCLEVBQUl6aEIsS0FBS3cvQixRQUFTaHJDLEVBQU02QixFQUFPN0IsSUFDL0IreUIsR0FBU25rQixLQUFLOUQsR0FBVWlwQixjQUFlLENBQ3JDeEksV0FBWXZyQixFQUNaNHJCLE1BQU8vcEIsRUFBTzdCLE9BWmhCd0wsS0FBS1MsSUFBSW5MLEtBQUsseURBZWxCLENBRUEsV0FBQWlOLENBQVkxUixFQUFhbXZDLEdBQ2xCbnZDLEdBQVFtdkMsSUFDVDlwQyxHQUF1QnJGLEdBQ3pCbVAsS0FBS1MsSUFBSW5MLEtBQUssY0FBY3pFLG9CQUc5QnF0QyxFQUFNbCtCLEtBQUtJLFVBQVV2UCxHQUFNbXZDLEdBQzdCLENBRUEsV0FBSTdzQyxHQUNGLE9BQU82TSxLQUFLOEIsUUFBUTNPLFFBQVFnUCxLQUFLbkMsS0FBSzhCLFFBQ3hDLENBRUEsWUFBTVUsQ0FBTzFVLEdBQ1gsR0FBd0IsS0FBcEJrUyxLQUFLdUIsV0FFUCxPQURBdkIsS0FBS1MsSUFBSXpNLE1BQU0sNERBQ1IsR0FHVCxRQUFjbkUsSUFBVi9CLEdBQXdDLElBQWpCQSxFQUFNZCxPQXNCMUIsQ0FDTCxNQUFNeVUsT0FBRUEsU0FBaUJ6QixLQUFLeS9CLFVBQVVuK0IsTUFBTXhULEdBQzlDLE9BQU8yVCxDQUNULENBeEJFLElBQ0UsTUFBTTQ5QixRQUFFQSxFQUFPQyx5QkFBRUEsU0FBbUNYLEdBQWtCMytCLE1BQ2hFaWdDLEVBQVUsS0FDVFgsR0FDSFksRUFBT2IsR0FBU2xyQyxNQUFNM0MsSUFDcEJ3TyxLQUFLUyxJQUFJek0sTUFBTXhDLE1BSXJCLEdBQWdCLGFBQVo2dEMsRUFDRixNQUFNLElBQUkzN0IsTUFBTSxnQ0FDWCxDQUNMMUQsS0FBSzRDLEtBQUt2RCxHQUFjbUYsT0FBUXk3QixHQUNoQ2pnQyxLQUFLNEMsS0FBS3ZELEdBQWNrSSxTQUFVMDRCLEdBQ2xDLE1BQU14K0IsT0FBRUEsU0FBaUJ6QixLQUFLeS9CLFVBQVVuK0IsTUFBTSxDQUFDKzlCLElBQy9DLE9BQU81OUIsQ0FDVCxDQUNGLENBQUUsTUFBT2pRLEdBRVAsTUFEQXdPLEtBQUtvRCxLQUFLL0QsR0FBY21GLE9BQVFoVCxHQUMxQkEsQ0FDUixDQUtKLENBRUEscUJBQU1pUixDQUFnQjNVLEVBQWVrVCxHQUFjLEdBQ2pELEdBQXdCLEtBQXBCaEIsS0FBS3VCLFdBRVAsT0FEQXZCLEtBQUtTLElBQUl6TSxNQUFNLDREQUNSZ00sS0FHVCxRQUFjblEsSUFBVi9CLEdBQXdDLElBQWpCQSxFQUFNZCxPQXNCL0IsYUFBYWdULEtBQUt5L0IsVUFBVW4rQixNQUFNeFQsRUFBT2tULEdBckJ6QyxJQUNFLE1BQU1xK0IsUUFBRUEsRUFBT0MseUJBQUVBLFNBQW1DWCxHQUFrQjMrQixNQUNoRWlnQyxFQUFVLEtBQ1RYLEdBQ0hZLEVBQU9iLEdBQVNsckMsTUFBTTNDLElBQ3BCd08sS0FBS1MsSUFBSXpNLE1BQU14QyxNQUlyQixHQUFnQixhQUFaNnRDLEVBQ0YsTUFBTSxJQUFJMzdCLE1BQU0sZ0NBSWhCLE9BRkExRCxLQUFLNEMsS0FBS3ZELEdBQWNtRixPQUFReTdCLEdBQ2hDamdDLEtBQUs0QyxLQUFLdkQsR0FBY2tJLFNBQVUwNEIsU0FDckJqZ0MsS0FBS3kvQixVQUFVbitCLE1BQU0sQ0FBQys5QixHQUFVcitCLEVBRWpELENBQUUsTUFBT3hQLEdBRVAsTUFEQXdPLEtBQUtvRCxLQUFLL0QsR0FBY21GLE9BQVFoVCxHQUMxQkEsQ0FDUixDQUlKIn0=
|
|
1
|
+
import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import a from"fs-extra";import{readJSONSync as i,ensureDirSync as s,emptyDirSync as E,pathExistsSync as o,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as P,remove as c}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as A,get as C,set as T,unset as D}from"lodash-es";import g from"node:crypto";import L,{fileURLToPath as d,URL as m,pathToFileURL as h}from"node:url";import{imageSize as f}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as O}from"node:os";import{ObjectAdapter as M,I18n as y}from"@piclist/i18n";import G from"js-yaml";import{Command as w}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import H from"dayjs";import{spawn as F}from"cross-spawn";import K from"resolve";import $ from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as z,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ae}from"@piclist/store";import{spawn as ie}from"node:child_process";import se from"is-wsl";const Ee=r(d(import.meta.url));function oe(e){const t=new Array(e);let r=0,n=0,a=0;for(;r<e;){if(a<6){n=n<<30|1073741824*Math.random()>>>0,a+=30;continue}const e=63&n;n>>>=6,a-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return g.createHash("md5").update(e).digest("hex")}function _e(e){return g.createHash("sha256").update(e).digest("hex")}function le(e,r,n,a){const i=new Date,s=i.getFullYear().toString(),E=t.basename(e,t.extname(e)),o={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(i.getMonth()+1),"{d}":()=>Se(i.getDate()),"{h}":()=>Se(i.getHours()),"{i}":()=>Se(i.getMinutes()),"{s}":()=>Se(i.getSeconds()),"{ms}":()=>i.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(a||E),"{sha256}":()=>_e(a||E),"{md5-16}":()=>Ie(a||E).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):E,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>i.getTime().toString()};if(void 0===r||!Object.keys(o).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(o).reduce((e,t)=>e.replace(new RegExp(t,"g"),o[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>oe(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(a||E).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,a)=>{a=Math.max(1,a||0);return t.dirname(e).split(t.sep).slice(0-a).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const Pe=e=>/^https?:\/\//.test(e),ce=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ue=e=>(ce(e)||(e=encodeURI(e)),e),pe=e=>{try{const{width:t=0,height:r=0,type:n}=f(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ae=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),buffer:await a.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},Ce=async(e,r)=>{let n;e=ue(e);const a=new Promise((a,i)=>{(async()=>{try{const i=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new m(e).pathname;let E="";try{E=new m(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){E=t.extname(s)||""}!E.startsWith(".")&&E&&(E=`.${E}`),a({buffer:i,fileName:t.basename(s),extname:E,success:!0})}catch(t){clearTimeout(n),a({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(i)}),i=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([a,i])},Te=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":De(e)?"simple":"unknown",De=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!a.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},ge=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,Le=(e,r=console)=>{switch(Te(e)){case"normal":case"scope":return e;case"simple":return ge(e);default:{let n=e;return t.isAbsolute(e)&&a.existsSync(e)?me(n):(n=t.join(process.cwd(),e),a.existsSync(n)?me(n):(r.warn(`Can't find plugin ${e}`),""))}}},de=(e,r=console)=>{switch(Te(e)){case"normal":return he(e);case"scope":return he(e,!0);case"simple":return he(ge(e));default:{if(!a.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(a.existsSync(n)){const e=i(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},me=e=>e.split(t.sep).join("/"),he=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},fe=[],Be=e=>fe.some(t=>e.startsWith(t)),Ne=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ue(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Re=(e=0)=>isNaN(Number(e))?0:Number(e),Oe=()=>"development"===process.env.NODE_ENV;const Me=t.join(Ee,"assets","piclist.png");async function ye(e,t,r,n,a,i,s,E,o,S,I,_){E=!E||E<0||E>1?.15:E;const l=B(e,{animated:!0}),{width:P=200}=await l.metadata(),c=await async function(e,t,r,n,a,i,s,E=200,o=0,S=255){let I;"image"===e?(S=Re(S),s=s||Me,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const a={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},i=N.loadSync(n).getSVG(t,a);return Buffer.from(i)}(t,r,i,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),P=Math.floor(E*Re(a)),c=Math.floor(P*l/_);return await B(I).resize(P,c,{fit:"inside"}).rotate(o,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,i,s,E,o,S,P,a,_);return await l.composite([{input:c,gravity:I||"southeast",tile:n}]).toBuffer()}const Ge=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),we=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],be=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],xe=e=>we.includes(e);function We(e,t){e=e||{};return{isAddWatermark:!!(e.isAddWatermarkMap?.[t]??e.isAddWatermark),watermarkType:(e.watermarkTypeMap?.[t]??e.watermarkType)||"text",isFullScreenWatermark:!!(e.isFullScreenWatermarkMap?.[t]??e.isFullScreenWatermark),watermarkDegree:Re(e.watermarkDegreeMap?.[t]??e.watermarkDegree),watermarkText:(e.watermarkTextMap?.[t]??e.watermarkText)||"",watermarkFontPath:e.watermarkFontPath||"",watermarkScaleRatio:Re(e.watermarkScaleRatioMap?.[t]??e.watermarkScaleRatio),watermarkColor:(e.watermarkColorMap?.[t]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(e.watermarkImagePathMap?.[t]??e.watermarkImagePath)||"",watermarkPosition:(e.watermarkPositionMap?.[t]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Re(e.watermarkImageOpacityMap?.[t]??e.watermarkImageOpacity),picBed:t}}function He(e,t){e=e||{};return{quality:Re(e.qualityMap?.[t]??e.quality),isConvert:!!(e.isConvertMap?.[t]??e.isConvert),convertFormat:(e.convertFormatMap?.[t]??e.convertFormat)||"jpg",isReSize:!!(e.isReSizeMap?.[t]??e.isReSize),reSizeHeight:Re(e.reSizeHeightMap?.[t]??e.reSizeHeight),reSizeWidth:Re(e.reSizeWidthMap?.[t]??e.reSizeWidth),skipReSizeOfSmallImg:!!(e.skipReSizeOfSmallImgMap?.[t]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(e.isReSizeByPercentMap?.[t]??e.isReSizeByPercent),reSizePercent:Re(e.reSizePercentMap?.[t]??e.reSizePercent),isRotate:!!(e.isRotateMap?.[t]??e.isRotate),rotateDegree:Re(e.rotateDegreeMap?.[t]??e.rotateDegree),isRemoveExif:!!(e.isRemoveExifMap?.[t]??e.isRemoveExif),isFlip:!!(e.isFlipMap?.[t]??e.isFlip),isFlop:!!(e.isFlopMap?.[t]??e.isFlop),formatConvertObj:(e.formatConvertObjMap?.[t]??e.formatConvertObj)||{},picBed:t}}async function Fe(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await ye(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Re(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Re(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Re(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function Ke(e){const t="string"==typeof e.formatConvertObj?Ue(e.formatConvertObj):e.formatConvertObj;return{quality:Re(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Re(e.reSizeHeight),reSizeWidth:Re(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Re(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Re(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function $e(e,t,r,n){t=Ke(t);try{if(r=ke(r),!be.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),a=100;if(Ge(t.quality)&&t.quality<100&&(a=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(Ge(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const a=t.reSizeHeight/r;n=n.resize(Math.round(e*a),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const a=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*a),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=ve(t,r);e!==r&&(n=n.toFormat(e,{quality:a,mozjpeg:!0}))}else n=r&&xe(r)?n.toFormat(r,{quality:a,mozjpeg:!0}):n.toFormat("jpg",{quality:a,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const ke=e=>e.toLowerCase().replace(".","");function ve(e,t){if(e=Ke(e||{}),"gif"===(t=ke(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],xe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ye=(e,t)=>(t=ke(t),!!e&&!!e.isAddWatermark&&be.includes(t)&&"svg"!==t),Ve=(e,t)=>{if(!be.includes(ke(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:a,isReSize:i,reSizeHeight:s,reSizeWidth:E,isRotate:o,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:P}=Ke(e);if(Ge(r)&&r<100)return!0;if(n&&Ge(a))return!0;if(i&&("number"==typeof s&&s>0||"number"==typeof E&&E>0))return!0;if(o&&S)return!0;if(l||P)return!0;if(I){return t!==(_||"jpg")}return!1},ze=async(e,t)=>(t=ke(t),be.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var je=Object.freeze({__proto__:null,AddWatermark:ye,configBlackList:fe,forceNumber:Re,getConvertedFormat:ve,getFSFile:Ae,getImageSize:pe,getNormalPluginName:de,getPluginNameType:Te,getProcessPluginName:Le,getTreatedCompressOptions:He,getTreatedWaterMarkOptions:We,getURLFile:Ce,handleCompletePluginName:ge,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:me,handleUrlEncode:ue,imageAddWaterMark:Fe,imageCompress:$e,isConfigKeyInBlackList:Be,isDev:Oe,isInputConfigValid:Ne,isNeedAddWatermark:Ye,isNeedCompress:Ve,isSimpleName:De,isUrl:Pe,isUrlEncode:ce,randomStringGenerator:oe,removeExif:ze,removePluginVersion:he,renameFileNameWithCustomString:le,renameFileNameWithRandomString:function(e,r=5){return`${oe(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${oe(5)}${t.extname(e)}`},safeParse:Ue});var qe,Xe,Qe;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(qe||(qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Xe||(Xe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Qe||(Qe={}));const Ze="Add watermark to image",Je="Compress or convert image",et="Remove exif info",tt="Download ttf file",rt="Download ttf file successfully",nt="Download ttf file failed",at="Download ttf file failed, skip add watermark",it=0,st=30,Et=60,ot=-1,St=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],It="smms";class _t extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||E(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),a.existsSync(this.ttfPath)&&a.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(tt);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return a.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(rt),!0}catch(e){return this.ctx.log.error(nt),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=this.getUploaderType(e);if(t){t.picBed=n;const e="string"==typeof t.formatConvertObj?Ue(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=n);return{compressOptions:He(t,n),watermarkOptions:We(r,n)}}getUploaderType(e){return e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||It}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):St;return new Set(r.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=p(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(Xe.FAILED),e.emit(Xe.UPLOAD_PROGRESS,ot),e.emit(Xe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),a=this.getSkipExtensions(e);if(e.emit(Xe.UPLOAD_PROGRESS,it),e.emit(Xe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const i=t.join(e.baseDir,"piclistTemp");await this.processImages(e,i,r,n,a)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,a){await Promise.allSettled(e.input.map(async(i,s)=>{await this.processImage(i,s,e,t,r,n,a)}))}async processImage(e,r,n,i,s,E,o){const S=Pe(e),I=S?await Ce(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=o.has(_.toLowerCase()),P=S?I.buffer:a.readFileSync(e),c=await this.applyProcessing(P,_,s,E,l,e,i,n);c&&await this.saveProcessedImage(e,r,n,i,c,_,s,S,I)}async applyProcessing(e,t,r,n,a,i,s,E){let o;return Ve(r,t)&&!a&&(o=await this.compressImage(e,o,t,r,i,s,E)),Ye(n,t)&&!a&&(o=await this.addWatermark(e,n,E)),o||!r?.isRemoveExif||a||(E.log.info(et),o=await ze(e,t)),o}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(at)}return r.log.info(Ze),await Fe(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,a,i,s){s.log.info(Je);const E=r.toLowerCase();return Pe(a)||".heic"!==E&&".heif"!==E?await $e(t??e,n,r,s.log):await this.convertHeicAndCompress(e,a,r,i,n,s)}async convertHeicAndCompress(e,r,n,i,s,E){const o=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(i,`${t.basename(r,n)}.jpg`);return a.writeFileSync(S,Buffer.from(o)),await $e(a.readFileSync(S),s,".jpg",E.log)}async saveProcessedImage(e,r,n,i,s,E,o,S,I){let _=o?.isConvert?ve(o,E):E;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(i,`${this.getFileBaseName(I)}${_}`):t.join(i,`${t.basename(e,E)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,E)}${_}`),a.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=e.getConfig("buildIn.rename")||{};if(!t.enable)return e;const r=t.format||"{filename}";return e.output=e.output.map((t,n)=>{let a=t.fileName;return a=le(e.rawInputPath[n],r,void 0,t.base64Image?t.base64Image:t.buffer),a=a.replace(/\/+/g,"/"),"/"===a.slice(-1)&&(a+=n.toString()),t.fileName=a,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Xe.UPLOAD_PROGRESS,st);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Xe.UPLOAD_PROGRESS,Et),e.log.info("Before upload"),e.emit(Xe.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t),n=t;r||(e.log.warn(`Can't find uploader - ${t}, switch to default uploader - ${It}`),n=It,r=e.helper.uploader.get(It)),e.log.info(`Uploading... Current uploader is [${n}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Xe.AFTER_UPLOAD,e),e.emit(Xe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let a=0;a<r;a++)void 0!==e.output[a].imgUrl&&(t+=n?ue(e.output[a].imgUrl):e.output[a].imgUrl,a!==r-1&&(t+="\n")),delete e.output[a].base64Image,delete e.output[a].buffer;return e.emit(Xe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),a=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${a}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${a}: ${n[r]} error`),e}})),t}}const lt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_WEBPATH:"设定网站路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_WEBPATH:"設定網站路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用於拼接網址路徑",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_WEBPATH:"Set Web Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class Pt{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new M(lt);let t=this.ctx.getConfig("settings.language")||"zh-CN";lt[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();a.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),i=a.readFileSync(n,"utf8");try{const e=G.load(i);lt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return o(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=A(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),lt[e]=t,!0)}getLanguageList(){return Object.keys(lt)}}const ct={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},ut={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},pt=(e,t,r,n,a,i)=>{let s=e.program.command(t).description(r).alias(n);i?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),i?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(a)},At={handle:e=>{const t=e.cmd;pt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.install(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),pt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),pt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.update(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Ct={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function Tt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const a=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return a?`${t?"/":""}${a}${r?"/":""}`:n?"":"/"}function Dt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const gt="advancedplist",Lt="alistplist",dt="aliyun",mt="aws-s3-plist",ht="github",ft="imgur",Bt="local",Nt="lskyplist",Ut="piclist",Rt="qiniu",Ot="sftpplist",Mt="smms",yt="tcyun",Gt="upyun",wt="webdavplist",bt=(e,t,r,n,a,i,s="PICBED",E)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:a,required:i,...E});const xt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),Wt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[bt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),bt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),bt(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),bt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),bt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),bt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),bt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),bt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),bt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),bt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),bt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),bt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),bt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),bt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[bt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),bt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),bt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),bt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),bt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),bt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),bt(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[bt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),bt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[bt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Ht=async(e,t,r,n)=>{const a=await e.cmd.inquirer.prompt(t),i=Ft(r,n);e.saveConfig({[i]:a}),"uploader"===r?e.saveConfig({"picBed.current":n,"picBed.uploader":n}):"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Ft=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Kt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name]").description("configure config of picgo modules, uploader|transformer|plugin|buildin").action((t,r)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t)=>{if(t&&t in Wt){const r=Wt[t];return void await Ht(e,r.config(e),"buildin",t)}const r=[{type:"list",name:"buildin",choices:Object.entries(Wt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],n=await e.cmd.inquirer.prompt(r),a=Wt[n.buildin];await Ht(e,a.config(e),"buildin",n.buildin)})(e,r);break;case"uploader":case"transformer":await(async(e,t,r)=>{if(r){const n=e.helper[t].get(r);return n?void(n.config&&await Ht(e,n.config(e),t,r)):void e.log.error(`No ${t} named ${r}`)}const n=e.helper[t].getIdList().map(t=>({name:xt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:n,message:`Choose a(n) ${t}`}],i=await e.cmd.inquirer.prompt(a),s=e.helper[t].get(i[t]);s?.config&&await Ht(e,s.config(e),t,i[t])})(e,t,r);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await Ht(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),a=await e.pluginLoader.getPlugin(n.plugin);a?.config&&await Ht(e,a.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config successfully!"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},$t={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>Pe(e)?e:t.resolve(e)).filter(t=>{const r=a.existsSync(t)||Pe(t);return r||e.log.warn(`${t} does not exist.`),r});await e.upload(n)})().catch(t=>{e.log.error(t)})})}},kt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const a={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:xt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!a[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(a[r])}else n=Object.keys(a).map(e=>a[e]);const i=await t.inquirer.prompt(n);if(i.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{i.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":i.uploader||e.getConfig("picBed.current"),"picBed.uploader":i.uploader||e.getConfig("picBed.current"),"picBed.transformer":i.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class vt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),vt.currentPlugin&&(this.pluginIdMap.has(vt.currentPlugin)?this.pluginIdMap.get(vt.currentPlugin)?.push(e):this.pluginIdMap.set(vt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Yt=(e=null)=>{vt.currentPlugin=e};class Vt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new w,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.0.4","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",At),e.cmd.register("config",ct),e.cmd.register("setting",Kt),e.cmd.register("upload",$t),e.cmd.register("use",kt),e.cmd.register("proxy",Ct),e.cmd.register("i18n",ut)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=vt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class zt{level={[qe.success]:"green",[qe.info]:"blue",[qe.warn]:"yellow",[qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(a.existsSync(e)){const t=a.statSync(e).size,r=1024*Re(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){a.existsSync(e)&&(a.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${H().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",a.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(qe.success,...e)}info(...e){this.handleLog(qe.info,...e)}error(...e){this.handleLog(qe.error,...e)}warn(...e){this.handleLog(qe.warn,...e)}debug(...e){Oe()&&this.handleLog(qe.info,...e)}}class jt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],a=e.map(e=>qt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),i=a.map(e=>e.fullName),s=a.map(e=>e.pkgName);if(i.length>0){const e=await this.execCommand("install",i,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of i)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},a={}){const i=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let E=[e].concat(t).concat("--color=always").concat("--save");i&&(E=E.concat(`--registry=${i}`)),s&&(E=E.concat(`--proxy=${s}`));try{const e=F("npm",E,{cwd:r,env:{...process.env,...a}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Xe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Xe.FAILED,e)}})}}const qt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=Le(t,e.log);if(!n)return r;const a=de(n,e.log);return a?{success:!0,fullName:n,pkgName:a}:r};class Xt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!a.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};a.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return K.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!a.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=i(r),s=Object.keys(n.dependencies||{}),E=Object.keys(n.devDependencies||{}),o=s.concat(E).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return a.existsSync(t)});for(const e of o)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Yt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Yt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Xe.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Yt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),E=t.join(s,"package.json");if(!a.existsSync(E))throw new Error(`Plugin package.json not found: ${e}`);try{const e=i(E),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(a.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=h(r).href,s=await import(n),E=(s.default||s)(this.ctx);return this.pluginMap.set(e,E),E}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const Qt=new e,Zt=new $.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function Jt(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function er(e){return{...e,statusCode:e.status,body:e.data}}function tr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class rr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),Qt.on(Qe.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new m(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=Zt;const t=n.create(this.options);t.interceptors.response.use(er,tr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new m(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)Jt(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var nr={handle:async e=>(e.output.push(...e.input),e)};const ar=(e,t,r)=>{const n=pe(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var ir={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let a;if(a=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:Pe(r)?await Ce(r,e):await Ae(r),a.success&&a.buffer){const i=ar(e,a.buffer,r),s=a.extname||i.extname||".png";t[n]={buffer:a.buffer,fileName:a.fileName||`${H().format("YYYYMMDDHHmmssSSS")}${s}`,width:i.width,height:i.height,extname:a.extname}}else e.log.error(a.reason)})),e.output=t.filter(e=>e),e}};const sr=(e,t,r,n,a,i,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...a},formData:{[s]:{value:e,options:{filename:t}},...i},json:!0}),Er=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const a=sr(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;let s=i;const E=t.resDataPath||"data.url";for(const e of E.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:i.message}),console.error("AdvancedPlist upload failed:",i),new Error(i.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},or=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,a,i=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||a,required:i,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Sr=(e,t,r,n,a)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:a,options:{filename:r}}},resolveWithFullResponse:!0}),Ir=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},_r=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),lr=e=>{const{url:t,token:r,username:n,password:a,uploadPath:i,webPath:s,customUrl:E}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:a||"",uploadPath:Tt({path:i||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?Tt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(E||"").replace(/\/$/,"")}},Pr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:a,username:i,password:s,uploadPath:E,webPath:o,customUrl:S}=lr(r);let{token:I}=lr(r);if(I||(I=await(async(e,t,r,a)=>{const i=e.getConfig("picgo-plugin-buildin-alistplist");if(i&&i.refreshedAt&&Date.now()-i.refreshedAt<36e5&&i.token)return i.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:a});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,a,i,s)),!a||!(I||i&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const i=`${E}${r.fileName}`,s=Sr(a,I,r.fileName,i,n),_=await e.request(s);Ir(e,_);const l=await e.request(_r(`${a}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(i)}));Ir(e,l);const P=await e.request(_r(`${a}/api/fs/get`,I,{password:"",path:i,page:1,per_page:1,refresh:!0}));Ir(e,P);const c=P.body.data.sign,u=Dt(`${o||E}${r.fileName}`);r.imgUrl=`${S||a}${S&&S!==a?"":"/d"}${u}`,r.imgUrl+=S&&S!==a||!c?"":`?sign=${c}`,delete r.base64Image,delete r.buffer}return e},cr=e=>{const t=e.getConfig("picBed.alistplist")||{};return[bt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),bt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),bt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),bt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),bt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),bt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),bt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const ur=()=>(new Date).toUTCString(),pr=(e,t)=>{const r=ur(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,a=g.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${a}`},Ar=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Dt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:ur(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),Cr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=Tt({path:t.path});const r=Tt({path:t.webPath});try{const{output:n}=e,a=(t.customUrl||"").replace(/\/$/,""),{path:i,bucket:s,area:E,options:o=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=pr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=Ar(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Dt(`${r||i}${S.fileName}`);S.imgUrl=a?`${a}/${e}${o}`:`https://${s}.${E}.aliyuncs.com/${e}${o}`}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Tr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[bt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),bt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),bt(e,"alicloud","bucket","input",t.bucket||"",!0),bt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),bt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),bt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),bt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Dr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return g.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return g.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return g.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function gr(e,t){if(!t)return e.fileName;const r=new Dr(e);let n=t;for(const e of Dr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function Lr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new m(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function dr(e,t,r){const n=await q(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),a=new L.URL(n);return a.search="",a.href}var mr={createS3Client:function(e){let t=!0;try{t="https:"===new L.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=Lr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=Lr(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),a=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),i=await e.client.send(a);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await dr(e,i.ETag,i.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:i.VersionId,eTag:i.ETag}}catch(e){return Promise.reject(e)}}};function hr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const fr=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=hr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const a=mr.createS3Client(t),i=e.output;for(const e of i){const r=await mr.createUploadTask({client:a,bucketName:t.bucketName,path:gr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Br=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:hr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function Nr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Dt(`${t}${r}`)}${n}`}const Ur=(e,t,r)=>{const{token:n,repo:a}=t,i=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:Nr(a,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":i},body:r,json:!0}},Rr=(e,t)=>{const{token:r,repo:n,branch:a}=t;return{method:"GET",url:Nr(n,t.path,e,`?ref=${a}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Or=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=Tt({path:t.path}),n=Tt({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){const a=i.base64Image||Buffer.from(i.buffer).toString("base64"),s={message:"Upload by PicList",branch:t.branch,content:a,path:r+encodeURI(i.fileName)},E=Ur(i.fileName,t,s);try{const a=await e.request(E);if(!a)throw new Error("Server error, please try again");delete i.base64Image,delete i.buffer,i.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${n||r}${i.fileName}`)}`:a.content.download_url,i.hash=a.content.sha}catch(a){if(422!==a.statusCode)throw a;delete i.base64Image,delete i.buffer;const s=await e.request(Rr(i.fileName,t));if(!Object.keys(s).length)throw a;i.hash=s.sha,i.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${n||r}${i.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},Mr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_WEBPATH")},default:t.webPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const yr=async(e,t,r,n)=>{const a=t.clientId||"",i=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),E=t.album||"";let o;if(i&&s)o=s;else{if(!a)throw new Error("clientId or accessToken is required");o=`Client-ID ${a}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:o,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(i&&s&&E){let r,n=0,a="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${i}/albums/${n}`,headers:{Authorization:o},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===E){a=e.id;break}n++}while(r.body.data.length>0);a&&S.formData&&(S.formData.album=a)}return t.proxy&&(S.proxy=t.proxy),S},Gr=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=await yr(e,t,n.fileName,r),i=await e.request(a),s="string"==typeof i?JSON.parse(i):i;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},wr=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const br=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",i=(r.customUrl||"").replace(/\/$/,""),E=Tt({path:r.webPath?.replace(/\\/g,"/")}),o=e.output;for(const r of o)if(r.fileName&&r.buffer){let o=r.buffer;!o&&r.base64Image&&(o=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);s(t.dirname(_)),s(t.dirname(I)),a.writeFileSync(_,o),a.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=i?`${i}/${Dt(`${E}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Dt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},xr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const Wr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const a="V2"===e.version,i=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:i||void 0},E={image:{value:r,options:{filename:t}},ssl:"true"},o={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:i||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:a?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new $.Agent({rejectUnauthorized:!1}),headers:a?o:s,formData:a?l:E}},Hr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Wr(t,n.fileName,r);let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;const s="V2"===t.version;if(!(s?!0===i.status:200===i.code))throw e.emit(Xe.NOTIFICATION,{title:"upload failed",body:i.message}),new Error(i.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?i.data.links.url:i.data.url,s&&(n.hash=i.data.key)}return e},Fr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Kr=(e,t,r)=>{const{host:n="127.0.0.1",port:a="",picbed:i="",configName:s="Default",serverKey:E=""}=e,o=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${o?`${S}${I}:${a||"36677"}`:`${S}${I}${a?`:${a}`:""}`}/upload?configName=${s}${i?`&picbed=${i}`:""}${E?`&key=${E}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},$r=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Kr(t,n.fileName,r),i=await e.request(a).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==i.statusCode||!i.body?.success)throw new Error(i.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=i.body.result[0],n.fullResult=i.body.fullResult?i.body.fullResult[0]:""}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},kr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function vr(e,t,r,n){const a=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),i=e.path||"";return{method:"POST",url:`http://upload${a}.qiniup.com/putb64/-1/key/${Buffer.from(i+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function Yr(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),a={scope:e.bucket};return new ee.rs.PutPolicy(a).uploadToken(n)}const Vr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=vr(t,n.fileName,Yr(t),r),i=await e.request(a),s=JSON.parse(i);if(!s?.key)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},zr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class jr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return jr.instance||(jr.instance=new jr),jr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:a,privateKey:i,passphrase:s}=e,E=i?{username:n,privateKeyPath:i,passphrase:s||void 0}:{username:n,password:a};try{await this.client.connect({host:t,port:Number(r)||22,...E}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=jr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const a=n.fileMode||"0644";"0644"!==a&&await this.exec(`chmod ${a} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=jr.changeWinStylePathToUnix(e);const[n,a]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${a} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const qr=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=Tt({path:r.uploadPath,rootToEmpty:!1});const n=Tt({path:r.webPath,rootToEmpty:!1});try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){let a=i.buffer;!a&&i.base64Image&&(a=Buffer.from(i.base64Image,"base64"));const E=t.join(e.baseDir,"uploadTemp"),o=t.join(e.baseDir,"imgTemp","sftpplist");s(o);const S=t.join(E,i.fileName);s(t.dirname(S)),I(S,a);const P=jr.getInstance();await P.connect(r);const c=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),i.fileName);await P.upload(S,c,r),r.fileUser&&await P.chown(c,r.fileUser),delete i.base64Image,delete i.buffer;const u=r.customUrl||r.host;r.webPath?i.imgUrl=`${u}/${Dt(`${"/"===n?"":n}${i.fileName}`)}`:i.imgUrl=`${u}/${Dt(`${"/"===r.uploadPath?"":r.uploadPath}${i.fileName}`)}`;const p=t.join(o,i.fileName);s(t.dirname(p)),_(p),l(S,t.join(o,i.fileName)),i.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(i.fileName)}`,P.close()}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Xr=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const Qr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),Zr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),a=e.output;for(const i of a){if(!i.fileName)continue;const a=i.buffer||(i.base64Image?Buffer.from(i.base64Image,"base64"):void 0);if(!a)continue;const s=Qr(i.fileName,a,t.token,r),E=await e.request(s),o=JSON.parse(E);if("success"===o.code)i.imgUrl=o.data.url,i.hash=o.data.hash;else{if("image_repeated"!==o.code||"string"!=typeof o.images){const t=o.message||"Upload failed";throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}i.imgUrl=o.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),a=e.data?.data?.find(e=>e.url===o.images);a&&(i.hash=a.hash)}catch{}}delete i.base64Image,delete i.buffer}return e},Jr=e=>{const t=e.getConfig("picBed.smms")||{};return[bt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),bt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const en=(e,t)=>{const{secretId:r,secretKey:n,appId:a,bucket:i,version:s,area:E,endpoint:o,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${a}&b=${i}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,E=g.createHmac("sha1",n).update(s).digest(),o=Buffer.concat([E,Buffer.from(s)]);I=Buffer.from(o).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=g.createHmac("sha1",n).update(_).digest("hex"),a=`put\n/${S}${t}\n\nhost=${i}.${o||`cos.${E}.myqcloud.com`}\n`,s=`sha1\n${_}\n${g.createHash("sha1").update(a).digest("hex")}\n`;I=g.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:a,bucket:i,signTime:_}},tn=(e,t,r,n,a)=>{const{area:i,path:s,bucket:E,endpoint:o,secretId:S}=e,I=`PicGo;${a};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${i}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${i}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${E}.${o||`cos.${i}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${Dt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},rn=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),a=Tt({path:t.path}),i=Tt({path:t.webPath});t.path=a;const s=!t.version||"v4"===t.version;for(const E of r){if(!E.fileName||!E.buffer)continue;const r=en(t,E.fileName),o=E.buffer||Buffer.from(E.base64Image,"base64"),S=tn(t,E.fileName,r,o,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",P=!!t.slim;if(delete E.base64Image,delete E.buffer,s&&"SUCCESS"===_.message)E.imgUrl=n?`${n}/${Dt(`${i||a}${E.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)E.imgUrl=`${n}/${Dt(`${i||a}${E.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;E.imgUrl=`https://${t.bucket}.${e}/${Dt(`${a}${E.fileName}`)}${l}`}}P&&(E.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},nn=e=>{const t=e.getConfig("picBed.tcyun")||{};return[bt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),bt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),bt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),bt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),bt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),bt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),bt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),bt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),bt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),bt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),bt(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const an="https://v0.api.upyun.com",sn=e=>g.createHash("md5").update(e).digest("hex"),En=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const a=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!a)return;const i=((e,t)=>{const{path:r="",operator:n,password:a,bucket:i}=e,s=sn(a),E=(new Date).toUTCString(),o=`PUT&/${i}/${Dt(`${r}${t}`)}&${E}`;return`UPYUN ${n}:${g.createHmac("sha1",s).update(o).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:a,path:i}=e;let s=(e.endpoint||an).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${a}/${Dt(`${i}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,i,a);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const E=r.options||"",o=`${r.url}/${Dt(`${n}${t.fileName}`)}${E}`;t.imgUrl=r.antiLeechToken?on(o,r,t.fileName):o},on=(e,t,r)=>{const n=((e,t,r,n)=>{const a=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),i=Math.round(Date.now()/1e3),s=t?i+parseInt(t.toString(),10):i+1800;return`_upt=${sn(`${e}&${s}&${a}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},Sn=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=Tt({path:t.path});t.path=n;for(const a of r)await En(e,a,t,n);return e}catch(t){throw In(e,t),t}},In=(e,t)=>{if("Upload failed"===t.message)e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Ue(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},_n=e=>{const t=e.getConfig("picBed.upyun")||{};return[bt(e,"upyun","bucket","input",t.bucket||"",!0),bt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),bt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),bt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),bt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),bt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),bt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),bt(e,"upyun","expireTime","input",t.expireTime||"",!1),bt(e,"upyun","endpoint","input",t.endpoint||an,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const ln=4294967296,Pn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},cn=(e,t,r,n,a,i)=>`${e}/${Dt(`${i?r:t}${n}`).replace(/^\/+/g,"")}${a}`,un=(e,r,n)=>{const i=t.join(e.baseDir,"imgTemp","webdavplist"),E=t.join(i,r);s(t.dirname(E)),a.writeFileSync(E,n)},pn=async(e,r,n,a)=>{const i=t.dirname(`${r}${n}`),s="/"===i?"":i;s&&await e.createDirectory(s,{recursive:!0});const E=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(E,a,{overwrite:!0})},An=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=Tt({path:t.path,rootToEmpty:!1});const n=Tt({path:t.webpath,rootToEmpty:!1}),a=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:ln,maxContentLength:ln};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),i=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const E=Pn(s);if(!await pn(r,t.path,s.fileName,E))throw new Error("Upload failed");un(e,s.fileName,E),delete s.base64Image,delete s.buffer,s.imgUrl=cn(i,t.path,n,s.fileName,a,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Cn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[bt(e,"webdavplist","host","input",t.host||"",!0),bt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),bt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),bt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),bt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),bt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),bt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),bt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),bt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const Tn=()=>({register(e){!function(e){e.helper.uploader.register(gt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:Er,config:or})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Pr,config:cr})}(e),function(e){e.helper.uploader.register(dt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Cr,config:Tr})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:fr,config:Br})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Or,config:Mr})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Gr,config:wr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:br,config:xr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Hr,config:Fr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:$r,config:kr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Vr,config:zr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:qr,config:Xr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:Zr,config:Jr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:rn,config:nn})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:Sn,config:_n})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:An,config:Cn})}(e)}});class Dn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ae(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{uploader:"smms",current:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}}read(e){return this.db.read(e)}get(e=""){return this.read(!0),this.db.get(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}}const gn="piclist-clipboard-images",Ln={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\nif [ "$XDG_SESSION_TYPE" = "x11" ]; then\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || { echo >&1 "no xclip"; exit 1; }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=`xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-`\n if [ ! -n "$filePath" ] ;then\n if\n xclip -selection clipboard -target image/png -o >/dev/null 2>&1\n then\n xclip -selection clipboard -target image/png -o >$1 2>/dev/null\n echo $1\n else\n echo "no image"\n fi\n else\n echo $filePath\n fi\nelif [ "$XDG_SESSION_TYPE" = "wayland" ]; then\n command -v wl-paste >/dev/null 2>&1 || { echo >&1 "no wl-clipboard"; exit 1; }\n isImage=`wl-paste --list-types | grep image`\n if [ -n "$isImage" ]; then\n wl-paste --type image/png > $1 2>/dev/null\n echo $1\n else\n echo "no image"\n exit 1\n fi\nfi',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},dn={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const mn=async e=>{!function(e){const r=t.join(e.baseDir,gn);s(r)}(e);const r=t.join(e.baseDir,gn,`${H().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,i)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),E=t.join(e.baseDir,dn[s]);let o;a.existsSync(E)||a.writeFileSync(E,Ln[s],"utf8"),o="darwin"===s?ie("osascript",[E,r]):"win32"===s||"win10"===s?ie("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",E,r]):ie("sh",[E,r]),o.stdout.on("data",E=>{if("linux"===s&&"no xclip or wl-clipboard"===E.toString().trim())return e.emit(Xe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),i(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const o=E.toString().trim();let S=!1;if(t.basename(o)!==t.basename(r)&&a.existsSync(o)&&(S=!0),"no image"!==o&&!a.existsSync(o))return i(new Error(`Can't find ${o}`));n({imgPath:o,shouldKeepAfterUploading:S})})})};class hn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;Request;i18n;VERSION="2.0.4";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new vt("transformer"),uploader:new vt("uploader"),beforeTransformPlugins:new vt("beforeTransformPlugins"),beforeUploadPlugins:new vt("beforeUploadPlugins"),afterUploadPlugins:new vt("afterUploadPlugins")},this.initConfigPath(),this.log=new zt(this),this.cmd=new Vt(this),this.pluginHandler=new jt(this),this.initConfig()}static async create(e=""){const t=new hn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(O(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),o(this.configPath)||P(`${this.configPath}`)}initConfig(){this.db=new Dn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new Pt(this),this.Request=new rr(this),this._pluginLoader=new Xt(this),Yt("picgo"),Tn().register(this),{register(e){e.helper.transformer.register("path",ir),e.helper.transformer.register("base64",nr)}}.register(this),Yt(""),await this._pluginLoader.load(),this.lifecycle=new _t(this)}catch(e){throw this.emit(Xe.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?C(this._config,e):this._config}saveConfig(e){Ne(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ne(e)?Object.keys(e).forEach(t=>{Be(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),T(this._config,t,e[t]),Qt.emit(Qe.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be unset`):D(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await mn(this),r=()=>{t||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Xe.FAILED,r),this.once(Xe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Xe.FAILED,e),e}}async uploadReturnCtx(e,t=!1){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),this;if(void 0!==e&&0!==e.length)return await this.lifecycle.start(e,t);try{const{imgPath:e,shouldKeepAfterUploading:r}=await mn(this),n=()=>{r||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");return this.once(Xe.FAILED,n),this.once(Xe.FINISHED,n),await this.lifecycle.start([e],t)}catch(e){throw this.emit(Xe.FAILED,e),e}}}export{Vt as Commander,_t as Lifecycle,vt as LifecyclePlugins,zt as Logger,hn as PicGo,je as PicGoUtils,jt as PluginHandler,Xt as PluginLoader,rr as Request};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2kxOG4udHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wcm94eS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3NldHRpbmcudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9jb21wcmVzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3dhdGVybWFyay50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXVwbG9hZC9idWlsZEluUmVuYW1lLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvc2tpcFByb2Nlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXBsb2FkLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VzZS50cyIsIi4uL3NyYy9saWIvTGlmZWN5Y2xlUGx1Z2lucy50cyIsIi4uL3NyYy9saWIvQ29tbWFuZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2luZGV4LnRzIiwiLi4vc3JjL2xpYi9Mb2dnZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkxvYWRlci50cyIsIi4uL3NyYy91dGlscy9ldmVudEJ1cy50cyIsIi4uL3NyYy9saWIvUmVxdWVzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2Jhc2U2NC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL3BhdGgudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9pbmRleC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FkdmFuY2VkcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXBsb2FkZXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hd3NzM3BsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvZ2l0aHViLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW1ndXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sb2NhbC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xza3kudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9waWNsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcWluaXUudHMiLCIuLi9zcmMvdXRpbHMvc3NoQ2xpZW50LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc2Z0cC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NtbXMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci90Y3l1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3VweXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvd2ViZGF2LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW5kZXgudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiZSIsImhhbmRsZVVybEVuY29kZSIsImVuY29kZVVSSSIsImdldEltYWdlU2l6ZSIsImZpbGUiLCJ3aWR0aCIsImhlaWdodCIsInR5cGUiLCJpbWFnZVNpemUiLCJyZWFsIiwiZ2V0RlNGaWxlIiwiYXN5bmMiLCJmaWxlUGF0aCIsImZpbGVOYW1lIiwiYnVmZmVyIiwiZnMiLCJyZWFkRmlsZSIsInN1Y2Nlc3MiLCJyZWFzb24iLCJnZXRVUkxGaWxlIiwiY3R4IiwidGltZW91dElkIiwicmVxdWVzdEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXMiLCJyZXF1ZXN0IiwibWV0aG9kIiwicmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2UiLCJyZXNwb25zZVR5cGUiLCJ0aGVuIiwicmVzcCIsImRhdGEiLCJjbGVhclRpbWVvdXQiLCJ1cmxQYXRoIiwiVVJMIiwicGF0aG5hbWUiLCJzZWFyY2hQYXJhbXMiLCJnZXQiLCJlcnJvciIsInN0YXJ0c1dpdGgiLCJtZXNzYWdlIiwiY2F0Y2giLCJ0aW1lb3V0UHJvbWlzZSIsInNldFRpbWVvdXQiLCJyYWNlIiwiZ2V0UGx1Z2luTmFtZVR5cGUiLCJuYW1lIiwiaXNTaW1wbGVOYW1lIiwibmFtZU9yUGF0aCIsImlzQWJzb2x1dGUiLCJwbHVnaW5QYXRoIiwicHJvY2VzcyIsImN3ZCIsImV4aXN0c1N5bmMiLCJoYW5kbGVDb21wbGV0ZVBsdWdpbk5hbWUiLCJzY29wZSIsImdldFByb2Nlc3NQbHVnaW5OYW1lIiwibG9nZ2VyIiwiY29uc29sZSIsImhhbmRsZVVuaXhTdHlsZVBhdGgiLCJ3YXJuIiwiZ2V0Tm9ybWFsUGx1Z2luTmFtZSIsInJlbW92ZVBsdWdpblZlcnNpb24iLCJwYWNrYWdlSlNPTlBhdGgiLCJwb3NpeCIsInBrZyIsInJlYWRKU09OU3luYyIsInBhdGhTdHIiLCJyZWciLCJtYXRjaEFyciIsIm1hdGNoIiwiY29uZmlnQmxhY2tMaXN0IiwiaXNDb25maWdLZXlJbkJsYWNrTGlzdCIsImJsYWNrSXRlbSIsImlzSW5wdXRDb25maWdWYWxpZCIsImNvbmZpZyIsImlzQXJyYXkiLCJzYWZlUGFyc2UiLCJzdHIiLCJKU09OIiwicGFyc2UiLCJmb3JjZU51bWJlciIsImlzTmFOIiwiTnVtYmVyIiwiaXNEZXYiLCJlbnYiLCJOT0RFX0VOViIsImRlZmF1bHRXYXRlcm1hcmtJbWFnZVBhdGgiLCJBZGRXYXRlcm1hcmsiLCJpbWciLCJ3YXRlcm1hcmtUeXBlIiwiZGVmYXVsdFdhdGVybWFya0ZvbnRQYXRoIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrIiwid2F0ZXJtYXJrRGVncmVlIiwidGV4dCIsIndhdGVybWFya0ZvbnRQYXRoIiwid2F0ZXJtYXJrU2NhbGVSYXRpbyIsIndhdGVybWFya0NvbG9yIiwid2F0ZXJtYXJrSW1hZ2VQYXRoIiwicG9zaXRpb24iLCJ3YXRlcm1hcmtJbWFnZU9wYWNpdHkiLCJpbWFnZSIsInNoYXJwIiwiYW5pbWF0ZWQiLCJpbWdXaWR0aCIsIm1ldGFkYXRhIiwid2F0ZXJtYXJrIiwiY29tcG9zaXRlIiwiQnVmZmVyIiwiZnJvbSIsInJhdyIsImNoYW5uZWxzIiwidGlsZSIsImJsZW5kIiwidG9CdWZmZXIiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJvcHRpb25zIiwiYW5jaG9yIiwiYXR0cmlidXRlcyIsImZpbGwiLCJ0ZXh0U1ZHIiwiVGV4dFRvU1ZHIiwibG9hZFN5bmMiLCJnZXRTVkciLCJ0ZXh0MlNWRyIsIndhdGVybWFya1dpZHRoIiwid2F0ZXJtYXJrSGVpZ2h0IiwiZ2V0U2l6ZSIsIndhdGVybWFya1Jlc2l6ZVdpZHRoIiwiZmxvb3IiLCJ3YXRlcm1hcmtSZXNpemVIZWlnaHQiLCJyZXNpemUiLCJmaXQiLCJyb3RhdGUiLCJiYWNrZ3JvdW5kIiwiciIsImciLCJhbHBoYSIsImNyZWF0ZVdhdGVybWFyayIsImdyYXZpdHkiLCJ2YWxpZFBhcmFtIiwicGFyYW1zIiwiZXZlcnkiLCJwYXJhbSIsImF2YWlsYWJsZUNvbnZlcnRGb3JtYXRMaXN0IiwiaW1hZ2VGb3JtYXRMaXN0IiwidmFsaWRPdXRwdXRGb3JtYXQiLCJmb3JtYXQiLCJnZXRUcmVhdGVkV2F0ZXJNYXJrT3B0aW9ucyIsInBpY0JlZCIsImlzQWRkV2F0ZXJtYXJrIiwiaXNBZGRXYXRlcm1hcmtNYXAiLCJ3YXRlcm1hcmtUeXBlTWFwIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrRGVncmVlTWFwIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1RleHRNYXAiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvTWFwIiwid2F0ZXJtYXJrQ29sb3JNYXAiLCJ3YXRlcm1hcmtJbWFnZVBhdGhNYXAiLCJ3YXRlcm1hcmtQb3NpdGlvbiIsIndhdGVybWFya1Bvc2l0aW9uTWFwIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5TWFwIiwiZ2V0VHJlYXRlZENvbXByZXNzT3B0aW9ucyIsInF1YWxpdHkiLCJxdWFsaXR5TWFwIiwiaXNDb252ZXJ0IiwiaXNDb252ZXJ0TWFwIiwiY29udmVydEZvcm1hdCIsImNvbnZlcnRGb3JtYXRNYXAiLCJpc1JlU2l6ZSIsImlzUmVTaXplTWFwIiwicmVTaXplSGVpZ2h0IiwicmVTaXplSGVpZ2h0TWFwIiwicmVTaXplV2lkdGgiLCJyZVNpemVXaWR0aE1hcCIsInNraXBSZVNpemVPZlNtYWxsSW1nIiwic2tpcFJlU2l6ZU9mU21hbGxJbWdNYXAiLCJpc1JlU2l6ZUJ5UGVyY2VudCIsImlzUmVTaXplQnlQZXJjZW50TWFwIiwicmVTaXplUGVyY2VudCIsInJlU2l6ZVBlcmNlbnRNYXAiLCJpc1JvdGF0ZSIsImlzUm90YXRlTWFwIiwicm90YXRlRGVncmVlIiwicm90YXRlRGVncmVlTWFwIiwiaXNSZW1vdmVFeGlmIiwiaXNSZW1vdmVFeGlmTWFwIiwiaXNGbGlwIiwiaXNGbGlwTWFwIiwiaXNGbG9wIiwiaXNGbG9wTWFwIiwiZm9ybWF0Q29udmVydE9iaiIsImZvcm1hdENvbnZlcnRPYmpNYXAiLCJpbWFnZUFkZFdhdGVyTWFyayIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZUNvbXByZXNzIiwicmF3Rm9ybWF0Iiwibm9ybWFsaXplSW1hZ2VFeHQiLCJtaW4iLCJyb3VuZCIsImltYWdlV2lkdGgiLCJpbWFnZUhlaWdodCIsInNjYWxlUmF0aW8iLCJmbGlwIiwiZmxvcCIsIm5ld0Zvcm1hdCIsImdldENvbnZlcnRlZEZvcm1hdCIsInRvRm9ybWF0IiwibW96anBlZyIsInRvTG93ZXJDYXNlIiwiaXNOZWVkQWRkV2F0ZXJtYXJrIiwid2F0ZXJtYXJrT3B0aW9ucyIsImZpbGVFeHQiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJ0aGlzIiwiYmFzZURpciIsImluaXRpYWxpemVEaXJzIiwiZW5zdXJlRGlyU3luYyIsImdldENvbmZpZyIsImVtcHR5RGlyU3luYyIsImRvd25sb2FkVFRGIiwic3RhdFN5bmMiLCJzaXplIiwibG9nIiwiaW5mbyIsImF4aW9zIiwid3JpdGVGaWxlU3luYyIsImdldFByb2Nlc3NpbmdPcHRpb25zIiwiZ2V0VXBsb2FkZXJUeXBlIiwiZ2V0U2tpcEV4dGVuc2lvbnMiLCJza2lwUHJvY2VzcyIsInNraXBQcm9jZXNzRXh0TGlzdCIsIm1hcCIsInRyaW0iLCJTZXQiLCJmb3JtYXR0ZWRJdGVtIiwic3RhcnQiLCJjb25maWdQYXRoIiwiY21kIiwib3V0cHV0IiwicmF3SW5wdXQiLCJwcm9jZXNzZWRJbnB1dCIsInBsdWdpbkxvYWRlciIsInBsdWdpbkhhbmRsZXIiLCJSZXF1ZXN0IiwiaGVscGVyIiwiVkVSU0lPTiIsIkdVSV9WRVJTSU9OIiwiaTE4biIsImJpbmQiLCJzYXZlQ29uZmlnIiwicmVtb3ZlQ29uZmlnIiwic2V0Q29uZmlnIiwidW5zZXRDb25maWciLCJ1cGxvYWQiLCJ1cGxvYWRSZXR1cm5DdHgiLCJhZGRMaXN0ZW5lciIsIm9uIiwib25jZSIsInJlbW92ZUxpc3RlbmVyIiwib2ZmIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwic2V0TWF4TGlzdGVuZXJzIiwiZ2V0TWF4TGlzdGVuZXJzIiwibGlzdGVuZXJzIiwicmF3TGlzdGVuZXJzIiwiZW1pdCIsImxpc3RlbmVyQ291bnQiLCJwcmVwZW5kTGlzdGVuZXIiLCJwcmVwZW5kT25jZUxpc3RlbmVyIiwiZXZlbnROYW1lcyIsImNyZWF0ZUNvbnRleHQiLCJFcnJvciIsImluaXRpYWxpemVDb250ZXh0IiwiaGFuZGxlU2tpcFByb2Nlc3MiLCJleGVjdXRlTGlmZWN5Y2xlIiwiaGFuZGxlRXJyb3IiLCJyYXdJbnB1dFBhdGgiLCJjbG9uZURlZXAiLCJkb1VwbG9hZCIsImFmdGVyVXBsb2FkIiwicHJlcHJvY2VzcyIsImJlZm9yZVRyYW5zZm9ybSIsImRvVHJhbnNmb3JtIiwiYnVpbGRJblJlbmFtZSIsImJlZm9yZVVwbG9hZCIsIkZBSUxFRCIsIlVQTE9BRF9QUk9HUkVTUyIsInNraXBFeHRlbnNpb25zIiwiQkVGT1JFX1RSQU5TRk9STSIsInRlbXBGaWxlUGF0aCIsInByb2Nlc3NJbWFnZXMiLCJpbml0aWFsaXplUmF3SW5wdXRQYXRocyIsInB1c2giLCJhbGxTZXR0bGVkIiwiaW5kZXgiLCJwcm9jZXNzSW1hZ2UiLCJpdGVtSXNVcmwiLCJleHRlbnNpb24iLCJzaG91bGRTa2lwRXh0ZW5zaW9uIiwiaGFzIiwicmVhZEZpbGVTeW5jIiwidHJhbnNmb3JtZWRCdWZmZXIiLCJhcHBseVByb2Nlc3NpbmciLCJzYXZlUHJvY2Vzc2VkSW1hZ2UiLCJjb21wcmVzc0ltYWdlIiwiYWRkV2F0ZXJtYXJrIiwibm9ybWFsaXplZEV4dGVuc2lvbiIsImNvbnZlcnRIZWljQW5kQ29tcHJlc3MiLCJoZWljUmVzdWx0IiwiaGVpY0NvbnZlcnQiLCJ0ZW1wSGVpY0NvbnZlcnRGaWxlIiwibmV3RXh0IiwidGVtcEZpbGUiLCJnZXRGaWxlQmFzZU5hbWUiLCJyZW5hbWVDb25maWciLCJlbmFibGUiLCJiYXNlNjRJbWFnZSIsImhhbmRsZVBsdWdpbnMiLCJiZWZvcmVUcmFuc2Zvcm1QbHVnaW5zIiwidHJhbnNmb3JtZXIiLCJjdXJyZW50VHJhbnNmb3JtZXIiLCJoYW5kbGUiLCJCRUZPUkVfVVBMT0FEIiwiYmVmb3JlVXBsb2FkUGx1Z2lucyIsInVwbG9hZGVyIiwiY3VycmVudFVwbG9hZGVyIiwib3V0cHV0SW1nIiwiQUZURVJfVVBMT0FEIiwiYWZ0ZXJVcGxvYWRQbHVnaW5zIiwibXNnIiwiaXNFbmNvZGVPdXRwdXRVUkwiLCJpbWdVcmwiLCJGSU5JU0hFRCIsImxpZmVDeWNsZVBsdWdpbnMiLCJwbHVnaW5zIiwiZ2V0TGlzdCIsInBsdWdpbk5hbWVzIiwiZ2V0SWRMaXN0IiwibGlmZUN5Y2xlTmFtZSIsImdldE5hbWUiLCJhbGwiLCJwbHVnaW4iLCJsYW5ndWFnZUxpc3QiLCJVUExPQURfRkFJTEVEIiwiQ0hFQ0tfU0VUVElOR1MiLCJDSEVDS19TRVRUSU5HU19BTkRfTkVUV09SSyIsIlVQTE9BRF9GQUlMRURfUkVBU09OIiwiU0VSVkVSX0VSUk9SIiwiQVVUSF9GQUlMRUQiLCJQSUNCRURfU01NUyIsIlBJQ0JFRF9TTU1TX1RPS0VOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9TTU1TX0JBQ0tVUERPTUFJTiIsIlBJQ0JFRF9TTU1TX01FU1NBR0VfQkFDS1VQX0RPTUFJTiIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVUSE9EIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRk9STURBVEFLRVkiLCJQSUNCRURfQURWQU5DRURQTElTVF9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0NVU1RPTVBSRUZJWCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX1JFU0RBVEFQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9SRVNEQVRBUEFUSCIsIlBJQ0JFRF9MT0NBTCIsIlBJQ0JFRF9MT0NBTF9QQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9MT0NBTF9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfV0VCUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfUExJU1QiLCJQSUNCRURfQUxJU1RfVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVJMIiwiUElDQkVEX0FMSVNUX1RPS0VOIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfQUxJU1RfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUExPQURfUEFUSCIsIlBJQ0JFRF9BTElTVF9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfV0VCX1BBVEgiLCJQSUNCRURfQUxJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWVNFQ1JFVCIsIlBJQ0JFRF9BTElDTE9VRF9CVUNLRVQiLCJQSUNCRURfQUxJQ0xPVURfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfVkVSU0lPTiIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9USVAiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ09ORklSTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DQU5DRUwiLCJQSUNCRURfR0lUSFVCIiwiUElDQkVEX0dJVEhVQl9UT0tFTiIsIlBJQ0JFRF9HSVRIVUJfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfV0VCUEFUSCIsIlBJQ0JFRF9HSVRIVUJfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9DVVNUT01VUkwiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9RSU5JVSIsIlBJQ0JFRF9RSU5JVV9BQ0NFU1NLRVkiLCJQSUNCRURfUUlOSVVfU0VDUkVUS0VZIiwiUElDQkVEX1FJTklVX0JVQ0tFVCIsIlBJQ0JFRF9RSU5JVV9QQVRIIiwiUElDQkVEX1FJTklVX1VSTCIsIlBJQ0JFRF9RSU5JVV9PUFRJT05TIiwiUElDQkVEX1FJTklVX0FSRUEiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1FJTklVX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9VUkwiLCJQSUNCRURfSU1HVVIiLCJQSUNCRURfSU1HVVJfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfVVNFUk5BTUUiLCJQSUNCRURfSU1HVVJfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX0FMQlVNIiwiUElDQkVEX0lNR1VSX1BST1hZIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FDQ0VTU19UT0tFTiIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FMQlVNIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfVVBZVU4iLCJQSUNCRURfVVBZVU5fQlVDS0VUIiwiUElDQkVEX1VQWVVOX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX1BBU1NXT1JEIiwiUElDQkVEX1VQWVVOX1BBVEgiLCJQSUNCRURfVVBZVU5fVVJMIiwiUElDQkVEX1VQWVVOX09QVElPTlMiLCJQSUNCRURfVVBZVU5fRU5EUE9JTlQiLCJQSUNCRURfVVBZVU5fQU5USUxFRUNIVE9LRU4iLCJQSUNCRURfVVBZVU5fRVhQSVJFVElNRSIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9VUkwiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1dFQkRBVlBMSVNUIiwiUElDQkVEX1dFQkRBVlBMSVNUX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX1dFQlBBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX0FVVEhUWVBFIiwiUElDQkVEX1dFQkRBVlBMSVNUX09QVElPTlMiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9IT1NUIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfV0VCU0lURV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9TRlRQUExJU1QiLCJQSUNCRURfU0ZUUFBMSVNUX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX1BPUlQiLCJQSUNCRURfU0ZUUFBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1NGVFBQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWSIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfU0ZUUFBMSVNUX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX0RJUl9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVlfUEFTU1BIUkFTRSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9ESVJfTU9ERSIsIlBJQ0JFRF9QSUNMSVNUIiwiUElDQkVEX1BJQ0xJU1RfSE9TVCIsIlBJQ0JFRF9QSUNMSVNUX1BPUlQiLCJQSUNCRURfUElDTElTVF9QSUNCRUQiLCJQSUNCRURfUElDTElTVF9DT05GSUdOQU1FIiwiUElDQkVEX1BJQ0xJU1RfS0VZIiwiUElDQkVEX0xTS1lfUExJU1QiLCJQSUNCRURfTFNLWV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfSE9TVCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9MU0tZX1RPS0VOIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9MU0tZX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9TVFJBVEVHWV9JRCIsIlBJQ0JFRF9MU0tZX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9BTEJVTV9JRCIsIlBJQ0JFRF9MU0tZX1BFUk1JU1NJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1BFUk1JU1NJT04iLCJQSUNCRURfQVdTUzNQTElTVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FXU1MzUExJU1RfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFR0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BST1hZIiwiUElDQkVEX0FXU1MzUExJU1RfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BBVEhTVFlMRUFDQ0VTUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0RJU0FCTEVCVUNLRVRQUkVGSVhUT1VSTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1NFQ1JFVF9BQ0NFU1NLRVkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VSTFBSRUZJWCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUpFQ1RVTkFVVEhPUklaRUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiQlVJTERJTl9XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfSVNBRERXQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfSVNGVUxMU0NSRUVOV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktERUdSRUUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVFBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktTQ0FMRVJBVElPIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktDT0xPUiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVENPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLSU1BR0VQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLUE9TSVRJT04iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRU9QQUNJVFkiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fU0tJUFBST0NFU1MiLCJCVUlMRElOX1NLSVBQUk9DRVNTX1NLSVBQUk9DRVNTRVhUTElTVCIsIkJVSUxESU5fUkVOQU1FIiwiQlVJTERJTl9SRU5BTUVfRk9STUFUIiwiQlVJTERJTl9SRU5BTUVfRU5BQkxFIiwiQlVJTERJTl9DT01QUkVTUyIsIkJVSUxESU5fQ09NUFJFU1NfUVVBTElUWSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNDT05WRVJUIiwiQlVJTERJTl9DT01QUkVTU19DT05WRVJURk9STUFUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRUhFSUdIVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX0lTRkxJUCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTE9QIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX1NLSVBSRVNJWkVPRlNNQUxMSU1HIiwiQlVJTERJTl9DT01QUkVTU19JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JPVEFURURFR1JFRSIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRU1PVkVFWElGIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVNT1ZFRVhJRiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEX1BBVEgiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1ZBTElEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9WQUxJRCIsImVuIiwiSTE4bk1hbmFnZXIiLCJvYmplY3RBZGFwdGVyIiwiT2JqZWN0QWRhcHRlciIsImxhbmd1YWdlIiwiSTE4biIsImFkYXB0ZXIiLCJkZWZhdWx0TGFuZ3VhZ2UiLCJsb2FkT3V0dGVySTE4biIsImkxOG5Gb2xkZXIiLCJnZXRPdXR0ZXJJMThuRm9sZGVyIiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZm9yRWFjaCIsImlzRmlsZSIsImVuZHNXaXRoIiwiaTE4bkZpbGVQYXRoIiwiaTE4bkZpbGUiLCJpMThuRmlsZU9iaiIsInlhbWwiLCJsb2FkIiwicGF0aEV4aXN0c1N5bmMiLCJ0cmFuc2xhdGUiLCJhcmdzIiwic2V0TGFuZ3VhZ2UiLCJhZGRMb2NhbGUiLCJsb2NhbGVzIiwib3JpZ2luTG9jYWxlcyIsImdldExvY2FsZSIsIm5ld0xvY2FsZXMiLCJtZXJnZSIsInNldExvY2FsZSIsImFkZExhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2VMaXN0IiwicHJvZ3JhbSIsIm9wdGlvbiIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJkZXNjcmlwdGlvbiIsImFjdGlvbiIsImxhbmciLCJsaXN0IiwicHJvbXB0cyIsImNob2ljZXMiLCJkZWZhdWx0IiwiaW5xdWlyZXIiLCJwcm9tcHQiLCJjcmVhdGVDb21tYW5kIiwiYWxpYXMiLCJwcm94eSIsInJlZ2lzdHJ5IiwiaW5zdGFsbCIsInVuaW5zdGFsbCIsImZvcm1hdFBhdGhIZWxwZXIiLCJzdGFydFNsYXNoIiwiZW5kU2xhc2giLCJyb290VG9FbXB0eSIsImNsZWFuUGF0aCIsImVuY29kZVBhdGgiLCJwIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiYnVpbGRJblVwbG9hZGVyTmFtZXMiLCJjcmVhdGVGaWVsZCIsInBpY0JlZE5hbWUiLCJkZWZhdWx0VmFsdWUiLCJyZXF1aXJlZCIsImkxOG5QcmVmaXgiLCJleHRyYXMiLCJwcmVmaXgiLCJ0b1VwcGVyQ2FzZSIsInVwbG9hZGVyVHJhbnNsYXRvcnMiLCJhZHZhbmNlZHBsaXN0IiwiYWxpc3RwbGlzdCIsImFsaXl1biIsImdpdGh1YiIsImltZ3VyIiwibG9jYWwiLCJsc2t5cGxpc3QiLCJwaWNsaXN0IiwicWluaXUiLCJzZnRwcGxpc3QiLCJzbW1zIiwidGN5dW4iLCJ1cHl1biIsIndlYmRhdnBsaXN0IiwiQlVJTERJTl9NT0RVTEVTIiwiY29tcHJlc3MiLCJ1c2VyQ29uZmlnIiwicmVuYW1lIiwiaGFuZGxlQ29uZmlnIiwibW9kdWxlIiwiYW5zd2VyIiwiY29uZmlnTmFtZSIsImdldENvbmZpZ05hbWUiLCJidWlsZGluIiwic2V0dGluZyIsImVudHJpZXMiLCJ2YWx1ZSIsInNlbGVjdGVkTW9kdWxlIiwiaGFuZGxlQnVpbGRpbk1vZHVsZSIsImhhbmRsZVVwbG9hZGVyT3JUcmFuc2Zvcm1lciIsInBsdWdpbk5hbWUiLCJnZXRQbHVnaW4iLCJnZXRGdWxsTGlzdCIsImhhbmRsZVBsdWdpbiIsImFyZ3YiLCJpbnB1dExpc3QiLCJmaWx0ZXIiLCJleGlzdCIsInVzZSIsInBpY2dvUGx1Z2lucyIsIkxpZmVjeWNsZVBsdWdpbnMiLCJzdGF0aWMiLCJwbHVnaW5JZE1hcCIsIk1hcCIsInJlZ2lzdGVyIiwiaWQiLCJUeXBlRXJyb3IiLCJzZXQiLCJjdXJyZW50UGx1Z2luIiwidW5yZWdpc3RlciIsInBsdWdpbkxpc3QiLCJkZWxldGUiLCJ2YWx1ZXMiLCJzZXRDdXJyZW50UGx1Z2luTmFtZSIsIkNvbW1hbmRlciIsIkNvbW1hbmQiLCJpbml0IiwidmVyc2lvbiIsImRlYnVnIiwic2lsZW50IiwiZXhpdCIsImN1cnJlbnRQbHVnaW5OYW1lIiwibG9hZENvbW1hbmRzIiwiTG9nZ2VyIiwibGV2ZWwiLCJsb2dMZXZlbCIsImxvZ1BhdGgiLCJoYW5kbGVMb2ciLCJjaGVja0xvZ0xldmVsIiwibG9nSGVhZGVyIiwiY2hhbGsiLCJyZXN1bHQiLCJjaGVja0xvZ0ZpbGVJc0xhcmdlIiwiaXNMYXJnZSIsIndhcm5pbmdNc2ciLCJsb2dGaWxlU2l6ZUxpbWl0IiwieWVsbG93IiwicmVjcmVhdGVMb2dGaWxlIiwidW5zaGlmdCIsImhhbmRsZVdyaXRlTG9nIiwibG9nRmlsZVNpemUiLCJ1bmxpbmtTeW5jIiwiY3JlYXRlRmlsZVN5bmMiLCJkYXlqcyIsInV0aWwiLCJzdGFjayIsInN0cmluZ2lmeSIsImFwcGVuZEZpbGVTeW5jIiwiUGx1Z2luSGFuZGxlciIsImluc3RhbGxlZFBsdWdpbnMiLCJwcm9jZXNzUGx1Z2lucyIsImhhbmRsZVBsdWdpbk5hbWVQcm9jZXNzIiwiaGFzUGx1Z2luIiwicGtnTmFtZSIsImZ1bGxOYW1lTGlzdCIsImZ1bGxOYW1lIiwicGtnTmFtZUxpc3QiLCJleGVjQ29tbWFuZCIsImNvZGUiLCJlcnIiLCJ0aXRsZSIsImJvZHkiLCJyZWdpc3RlclBsdWdpbiIsInVucmVnaXN0ZXJQbHVnaW4iLCJtb2R1bGVzIiwid2hlcmUiLCJjb25jYXQiLCJucG0iLCJzcGF3biIsInN0ZG91dCIsInBpcGUiLCJzdGRlcnIiLCJQbHVnaW5Mb2FkZXIiLCJmdWxsTGlzdCIsInBsdWdpbk1hcCIsInBhY2thZ2VQYXRoIiwicmVwb3NpdG9yeSIsImxpY2Vuc2UiLCJyZXNvbHZlUGx1Z2luIiwic3luYyIsImJhc2VkaXIiLCJwbHVnaW5EaXIiLCJqc29uIiwiZGVwcyIsImRlcGVuZGVuY2llcyIsImRldkRlcHMiLCJkZXZEZXBlbmRlbmNpZXMiLCJhZGQiLCJwbHVnaW5JbnRlcmZhY2UiLCJOT1RJRklDQVRJT04iLCJwYWNrYWdlSnNvblBhdGgiLCJwYWNrYWdlSnNvbiIsIm1haW4iLCJwb3NzaWJsZUVudHJpZXMiLCJlbnRyeSIsImVudHJ5UGF0aCIsInBsdWdpblVybCIsInBhdGhUb0ZpbGVVUkwiLCJocmVmIiwibW9kIiwiaW1wb3J0IiwiZXZlbnRCdXMiLCJodHRwc0FnZW50IiwiaHR0cHMiLCJBZ2VudCIsIm1heFZlcnNpb24iLCJtaW5WZXJzaW9uIiwicmVqZWN0VW5hdXRob3JpemVkIiwiYXBwZW5kRm9ybURhdGEiLCJmb3JtIiwiYXBwZW5kIiwicmVzcG9uc2VJbnRlcmNlcHRvciIsInJlc3BvbnNlIiwic3RhdHVzQ29kZSIsInN0YXR1cyIsInJlc3BvbnNlRXJyb3JIYW5kbGVyIiwiZXJyb3JPYmoiLCJDT05GSUdfQ0hBTkdFIiwiaGFuZGxlUHJveHkiLCJwcm94eU9wdGlvbnMiLCJob3N0IiwiaG9zdG5hbWUiLCJwb3J0IiwicHJvdG9jb2wiLCJoZWFkZXJzIiwibWF4Qm9keUxlbmd0aCIsIkluZmluaXR5IiwibWF4Q29udGVudExlbmd0aCIsImh0dHBzT3Zlckh0dHAiLCJpbnN0YW5jZSIsImNyZWF0ZSIsImludGVyY2VwdG9ycyIsIm9wdCIsIl9faXNPbGRPcHRpb25zIiwiRm9ybURhdGEiLCJmb3JtRGF0YSIsImFzc2lnbiIsImdldEhlYWRlcnMiLCJxcyIsInJlcXVlc3RJbnRlcmNlcHRvciIsIm9iaiIsImNvbnRlbnRUeXBlIiwiQ29udGVudFR5cGUiLCJJbWdGcm9tQmFzZTY0IiwiZ2V0SW1nU2l6ZSIsIkltZ0Zyb21QYXRoIiwicmVzdWx0cyIsImlzQnVmZmVyIiwiaW1nU2l6ZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImZpbGVuYW1lIiwiYWR2YW5jZWRwbGlzdENvbmZpZyIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwibWltZSIsImdldFR5cGUiLCJidWNrZXQiLCJzaWduYXR1cmUiLCJjcmVhdGVIbWFjIiwiYWNjZXNzS2V5U2VjcmV0IiwiYWNjZXNzS2V5SWQiLCJhcmVhIiwiSG9zdCIsImFsaVl1bk9wdGlvbnMiLCJ1cmxPcHRpb25zIiwiRmlsZU5hbWVHZW5lcmF0b3IiLCJtb250aCIsImRheSIsImV4dE5hbWUiLCJtZDUiLCJpbWdCdWZmZXIiLCJtZDVCNjQiLCJtZDVCNjRTaG9ydCIsInNoYTEiLCJzaGEyNTYiLCJ0aW1lc3RhbXAiLCJ0aW1lc3RhbXBNUyIsImZvcm1hdFBhdGgiLCJmaWxlTmFtZUdlbmVyYXRvciIsImZpZWxkcyIsInJlIiwiZ2V0UHJveHlBZ2VudCIsInNzbEVuYWJsZWQiLCJmb3JtYXRlZFByb3h5IiwiZm9ybWF0SHR0cFByb3h5VVJMIiwiSHR0cHNQcm94eUFnZW50IiwiSHR0cFByb3h5QWdlbnQiLCJrZWVwQWxpdmUiLCJrZWVwQWxpdmVNc2VjcyIsInNjaGVkdWxpbmciLCJnZXRGaWxlVVJMIiwib3B0cyIsImVUYWciLCJ2ZXJzaW9uSWQiLCJzaWduZWRVcmwiLCJnZXRTaWduZWRVcmwiLCJjbGllbnQiLCJHZXRPYmplY3RDb21tYW5kIiwiQnVja2V0IiwiYnVja2V0TmFtZSIsIktleSIsIklmTWF0Y2giLCJWZXJzaW9uSWQiLCJleHBpcmVzSW4iLCJ1cmxPYmplY3QiLCJzZWFyY2giLCJjcmVhdGVTM0NsaWVudCIsImh0dHBIYW5kbGVyT3B0cyIsImh0dHBBZ2VudCIsImNsaWVudE9wdGlvbnMiLCJyZWdpb24iLCJjcmVkZW50aWFscyIsImFjY2Vzc0tleUlEIiwic2VjcmV0QWNjZXNzS2V5IiwidGxzIiwiZm9yY2VQYXRoU3R5bGUiLCJwYXRoU3R5bGVBY2Nlc3MiLCJyZXF1ZXN0SGFuZGxlciIsIk5vZGVIdHRwSGFuZGxlciIsIlMzQ2xpZW50IiwiY3JlYXRlVXBsb2FkVGFzayIsImNvbnRlbnRFbmNvZGluZyIsImZpbGVUeXBlIiwiZmlsZVR5cGVGcm9tQnVmZmVyIiwiZXh0cmFjdEluZm8iLCJQdXRPYmplY3RDb21tYW5kIiwiQUNMIiwiYWNsIiwiQm9keSIsIkNvbnRlbnRFbmNvZGluZyIsInNlbmQiLCJ1cmxQcmVmaXgiLCJFVGFnIiwiaW1nVVJMIiwiZm9ybWF0RGlzYWJsZUJ1Y2tldFByZWZpeFRvVVJMIiwiZGlzYWJsZUJ1Y2tldFByZWZpeFRvVVJMIiwiQm9vbGVhbiIsInRhc2siLCJidWlsZEdpdGh1YkFwaVVybCIsInJlcG8iLCJleHRyYSIsImdldE9wdGlvbnMiLCJicmFuY2giLCJnaXRodWJPcHRpb25zIiwiY29udGVudCIsImRvd25sb2FkX3VybCIsImhhc2giLCJzaGEiLCJpbWdCYXNlNjQiLCJjbGllbnRJZCIsImFjY2Vzc1Rva2VuIiwiZm9ybWF0QWNjZXNzVG9rZW4iLCJhbGJ1bSIsImF1dGhvcml6YXRpb24iLCJyZXF1ZXN0T3B0aW9ucyIsImluaXRQYWdlcyIsImFsYnVtSGFzaCIsImdldEFsYnVtSGFzaE9wdGlvbnMiLCJ0aW1lb3V0IiwiYWxidW1MaXN0IiwiaW1ndXJPcHRpb25zIiwibGluayIsImRlbGV0ZWhhc2giLCJsb2NhbENvbmZpZyIsImltZ1RlbXBQYXRoIiwiZmlsZUltZ1RlbXBQYXRoIiwiZmlsZVVwbG9hZFBhdGgiLCJjb3B5RmlsZVN5bmMiLCJnYWxsZXJ5UGF0aCIsImlzVjIiLCJ2MUhlYWRlcnMiLCJDb25uZWN0aW9uIiwidjFGb3JtRGF0YSIsInNzbCIsInYySGVhZGVycyIsIkFjY2VwdCIsInN0cmF0ZWd5SWQiLCJhbGJ1bUlkIiwicGVybWlzc2lvbiIsInYyRm9ybURhdGEiLCJzdHJhdGVneV9pZCIsImFsYnVtX2lkIiwiYWdlbnQiLCJsc2t5T3B0aW9ucyIsImxpbmtzIiwicGljYmVkIiwic2VydmVyS2V5IiwiaXNJcCIsImZvcm1hdEhvc3QiLCJwaWNsaXN0T3B0aW9ucyIsImZ1bGxSZXN1bHQiLCJzZWxlY3RBcmVhIiwiZ2V0VG9rZW4iLCJxaW5pdU9wdGlvbnMiLCJhY2Nlc3NLZXkiLCJzZWNyZXRLZXkiLCJtYWMiLCJhdXRoIiwiTWFjIiwicnMiLCJQdXRQb2xpY3kiLCJ1cGxvYWRUb2tlbiIsImJhc2VVcmwiLCJTU0hDbGllbnQiLCJOb2RlU1NIIiwiaXNDb25uZWN0ZWQiLCJnZXRJbnN0YW5jZSIsImNoYW5nZVdpblN0eWxlUGF0aFRvVW5peCIsImNvbm5lY3QiLCJwcml2YXRlS2V5IiwicGFzc3BocmFzZSIsImxvZ2luSW5mbyIsInByaXZhdGVLZXlQYXRoIiwicmVtb3RlIiwibWtkaXIiLCJwdXRGaWxlIiwiZmlsZU1vZGUiLCJleGVjIiwiZGlyUGF0aCIsImRpcmVjdG9yeU1vZGUiLCJkaXJNb2RlIiwiZGlycyIsImN1cnJlbnRQYXRoIiwiZGlyIiwic2NyaXB0IiwiY2hvd24iLCJ1c2VyIiwiZ3JvdXAiLCJfdXNlciIsIl9ncm91cCIsImNsb3NlIiwiZGlzcG9zZSIsInNmdHBwbGlzdENvbmZpZyIsInVwbG9hZFRlbXBQYXRoIiwib3V0cHV0RmlsZVN5bmMiLCJyZW1vdGVQYXRoIiwiZmlsZVVzZXIiLCJpbWdUZW1wRmlsZVBhdGgiLCJyZW1vdmVTeW5jIiwibW92ZVN5bmMiLCJhcGlUb2tlbiIsImRvbWFpbiIsInNtZmlsZSIsInNtbXNDb25maWciLCJiYWNrdXBEb21haW4iLCJpbWFnZUJ1ZmZlciIsImltYWdlcyIsImVycm9yTXNnIiwidXBsb2FkSGlzdG9yeSIsIm1hdGNoZWRJbWFnZSIsImZpbmQiLCJzZWNyZXRJZCIsImFwcElkIiwic2lnblRpbWUiLCJjdXJyZW50IiwibXVsdGlTaWduYXR1cmUiLCJzaWduSGV4S2V5IiwidGVtcFN0cmluZyIsInRvZGF5Iiwic2lnbktleSIsImh0dHBTdHJpbmciLCJzdHJpbmdUb1NpZ24iLCJ1c2VyQWdlbnQiLCJvcCIsImZpbGVjb250ZW50IiwidGNZdW5PcHRpb25zIiwidXNlVjQiLCJvcHRpb25VcmwiLCJzbGltIiwic291cmNlX3VybCIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsInRpcHMiLCJERUZBVUxUX0VORFBPSU5UIiwidXB5dW5PcHRpb25zIiwib3BlcmF0b3IiLCJtZDVQYXNzd29yZCIsInN1ZmZpeCIsImFudGlMZWVjaFRva2VuIiwiYWRkQW50aUxlZWNoVG9rZW4iLCJ1cHQiLCJleHBpcmVUaW1lIiwidXJpIiwiZXhwaXJlIiwic3Vic3RyaW5nIiwiZ2V0QW50aUxlZWNoUGFyYW0iLCJoYW5kbGVVcGxvYWRFcnJvciIsImVycm9yQm9keSIsImVycm9yQ29kZSIsIk1BWF9GSUxFX1NJWkUiLCJnZXRJbWFnZUJ1ZmZlciIsImJ1aWxkSW1hZ2VVcmwiLCJ3ZWJwYXRoIiwidXNlV2VicGF0aCIsInNhdmVJbWFnZVRvVGVtcCIsInVwbG9hZEltYWdlIiwiZnVsbFVwbG9hZERpclBhdGgiLCJwYXRoVG9DcmVhdGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZWN1cnNpdmUiLCJwdXRGaWxlQ29udGVudHMiLCJvdmVyd3JpdGUiLCJhdXRoVHlwZSIsIkF1dGhUeXBlIiwiRGlnZXN0IiwiY3JlYXRlQ2xpZW50IiwiY3JlYXRlV2ViREFWQ2xpZW50IiwiYnVpbGRJblVwbG9hZGVycyIsImFkdmFuY2VkcGxpc3RVcGxvYWRlciIsImFsaXN0VXBsb2FkZXIiLCJhbGlZdW5VcGxvYWRlciIsImF3c3MzcGxpc3RVcGxvYWRlciIsImdpdGh1YlVwbG9hZGVyIiwiaW1ndXJVcGxvYWRlciIsImxvY2FsVXBsb2FkZXIiLCJsc2t5VXBsb2FkZXIiLCJwaWNsaXN0VXBsb2FkZXIiLCJxaW5pdVVwbG9hZGVyIiwic2Z0cFVwbG9hZGVyIiwic21tc1VwbG9hZGVyIiwidGNZdW5VcGxvYWRlciIsInVwWXVuVXBsb2FkZXIiLCJ3ZWJkYXZwbGlzdFVwbG9hZGVyIiwiREIiLCJkYiIsIkpTT05TdG9yZSIsInJlYWQiLCJmbHVzaCIsInVuc2V0IiwiQ0xJUEJPQVJEX0lNQUdFX0ZPTERFUiIsInBsYXRmb3JtMlNjcmlwdENvbnRlbnQiLCJkYXJ3aW4iLCJ3aW4zMiIsIndpbjEwIiwibGludXgiLCJ3c2wiLCJwbGF0Zm9ybTJTY3JpcHRGaWxlbmFtZSIsImdldENsaXBib2FyZEltYWdlIiwiaW1hZ2VQYXRoIiwiY3JlYXRlSW1hZ2VGb2xkZXIiLCJwbGF0Zm9ybSIsImlzV3NsIiwib3MiLCJyZWxlYXNlIiwiZ2V0Q3VycmVudFBsYXRmb3JtIiwic2NyaXB0UGF0aCIsImV4ZWN1dGlvbiIsImltZ1BhdGgiLCJzaG91bGRLZWVwQWZ0ZXJVcGxvYWRpbmciLCJQaWNHbyIsIl9jb25maWciLCJsaWZlY3ljbGUiLCJfcGx1Z2luTG9hZGVyIiwiaW5pdENvbmZpZ1BhdGgiLCJpbml0Q29uZmlnIiwiaG9tZWRpciIsImVuc3VyZUZpbGVTeW5jIiwicmVnaXN0ZXJDb21tYW5kcyIsInByb3BOYW1lIiwiY2xlYW51cCIsInJlbW92ZSJdLCJtYXBwaW5ncyI6Im1sREFXQSxNQUNNQSxHQUFZQyxFQURDQyxjQUEwQkMsTUFtQnZDLFNBQVVDLEdBQXNCQyxHQUNwQyxNQUFNQyxFQUFNLElBQUlDLE1BQU1GLEdBQ3RCLElBQUlHLEVBQUksRUFDSkMsRUFBTyxFQUNQQyxFQUFPLEVBQ1gsS0FBT0YsRUFBSUgsR0FBUSxDQUNqQixHQUFJSyxFQUFPLEVBQUcsQ0FDWkQsRUFBUUEsR0FBUSxHQUF3QixXQUFoQkUsS0FBS0MsV0FBMkIsRUFDeERGLEdBQVEsR0FDUixRQUNGLENBQ0EsTUFBTUcsRUFmRyxHQWVHSixFQUNaQSxLQUFVLEVBQ1ZDLEdBQVEsRUFDSkcsRUFBTSxLQUFJUCxFQUFJRSxLQWpCUixpRUFpQnFCSyxHQUNqQyxDQUNBLE9BQU9QLEVBQUlRLEtBQUssR0FDbEIsQ0FVQSxTQUFTQyxHQUFhQyxHQUNwQixPQUFpQyxJQUExQkEsRUFBSUMsV0FBV1osT0FBZSxJQUFJVyxJQUFRQSxFQUFJQyxVQUN2RCxDQUVBLFNBQVNDLEdBQU9DLEdBQ2QsT0FBT0MsRUFBT0MsV0FBVyxPQUFPQyxPQUFPSCxHQUFPSSxPQUFPLE1BQ3ZELENBRUEsU0FBU0MsR0FBVUwsR0FDakIsT0FBT0MsRUFBT0MsV0FBVyxVQUFVQyxPQUFPSCxHQUFPSSxPQUFPLE1BQzFELENBRU0sU0FBVUUsR0FDZEMsRUFDQUMsRUFDQUMsRUFDQUMsR0FFQSxNQUFNQyxFQUFNLElBQUlDLEtBQ1ZDLEVBQU9GLEVBQUlHLGNBQWNoQixXQUN6QmlCLEVBQWVDLEVBQUtDLFNBQVNWLEVBQVNTLEVBQUtFLFFBQVFYLElBQ25EWSxFQUE4QyxDQUNsRCxNQUFPLElBQU1OLEVBQ2IsTUFBTyxJQUFNQSxFQUFLTyxNQUFNLEdBQ3hCLE1BQU8sSUFBTXhCLEdBQWFlLEVBQUlVLFdBQWEsR0FDM0MsTUFBTyxJQUFNekIsR0FBYWUsRUFBSVcsV0FDOUIsTUFBTyxJQUFNMUIsR0FBYWUsRUFBSVksWUFDOUIsTUFBTyxJQUFNM0IsR0FBYWUsRUFBSWEsY0FDOUIsTUFBTyxJQUFNNUIsR0FBYWUsRUFBSWMsY0FDOUIsT0FBUSxJQUFNZCxFQUFJZSxrQkFBa0I1QixXQUFXNkIsU0FBUyxFQUFHLEtBQzNELFFBQVMsSUFBTTVCLEdBQU9XLEdBQWNLLEdBQ3BDLFdBQVksSUFBTVYsR0FBVUssR0FBY0ssR0FDMUMsV0FBWSxJQUFNaEIsR0FBT1csR0FBY0ssR0FBY0ssTUFBTSxFQUFHLElBQzlELGFBQWMsSUFBT1gsRUFBZ0JPLEVBQUtDLFNBQVNSLEVBQWVPLEVBQUtFLFFBQVFULElBQWtCTSxFQUNqRyxTQUFVLElBQU1hLElBQVNDLFFBQVEsS0FBTSxJQUN2QyxjQUFlLElBQU1sQixFQUFJbUIsVUFBVWhDLFlBRXJDLFFBQ21CaUMsSUFBakJ2QixJQUNFd0IsT0FBT0MsS0FBS2QsR0FBZWUsS0FBS0MsR0FBUTNCLEVBQWE0QixTQUFTRCxNQUM3RDNCLEVBQWE0QixTQUFTLGtCQUN0QjVCLEVBQWE0QixTQUFTLFFBRXpCLE9BQU83QixFQUVULE1BQU04QixFQUFNckIsRUFBS0UsUUFBUVgsR0FDekIsSUFBSStCLEVBQ0ZOLE9BQU9DLEtBQUtkLEdBQWVvQixPQUFPLENBQUNDLEVBQUtDLElBQy9CRCxFQUFJWCxRQUFRLElBQUlhLE9BQU9ELEVBQUssS0FBTXRCLEVBQWNzQixNQUN0RGpDLEdBQWdCNkIsRUFpQnJCLE9BZEFDLEVBQVVBLEVBQVFULFFBRkQsZ0JBRW1CLENBQUNjLEVBQUdDLElBRS9CM0QsR0FEUTRELFNBQVNELEVBQVEsTUFHbENOLEVBQVVBLEVBQVFULFFBTEUsbUJBS21CLENBQUNjLEVBQUdDLEtBQ3pDLE1BQU0xRCxFQUFTMkQsU0FBU0QsRUFBUSxJQUNoQyxPQUFPdkMsR0FBVUssR0FBY0ssR0FBY0ssTUFBTSxFQUFHbEMsS0FFeERvRCxFQUFVQSxFQUFRVCxRQUFRLDRCQUE2QixDQUFDaUIsRUFBU0MsRUFBS0MsS0FDcEVBLEVBQVF4RCxLQUFLeUQsSUFBSSxFQUFHRCxHQUFTLEdBRzdCLE9BRmNoQyxFQUFLbEMsUUFBUXlCLEdBQVMyQyxNQUFNbEMsRUFBS21DLEtBQ25DL0IsTUFBTSxFQUFJNEIsR0FBT1QsT0FBTyxDQUFDYSxFQUFHQyxJQUFNLEdBQUdELEtBQUtDLEtBQzNDeEIsUUFBUSxLQUFNLE1BRXBCUyxDQUNULENBR08sTUFBTWdCLEdBQVN0RSxHQUF5QixlQUFldUUsS0FBS3ZFLEdBRXREd0UsR0FBZXhFLElBQzFCQSxFQUFNQSxHQUFPLEdBQ2IsSUFFRSxPQUFPQSxJQUFReUUsVUFBVXpFLEVBQzNCLENBQUUsTUFBTzBFLEdBQ1AsT0FBTyxDQUNULEdBR1dDLEdBQW1CM0UsSUFDekJ3RSxHQUFZeEUsS0FDZkEsRUFBTTRFLFVBQVU1RSxJQUVYQSxHQUlJNkUsR0FBZ0JDLElBQzNCLElBQ0UsTUFBTUMsTUFBRUEsRUFBUSxFQUFDQyxPQUFFQSxFQUFTLEVBQUNDLEtBQUVBLEdBQVNDLEVBQVVKLEdBRWxELE1BQU8sQ0FDTEssTUFBTSxFQUNOSixRQUNBQyxTQUNBOUMsUUFMYytDLEVBQU8sSUFBSUEsSUFBUyxPQU90QyxDQUFFLE1BQU9QLEdBRVAsTUFBTyxDQUNMUyxNQUFNLEVBQ05KLE1BQU8sSUFDUEMsT0FBUSxJQUNSOUMsUUFBUyxPQUViLEdBR1drRCxHQUFZQyxNQUFPQyxJQUM5QixJQUNFLE1BQU8sQ0FDTHBELFFBQVNGLEVBQUtFLFFBQVFvRCxHQUN0QkMsU0FBVXZELEVBQUtDLFNBQVNxRCxHQUN4QkUsYUFBY0MsRUFBR0MsU0FBU0osR0FDMUJLLFNBQVMsRUFFYixDQUFFLE1BQ0EsTUFBTyxDQUNMQyxPQUFRLGFBQWFOLFVBQ3JCSyxTQUFTLEVBRWIsR0FHV0UsR0FBYVIsTUFBT3JGLEVBQWE4RixLQUU1QyxJQUFJQyxFQURKL0YsRUFBTTJFLEdBQWdCM0UsR0FFdEIsTUFBTWdHLEVBQVksSUFBSUMsUUFBaUMsQ0FBQ0MsRUFBU0MsS0FDOUQsV0FDQyxJQUNFLE1BQU1DLFFBQVlOLEVBQ2ZPLFFBQVEsQ0FDUEMsT0FBUSxNQUNSdEcsTUFDQXVHLHlCQUF5QixFQUN6QkMsYUFBYyxnQkFFZkMsS0FBS0MsR0FDR0EsRUFBS0MsTUFFaEJDLGFBQWFiLEdBQ2IsTUFBTWMsRUFBVSxJQUFJQyxFQUFJOUcsR0FBSytHLFNBQzdCLElBQUk3RSxFQUFVLEdBQ2QsSUFFRUEsRUFEa0IsSUFBSTRFLEVBQUk5RyxHQUFLZ0gsYUFDWEMsSUFBSSxXQUFhakYsRUFBS0UsUUFBUTJFLElBQVksRUFDaEUsQ0FBRSxNQUFPSyxHQUNQaEYsRUFBVUYsRUFBS0UsUUFBUTJFLElBQVksRUFDckMsRUFDSzNFLEVBQVFpRixXQUFXLE1BQVFqRixJQUM5QkEsRUFBVSxJQUFJQSxLQUVoQmdFLEVBQVEsQ0FDTlYsT0FBUVksRUFDUmIsU0FBVXZELEVBQUtDLFNBQVM0RSxHQUN4QjNFLFVBQ0F5RCxTQUFTLEdBRWIsQ0FBRSxNQUFPdUIsR0FDUE4sYUFBYWIsR0FDYkcsRUFBUSxDQUNOUCxTQUFTLEVBRVRDLE9BQVEsV0FBVzVGLFlBQWNrSCxHQUFPRSxTQUFXLE1BRXZELENBQ0QsRUF0Q0EsR0FzQ0lDLE1BQU1sQixLQUVQbUIsRUFBaUIsSUFBSXJCLFFBQWtDQyxJQUMzREgsRUFBWXdCLFdBQVcsS0FDckJyQixFQUFRLENBQ05QLFNBQVMsRUFDVEMsT0FBUSxXQUFXNUYsZUFFcEIsT0FFTCxPQUFPaUcsUUFBUXVCLEtBQUssQ0FBQ3hCLEVBQVdzQixLQUlyQkcsR0FBcUJDLEdBQzVCLHlCQUF5Qm5ELEtBQUttRCxHQUN6QixRQUNFQSxFQUFLUCxXQUFXLGlCQUNsQixTQUNFUSxHQUFhRCxHQUNmLFNBRUYsVUFHSUMsR0FBZ0JDLElBQzNCLEdBQUk1RixFQUFLNkYsV0FBV0QsR0FDbEIsT0FBTyxFQUVULE1BQU1FLEVBQWE5RixFQUFLckIsS0FBS29ILFFBQVFDLE1BQU9KLEdBQzVDLE9BQUluQyxFQUFHd0MsV0FBV0gsTUFHZEYsRUFBV3hFLFNBQVMsT0FBUXdFLEVBQVd4RSxTQUFTLFFBY3pDOEUsR0FBMkIsQ0FBQ1IsRUFBY1MsRUFBUSxLQUM3REEsRUFBUSxJQUFJQSxrQkFBc0JULElBQVMsZ0JBQWdCQSxJQUVoRFUsR0FBdUIsQ0FBQ1IsRUFBb0JTLEVBQTRCQyxXQUVuRixPQUR1QmIsR0FBa0JHLElBRXZDLElBQUssU0FDTCxJQUFLLFFBQ0gsT0FBT0EsRUFDVCxJQUFLLFNBQ0gsT0FBT00sR0FBeUJOLEdBQ2xDLFFBQVMsQ0FDUCxJQUFJRSxFQUFhRixFQUNqQixPQUFJNUYsRUFBSzZGLFdBQVdELElBQWVuQyxFQUFHd0MsV0FBV0wsR0FDeENXLEdBQW9CVCxJQUU3QkEsRUFBYTlGLEVBQUtyQixLQUFLb0gsUUFBUUMsTUFBT0osR0FDbENuQyxFQUFHd0MsV0FBV0gsR0FDVFMsR0FBb0JULElBRTdCTyxFQUFPRyxLQUFLLHFCQUFxQlosS0FDMUIsSUFDVCxJQUlTYSxHQUFzQixDQUFDYixFQUFvQlMsRUFBNEJDLFdBRWxGLE9BRHVCYixHQUFrQkcsSUFFdkMsSUFBSyxTQUNILE9BQU9jLEdBQW9CZCxHQUM3QixJQUFLLFFBQ0gsT0FBT2MsR0FBb0JkLEdBQVksR0FDekMsSUFBSyxTQUNILE9BQU9jLEdBQW9CUixHQUF5Qk4sSUFDdEQsUUFBUyxDQUNQLElBQUtuQyxFQUFHd0MsV0FBV0wsR0FFakIsT0FEQVMsRUFBT0csS0FBSyxzQkFBc0JaLEtBQzNCLEdBRVQsTUFBTWUsRUFBa0IzRyxFQUFLNEcsTUFBTWpJLEtBQUtpSCxFQUFZLGdCQUNwRCxHQUFLbkMsRUFBR3dDLFdBQVdVLEdBR1osQ0FDTCxNQUFNRSxFQUFNQyxFQUFhSCxJQUFvQixDQUFBLEVBQzdDLE9BQUtFLEVBQUluQixNQUFNdEUsU0FBUyxpQkFNakJ5RixFQUFJbkIsTUFMVFcsRUFBT0csS0FDTCwyQ0FBNENLLEVBQUluQixNQUFtQixzREFFOUQsR0FHWCxDQVZFLE9BREFXLEVBQU9HLEtBQUssc0JBQXNCWixLQUMzQixFQVdYLElBSVNXLEdBQXVCUSxHQUNsQkEsRUFBUTdFLE1BQU1sQyxFQUFLbUMsS0FDcEJ4RCxLQUFLLEtBR1QrSCxHQUFzQixDQUFDZCxFQUFvQk8sR0FBaUIsS0FDdkUsR0FBS1AsRUFBV3hFLFNBQVMsS0FFbEIsQ0FDTCxJQUFJNEYsRUFBTSxrQ0FDTmIsSUFDRmEsRUFBTSw0Q0FFUixNQUFNQyxFQUFXckIsRUFBV3NCLE1BQU1GLEdBQ2xDLE9BQUtDLEVBSUlBLEVBQVMsSUFIaEJYLFFBQVFFLEtBQUssaUNBQ05aLEVBSVgsQ0FiRSxPQUFPQSxHQW9CRXVCLEdBQWtCLEdBTWxCQyxHQUEwQnJGLEdBQzlCb0YsR0FBZ0JqRyxLQUFLbUcsR0FBYXRGLEVBQUlvRCxXQUFXa0MsSUFHN0NDLEdBQXNCQyxHQUNYLGlCQUFYQSxJQUF3Qm5KLE1BQU1vSixRQUFRRCxJQUFXdkcsT0FBT0MsS0FBS3NHLEdBQVFySixPQUFTLEVBTXJGLFNBQVV1SixHQUFhQyxHQUMzQixJQUNFLE9BQU9DLEtBQUtDLE1BQU1GLEVBQ3BCLENBQUUsTUFBT3hDLEdBQ1AsT0FBT3lDLEtBQUtDLE1BQU0sS0FDcEIsQ0FDRixDQUVPLE1BQU1DLEdBQWMsQ0FBQ2hKLEVBQXVCLElBQzFDaUosTUFBTUMsT0FBT2xKLElBQVEsRUFBSWtKLE9BQU9sSixHQUc1Qm1KLEdBQVEsSUFBd0MsZ0JBQXpCakMsUUFBUWtDLElBQUlDLFNBdUJoRCxNQUFNQyxHQUE0Qm5JLEVBQUtyQixLQUFLZCxHQUFXLFNBQVUsZUFFMUR3RixlQUFlK0UsR0FDcEJDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUFKLEdBQ0dBLEdBQXVCQSxFQUFzQixHQUFLQSxFQUFzQixFQUFJLElBQU9BLEVBQ3RGLE1BQU1LLEVBQVFDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxLQUM3QnBHLE1BQU9xRyxFQUFXLFdBQWNILEVBQU1JLFdBQ3hDQyxRQXVCUmpHLGVBQ0VpRixFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUFtQixJQUNuQlgsRUFBMEIsRUFDMUJPLEVBQWdDLEtBRWhDLElBQUlNLEVBQ2tCLFVBQWxCaEIsR0FDRlUsRUFBd0JuQixHQUFZbUIsR0FDcENGLEVBQXFCQSxHQUFzQlgsR0FDM0NtQixRQUFrQkosRUFBTUosR0FDckJTLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3dLLE9BQU9DLEtBQUssQ0FBQyxJQUFLLElBQUssSUFBS1QsRUFBd0IsSUFBTSxJQUFNQSxJQUN2RVUsSUFBSyxDQUNIM0csTUFBTyxFQUNQQyxPQUFRLEVBQ1IyRyxTQUFVLEdBRVpDLE1BQU0sRUFDTkMsTUFBTyxhQUdWQyxZQUVIUixRQTlGSmpHLGVBQ0VrRixFQUNBRyxFQUNBcUIsRUFDQUMsR0FFQXRCLEVBQVFBLEdBQU8sS0FDZnNCLEVBQWNBLEdBQWF6QixFQUUzQixNQUNNMEIsRUFBdUMsQ0FDM0NDLE9BQVEsTUFDUkMsV0FBWSxDQUNWQyxLQUxKTCxFQUFTQSxHQUFRLDhCQVFYTSxFQVBXQyxFQUFVQyxTQUFTUCxHQU9YUSxPQUFPOUIsRUFBTXVCLEdBQ3RDLE9BQU9ULE9BQU9DLEtBQUtZLEVBQ3JCLENBNEVzQkksQ0FDaEJsQyxFQUNBRyxFQUNBRyxFQUNBRixHQUFxQkosR0FHekIsTUFBUXhGLE1BQU8ySCxFQUFnQjFILE9BQVEySCxTQWF6Q3RILGVBQXVCNEYsR0FDckIsTUFBTWxHLE1BQUVBLEVBQUtDLE9BQUVBLFNBQWlCa0csRUFBTUQsR0FBT0ksV0FDN0MsTUFBTyxDQUFFdEcsTUFBT0EsR0FBUyxJQUFLQyxPQUFRQSxHQUFVLElBQ2xELENBaEJtRTRILENBQVF0QixHQUNuRXVCLEVBQXVCck0sS0FBS3NNLE1BQU0xQixFQUFXdkIsR0FBWWUsSUFDekRtQyxFQUF3QnZNLEtBQUtzTSxNQUFPRCxFQUF1QkYsRUFBbUJELEdBQ3BGLGFBQWF4QixFQUFNSSxHQUNoQjBCLE9BQU9ILEVBQXNCRSxFQUF1QixDQUNuREUsSUFBSyxXQUVOQyxPQUFPekMsRUFBaUIsQ0FDdkIwQyxXQUFZLENBQUVDLEVBQUcsSUFBS0MsRUFBRyxJQUFLaEosRUFBRyxJQUFLaUosTUFBTyxLQUU5Q3hCLFVBQ0wsQ0F4RTBCeUIsQ0FDdEJqRCxFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUNBWCxFQUNBTyxHQUVGLGFBQWFDLEVBQ1ZNLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3NLLEVBQ1BrQyxRQUFTekMsR0FBWSxZQUNyQmEsS0FBTXBCLEtBR1RzQixVQUNMLENBMERBLE1BQU0yQixHQUFhLElBQUlDLElBQ2RBLEVBQU9DLE1BQU1DLEdBQ2RBLFVBQ2lCLGlCQUFWQSxFQUFxQyxLQUFWQSxFQUNqQixpQkFBVkEsRUFBMkJBLEVBQVEsRUFDekIsaUJBQVZBLEdBQTJCNUssT0FBT0MsS0FBSzJLLEdBQU8xTixPQUFTLElBUWhFMk4sR0FBNkIsQ0FDakMsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFFBTUlDLEdBQWtCLENBQ3RCLE1BQ0EsT0FDQSxNQUNBLE9BQ0EsTUFDQSxPQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsT0FDQSxPQUNBLE9BR0lDLEdBQXFCQyxHQUE0QkgsR0FBMkJ6SyxTQUFTNEssR0FFckYsU0FBVUMsR0FDZHZDLEVBQ0F3QyxHQUVBeEMsRUFBTUEsR0FBTyxDQUFBLEVBZWIsTUFkaUQsQ0FDL0N5QyxrQkFBbUJ6QyxFQUFJMEMsb0JBQW9CRixJQUFXeEMsRUFBSXlDLGdCQUMxRDdELGVBQWdCb0IsRUFBSTJDLG1CQUFtQkgsSUFBV3hDLEVBQUlwQixnQkFBa0IsT0FDeEVFLHlCQUEwQmtCLEVBQUk0QywyQkFBMkJKLElBQVd4QyxFQUFJbEIsdUJBQ3hFQyxnQkFBaUJaLEdBQVk2QixFQUFJNkMscUJBQXFCTCxJQUFXeEMsRUFBSWpCLGlCQUNyRStELGVBQWdCOUMsRUFBSStDLG1CQUFtQlAsSUFBV3hDLEVBQUk4QyxnQkFBa0IsR0FDeEU3RCxrQkFBbUJlLEVBQUlmLG1CQUFxQixHQUM1Q0Msb0JBQXFCZixHQUFZNkIsRUFBSWdELHlCQUF5QlIsSUFBV3hDLEVBQUlkLHFCQUM3RUMsZ0JBQWlCYSxFQUFJaUQsb0JBQW9CVCxJQUFXeEMsRUFBSWIsaUJBQW1CLDRCQUMzRUMsb0JBQXFCWSxFQUFJa0Qsd0JBQXdCVixJQUFXeEMsRUFBSVoscUJBQXVCLEdBQ3ZGK0QsbUJBQW9CbkQsRUFBSW9ELHVCQUF1QlosSUFBV3hDLEVBQUltRCxvQkFBc0IsWUFDcEY3RCxzQkFBdUJuQixHQUFZNkIsRUFBSXFELDJCQUEyQmIsSUFBV3hDLEVBQUlWLHVCQUNqRmtELFNBR0osQ0FFTSxTQUFVYyxHQUNkdEQsRUFDQXdDLEdBRUF4QyxFQUFNQSxHQUFPLENBQUEsRUFtQmIsTUFsQmdELENBQzlDdUQsUUFBU3BGLEdBQVk2QixFQUFJd0QsYUFBYWhCLElBQVd4QyxFQUFJdUQsU0FDckRFLGFBQWN6RCxFQUFJMEQsZUFBZWxCLElBQVd4QyxFQUFJeUQsV0FDaERFLGVBQWdCM0QsRUFBSTRELG1CQUFtQnBCLElBQVd4QyxFQUFJMkQsZ0JBQWtCLE1BQ3hFRSxZQUFhN0QsRUFBSThELGNBQWN0QixJQUFXeEMsRUFBSTZELFVBQzlDRSxhQUFjNUYsR0FBWTZCLEVBQUlnRSxrQkFBa0J4QixJQUFXeEMsRUFBSStELGNBQy9ERSxZQUFhOUYsR0FBWTZCLEVBQUlrRSxpQkFBaUIxQixJQUFXeEMsRUFBSWlFLGFBQzdERSx3QkFBeUJuRSxFQUFJb0UsMEJBQTBCNUIsSUFBV3hDLEVBQUltRSxzQkFDdEVFLHFCQUFzQnJFLEVBQUlzRSx1QkFBdUI5QixJQUFXeEMsRUFBSXFFLG1CQUNoRUUsY0FBZXBHLEdBQVk2QixFQUFJd0UsbUJBQW1CaEMsSUFBV3hDLEVBQUl1RSxlQUNqRUUsWUFBYXpFLEVBQUkwRSxjQUFjbEMsSUFBV3hDLEVBQUl5RSxVQUM5Q0UsYUFBY3hHLEdBQVk2QixFQUFJNEUsa0JBQWtCcEMsSUFBV3hDLEVBQUkyRSxjQUMvREUsZ0JBQWlCN0UsRUFBSThFLGtCQUFrQnRDLElBQVd4QyxFQUFJNkUsY0FDdERFLFVBQVcvRSxFQUFJZ0YsWUFBWXhDLElBQVd4QyxFQUFJK0UsUUFDMUNFLFVBQVdqRixFQUFJa0YsWUFBWTFDLElBQVd4QyxFQUFJaUYsUUFDMUNFLGtCQUFtQm5GLEVBQUlvRixzQkFBc0I1QyxJQUFXeEMsRUFBSW1GLG1CQUFxQixDQUFBLEVBQ2pGM0MsU0FHSixDQUVPN0ksZUFBZTBMLEdBQ3BCMUcsRUFDQTRCLEVBQ0ExQixFQUNBbEMsR0FFQSxJQUNFLElBQUk0QyxFQUFxQkMsRUFBTWIsRUFBSyxDQUFFYyxVQUFVLElBa0JoRCxPQWpCQUYsRUFBUUMsUUFDQWQsR0FDSkMsRUFDQTRCLEVBQVEzQixlQUFpQixPQUN6QkMsRUFDQTBCLEVBQVF6QixzQkFDUlgsR0FBWW9DLEVBQVF4QixpQkFDcEJ3QixFQUFRdUMsY0FDUnZDLEVBQVF0QixrQkFDUmQsR0FBWW9DLEVBQVFyQixxQkFDcEJxQixFQUFRcEIsZUFDUm9CLEVBQVFuQixtQkFDUm1CLEVBQVE0QyxrQkFDUmhGLEdBQVlvQyxFQUFRakIsd0JBRXRCLENBQUVHLFVBQVUsVUFFREYsRUFBTWEsVUFDckIsQ0FBRSxNQUFPNUUsR0FFUCxPQURBbUIsRUFBT25CLE1BQU0sOEJBQThCQSxLQUNwQ21ELENBQ1QsQ0FDRixDQUVBLFNBQVMyRyxHQUFjL0UsR0FDckIsTUFBTTRFLEVBQ2dDLGlCQUE3QjVFLEVBQVE0RSxpQkFBZ0NwSCxHQUFVd0MsRUFBUTRFLGtCQUFvQjVFLEVBQVE0RSxpQkFDL0YsTUFBTyxDQUNMNUIsUUFBU3BGLEdBQVlvQyxFQUFRZ0QsU0FDN0JFLFVBQVdsRCxFQUFRa0QsWUFBYSxFQUNoQ0UsY0FBZXBELEVBQVFvRCxlQUFpQixNQUN4Q0UsU0FBVXRELEVBQVFzRCxXQUFZLEVBQzlCRSxhQUFjNUYsR0FBWW9DLEVBQVF3RCxjQUNsQ0UsWUFBYTlGLEdBQVlvQyxFQUFRMEQsYUFDakNFLHFCQUFzQjVELEVBQVE0RCx1QkFBd0IsRUFDdERFLGtCQUFtQjlELEVBQVE4RCxvQkFBcUIsRUFDaERFLGNBQWVwRyxHQUFZb0MsRUFBUWdFLGVBQ25DRSxTQUFVbEUsRUFBUWtFLFdBQVksRUFDOUJNLE9BQVF4RSxFQUFRd0UsU0FBVSxFQUMxQkUsT0FBUTFFLEVBQVEwRSxTQUFVLEVBQzFCTixhQUFjeEcsR0FBWW9DLEVBQVFvRSxjQUNsQ25DLE9BQVFqQyxFQUFRaUMsUUFBVSxPQUMxQjJDLGlCQUFrQkEsR0FBb0IsQ0FBQSxFQUUxQyxDQUVPeEwsZUFBZTRMLEdBQ3BCNUcsRUFDQTRCLEVBQ0FpRixFQUNBN0ksR0FFQTRELEVBQVUrRSxHQUFjL0UsR0FDeEIsSUFFRSxHQURBaUYsRUFBWUMsR0FBa0JELElBQ3pCcEQsR0FBZ0IxSyxTQUFTOE4sSUFBNEIsUUFBZEEsRUFBcUIsT0FBTzdHLEVBQ3hFLElBQUlZLEVBQXFCQyxFQUFNYixFQUFLLENBQUVjLFVBQVUsSUFDNUM4RCxFQUFVLElBSWQsR0FISXhCLEdBQVd4QixFQUFRZ0QsVUFBWWhELEVBQVFnRCxRQUFXLE1BQ3BEQSxFQUFVek8sS0FBSzRRLElBQUk1USxLQUFLeUQsSUFBSXpELEtBQUs2USxNQUFNcEYsRUFBUWdELFNBQVcsR0FBSSxNQUU1RGhELEVBQVE4RCxtQkFDVixHQUFJdEMsR0FBV3hCLEVBQVFnRSxlQUFnQixDQUNyQyxNQUFNcUIsUUFBbUJyRyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVN0RyxPQUM5RHdNLFFBQW9CdEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTckcsUUFDakVzTSxHQUFjQyxJQUNoQnRHLEVBQVFBLEVBQU0rQixPQUNaeE0sS0FBSzZRLE1BQU9DLEVBQWFyRixFQUFRZ0UsY0FBa0IsS0FDbkR6UCxLQUFLNlEsTUFBT0UsRUFBY3RGLEVBQVFnRSxjQUFrQixLQUNwRCxDQUNFaEQsSUFBSyxXQUliLE9BQ0ssR0FBSWhCLEVBQVFzRCxTQUNqQixHQUNrQyxpQkFBekJ0RCxFQUFRd0QsY0FDZnhELEVBQVF3RCxhQUFlLEdBQ1EsaUJBQXhCeEQsRUFBUTBELGFBQ2YxRCxFQUFRMEQsWUFBYyxFQUV0QjFFLEVBQVFBLEVBQU0rQixPQUFPZixFQUFRMEQsWUFBYTFELEVBQVF3RCxhQUFjLENBQzlEeEMsSUFBSyxjQUVGLEdBQzJCLGlCQUF6QmhCLEVBQVF3RCxjQUNmeEQsRUFBUXdELGFBQWUsSUFDUyxpQkFBeEJ4RCxFQUFRMEQsYUFBb0QsSUFBeEIxRCxFQUFRMEQsYUFDcEQsQ0FDQSxNQUFNMkIsUUFBbUJyRyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVN0RyxPQUM5RHdNLFFBQW9CdEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTckcsUUFDckUsR0FBSXNNLEdBQWNDLEtBQ1h0RixFQUFRNEQsc0JBQXlCNUQsRUFBUTRELHNCQUF3QjVELEVBQVF3RCxhQUFlOEIsR0FBYyxDQUN6RyxNQUFNQyxFQUFhdkYsRUFBUXdELGFBQWU4QixFQUMxQ3RHLEVBQVFBLEVBQU0rQixPQUFPeE0sS0FBSzZRLE1BQU1DLEVBQWFFLEdBQWF2RixFQUFRd0QsYUFBYyxDQUM5RXhDLElBQUssVUFFVCxDQUVKLE1BQU8sR0FDMEIsaUJBQXhCaEIsRUFBUTBELGFBQ2YxRCxFQUFRMEQsWUFBYyxJQUNXLGlCQUF6QjFELEVBQVF3RCxjQUFzRCxJQUF6QnhELEVBQVF3RCxjQUNyRCxDQUNBLE1BQU02QixRQUFtQnJHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3RHLE9BQzlEd00sUUFBb0J0RyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVNyRyxRQUNyRSxHQUFJc00sR0FBY0MsS0FDWHRGLEVBQVE0RCxzQkFBeUI1RCxFQUFRNEQsc0JBQXdCNUQsRUFBUTBELFlBQWMyQixHQUFhLENBQ3ZHLE1BQU1FLEVBQWF2RixFQUFRMEQsWUFBYzJCLEVBQ3pDckcsRUFBUUEsRUFBTStCLE9BQU9mLEVBQVEwRCxZQUFhblAsS0FBSzZRLE1BQU1FLEVBQWNDLEdBQWEsQ0FDOUV2RSxJQUFLLFVBRVQsQ0FFSixDQWFGLEdBWEloQixFQUFRa0UsVUFBWWxFLEVBQVFvRSxlQUM5QnBGLEVBQVFBLEVBQU1pQyxPQUFPakIsRUFBUW9FLGFBQWMsQ0FDekNsRCxXQUFZLENBQUVDLEVBQUcsSUFBS0MsRUFBRyxJQUFLaEosRUFBRyxJQUFLaUosTUFBTyxNQUc3Q3JCLEVBQVF3RSxTQUNWeEYsRUFBUUEsRUFBTXdHLFFBRVp4RixFQUFRMEUsU0FDVjFGLEVBQVFBLEVBQU15RyxRQUVaekYsRUFBUWtELFVBQVcsQ0FDckIsTUFBTXdDLEVBQVlDLEdBQW1CM0YsRUFBU2lGLEdBQzFDUyxJQUFjVCxJQUNoQmpHLEVBQVFBLEVBQU00RyxTQUFTRixFQUFXLENBQ2hDMUMsVUFDQTZDLFNBQVMsSUFHZixNQUVJN0csRUFERWlHLEdBQWFuRCxHQUFrQm1ELEdBQ3pCakcsRUFBTTRHLFNBQVNYLEVBQWtCLENBQ3ZDakMsVUFDQTZDLFNBQVMsSUFHSDdHLEVBQU00RyxTQUFTLE1BQU8sQ0FDNUI1QyxVQUNBNkMsU0FBUyxJQUlmLGFBQWE3RyxFQUFNYSxVQUNyQixDQUFFLE1BQU81RSxHQUVQLE9BREFtQixFQUFPbkIsTUFBTSx3QkFBd0JBLEtBQzlCbUQsQ0FDVCxDQUNGLENBRUEsTUFBTThHLEdBQXFCOU4sR0FDbEJBLEVBQUkwTyxjQUFjbFAsUUFBUSxJQUFLLElBR2xDLFNBQVUrTyxHQUFtQjNGLEVBQThDaUYsR0FHL0UsR0FGQWpGLEVBQVUrRSxHQUFjL0UsR0FBVyxJQUVqQixTQURsQmlGLEVBQVlDLEdBQWtCRCxJQUNMLE1BQU8sTUFDaEMsSUFBSVMsRUFBWTFGLEdBQVNvRCxlQUFpQixNQUMxQyxHQUFJcEQsR0FBUzRFLGtCQUFvQjdOLE9BQU9DLEtBQUtnSixFQUFRNEUsa0JBQWtCM1EsT0FBUyxFQUFHLENBQ2pGLE1BQU0yUSxFQUFtQjVFLEVBQVE0RSxpQkFDSjdOLE9BQU9DLEtBQUs0TixHQUNoQnpOLFNBQVM4TixLQUNoQ1MsRUFBWWQsRUFBaUJLLEdBQ3hCbkQsR0FBa0I0RCxLQUNyQkEsRUFBWSxPQUdsQixDQUlBLE1BSHdCLFVBQXBCMUYsR0FBU2lDLFFBQW9DLFNBQWR5RCxJQUNqQ0EsRUFBWSxPQUVQQSxDQUNULENBRU8sTUFBTUssR0FBcUIsQ0FDaENDLEVBQ0FDLEtBRUFBLEVBQVVmLEdBQWtCZSxLQUV4QkQsS0FBc0JBLEVBQWlCOUQsZ0JBQWtCTCxHQUFnQjFLLFNBQVM4TyxJQUF3QixRQUFaQSxHQUl2RkMsR0FBaUIsQ0FBQ0MsRUFBc0RGLEtBQ25GLElBQUtwRSxHQUFnQjFLLFNBQVMrTixHQUFrQmUsTUFBY0UsRUFBaUIsT0FBTyxFQUV0RixNQUFNbkQsUUFDSkEsRUFBT2Msa0JBQ1BBLEVBQWlCRSxjQUNqQkEsRUFBYVYsU0FDYkEsRUFBUUUsYUFDUkEsRUFBWUUsWUFDWkEsRUFBV1EsU0FDWEEsRUFBUUUsYUFDUkEsRUFBWWxCLFVBQ1pBLEVBQVNFLGNBQ1RBLEVBQWFvQixPQUNiQSxFQUFNRSxPQUNOQSxHQUNFSyxHQUFjb0IsR0FFbEIsR0FBSTNFLEdBQVd3QixJQUFZQSxFQUFXLElBQUssT0FBTyxFQUNsRCxHQUFJYyxHQUFxQnRDLEdBQVd3QyxHQUFnQixPQUFPLEVBQzNELEdBQ0VWLElBQzBCLGlCQUFqQkUsR0FBNkJBLEVBQWUsR0FBOEIsaUJBQWhCRSxHQUE0QkEsRUFBYyxHQUU3RyxPQUFPLEVBRVQsR0FBSVEsR0FBWUUsRUFBYyxPQUFPLEVBQ3JDLEdBQUlJLEdBQVVFLEVBQVEsT0FBTyxFQUM3QixHQUFJeEIsRUFBVyxDQUViLE9BQU8rQyxLQURXN0MsR0FBaUIsTUFFckMsQ0FDQSxPQUFPLEdBR0lnRCxHQUFhaE4sTUFBT2dGLEVBQWE2SCxLQUM1Q0EsRUFBVWYsR0FBa0JlLEdBQ3ZCcEUsR0FBZ0IxSyxTQUFTOE8sSUFBd0IsUUFBWkEsUUFDN0JoSCxFQUFNYixFQUFLLENBQ3RCYyxVQUFVLElBQ1RXLFdBSGlFekIsaVZBMWtCM0IzQyxHQUNyQyx5QkFBeUJuRCxLQUFLbUQsR0FDekJBLEVBQUs3RSxRQUFRLHlCQUEwQixJQUV2QzZFLEVBQUs3RSxRQUFRLGdCQUFpQixxV0F4Tk10QixFQUFpQnJCLEVBQWlCLEdBQy9FLE1BQU8sR0FBR0QsR0FBc0JDLEtBQVU4QixFQUFLRSxRQUFRWCxJQUN6RCw4QkFOTSxTQUFzQ0EsR0FDMUMsTUFBTyxHQUFHZixLQUFLc00sTUFBTWxMLEtBQUtELE1BQVEsT0FBUTFCLEdBQXNCLEtBQUsrQixFQUFLRSxRQUFRWCxJQUNwRixpQkNuREEsSUFBWStRLEdBVUFDLEdBZ0JBQyxJQTFCWixTQUFZRixHQUNWQSxFQUFBLFFBQUEsVUFDQUEsRUFBQSxLQUFBLE9BQ0FBLEVBQUEsS0FBQSxPQUNBQSxFQUFBLE1BQUEsT0FDRCxDQUxELENBQVlBLEtBQUFBLEdBQVEsQ0FBQSxJQVVwQixTQUFZQyxHQUNWQSxFQUFBLGdCQUFBLGlCQUNBQSxFQUFBLE9BQUEsU0FDQUEsRUFBQSxpQkFBQSxrQkFDQUEsRUFBQSxjQUFBLGVBQ0FBLEVBQUEsYUFBQSxjQUNBQSxFQUFBLFNBQUEsV0FDQUEsRUFBQSxRQUFBLFVBQ0FBLEVBQUEsVUFBQSxZQUNBQSxFQUFBLE9BQUEsU0FDQUEsRUFBQSxhQUFBLGNBQ0QsQ0FYRCxDQUFZQSxLQUFBQSxHQUFhLENBQUEsSUFnQnpCLFNBQVlDLEdBQ1ZBLEVBQUEsY0FBQSxlQUNELENBRkQsQ0FBWUEsS0FBQUEsR0FBUyxDQUFBLElDYXJCLE1BQU1DLEdBQ08seUJBRFBBLEdBRU0sNEJBRk5BLEdBR1MsbUJBSFRBLEdBSVUsb0JBSlZBLEdBS2tCLGlDQUxsQkEsR0FNaUIsMkJBTmpCQSxHQU9lLCtDQUdmQyxHQUNHLEVBREhBLEdBRU8sR0FGUEEsR0FHSSxHQUhKQSxJQUtJLEVBR0pDLEdBQTBCLENBQUMsTUFBTyxNQUFPLEtBQU0sTUFBTyxLQUFNLFNBQVUsVUFBVyxVQUVqRkMsR0FBbUIsT0FFbkIsTUFBT0MsV0FBa0JDLEVBQ1poTixJQUNqQmlOLFFBRUEsV0FBQUMsQ0FBWWxOLEdBQ1ZtTixRQUNBQyxLQUFLcE4sSUFBTUEsRUFDWG9OLEtBQUtILFFBQVUvUSxFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLFNBQVUsY0FDaERELEtBQUtFLGdCQUNQLENBRVEsY0FBQUEsR0FDTkMsRUFBY3JSLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLFlBQ2JELEtBQUtwTixJQUFJd04sVUFBZ0MsbUNBQW9DLEdBRXhHQyxFQUFhdlIsRUFBS3JCLEtBQUt1UyxLQUFLcE4sSUFBSXFOLFFBQVMsZUFFN0MsQ0FFUSxpQkFBTUssR0FDWixJQUVFLEdBREFILEVBQWNyUixFQUFLbEMsUUFBUW9ULEtBQUtILFVBQzVCdE4sRUFBR3dDLFdBQVdpTCxLQUFLSCxVQUFZdE4sRUFBR2dPLFNBQVNQLEtBQUtILFNBQVNXLEtBQU8sRUFBRyxPQUFPLEVBRTlFUixLQUFLcE4sSUFBSTZOLElBQUlDLEtBQUtuQixJQUNsQixNQUFNck0sUUFBWXlOLEVBQU01TSxJQTVCVCx3Q0E0QjJCLENBQUVULGFBQWMsZ0JBRzFELE9BRkFmLEVBQUdxTyxjQUFjWixLQUFLSCxRQUFTM00sRUFBSU8sTUFDbkN1TSxLQUFLcE4sSUFBSTZOLElBQUlDLEtBQUtuQixLQUNYLENBQ1QsQ0FBRSxNQUFPL04sR0FFUCxPQURBd08sS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTXVMLEtBQ1osQ0FDVCxDQUNGLENBRVEsb0JBQUFzQixDQUFxQmpPLEdBSTNCLE1BQU1zTSxFQUFrQnRNLEVBQUl3TixVQUFnRCxvQkFDdEVyQixFQUFtQm5NLEVBQUl3TixVQUFpRCxxQkFFeEVyTyxFQUFPaU8sS0FBS2MsZ0JBQWdCbE8sR0FFbEMsR0FBSXNNLEVBQWlCLENBQ25CQSxFQUFnQmxFLE9BQVNqSixFQUN6QixNQUFNNEwsRUFDd0MsaUJBQXJDdUIsRUFBZ0J2QixpQkFDbkJwSCxHQUFVMkksRUFBZ0J2QixrQkFDMUJ1QixFQUFnQnZCLGlCQUN0QnVCLEVBQWdCdkIsaUJBQW1CQSxDQUNyQyxDQUVJb0IsSUFDRkEsRUFBaUIvRCxPQUFTakosR0FNNUIsTUFBTyxDQUFFbU4sZ0JBSHNCcEQsR0FBMEJvRCxFQUFpQm5OLEdBR3hCZ04saUJBRmxCaEUsR0FBMkJnRSxFQUFrQmhOLEdBRy9FLENBRVEsZUFBQStPLENBQWdCbE8sR0FDdEIsT0FDRUEsRUFBSXdOLFVBQStCLG9CQUNuQ3hOLEVBQUl3TixVQUErQixtQkFDbkNWLEVBRUosQ0FFUSxpQkFBQXFCLENBQWtCbk8sR0FDeEIsTUFBTW9PLEVBQWNwTyxFQUFJd04sVUFBbUQsd0JBQTBCLENBQUEsRUFDL0ZhLEVBQXFCRCxFQUFZQyxtQkFDbkNELEVBQVlDLG1CQUFtQmpRLE1BQU0sS0FBS2tRLElBQUtqUixHQUFpQkEsRUFBS2tSLFFBQ3JFMUIsR0FFSixPQUFPLElBQUkyQixJQUNUSCxFQUFtQkMsSUFBS2pSLElBQ3RCLE1BQU1vUixFQUFnQnBSLEVBQUtrUixPQUFPdEMsY0FDbEMsT0FBT3dDLEVBQWNwTixXQUFXLEtBQU9vTixFQUFnQixJQUFJQSxNQUdqRSxDQUdBLFdBQU1DLENBQU14VCxFQUFja1QsR0FBYyxHQUN0QyxNQUFNcE8sRUM5SW1CLENBQUNBLElBQ3JCLENBQ0wyTyxXQUFZM08sRUFBSTJPLFdBQ2hCdEIsUUFBU3JOLEVBQUlxTixRQUNiUSxJQUFLN04sRUFBSTZOLElBQ1RlLElBQUs1TyxFQUFJNE8sSUFDVEMsT0FBUSxHQUNSM1QsTUFBTyxHQUNQNFQsU0FBVSxHQUNWQyxlQUFnQixHQUNoQkMsYUFBY2hQLEVBQUlnUCxhQUNsQkMsY0FBZWpQLEVBQUlpUCxjQUNuQkMsUUFBU2xQLEVBQUlrUCxRQUNiQyxPQUFRblAsRUFBSW1QLE9BQ1pDLFFBQVNwUCxFQUFJb1AsUUFDYkMsWUFBYXJQLEVBQUlxUCxZQUNqQjlPLFFBQVNQLEVBQUlPLFFBQ2IrTyxLQUFNdFAsRUFBSXNQLEtBQ1Y5QixVQUFXeE4sRUFBSXdOLFVBQVUrQixLQUFLdlAsR0FDOUJ3UCxXQUFZeFAsRUFBSXdQLFdBQVdELEtBQUt2UCxHQUNoQ3lQLGFBQWN6UCxFQUFJeVAsYUFBYUYsS0FBS3ZQLEdBQ3BDMFAsVUFBVzFQLEVBQUkwUCxVQUFVSCxLQUFLdlAsR0FDOUIyUCxZQUFhM1AsRUFBSTJQLFlBQVlKLEtBQUt2UCxHQUNsQzRQLE9BQVE1UCxFQUFJNFAsT0FBT0wsS0FBS3ZQLEdBQ3hCNlAsZ0JBQWlCN1AsRUFBSTZQLGdCQUFnQk4sS0FBS3ZQLEdBQzFDOFAsWUFBYTlQLEVBQUk4UCxZQUFZUCxLQUFLdlAsR0FDbEMrUCxHQUFJL1AsRUFBSStQLEdBQUdSLEtBQUt2UCxHQUNoQmdRLEtBQU1oUSxFQUFJZ1EsS0FBS1QsS0FBS3ZQLEdBQ3BCaVEsZUFBZ0JqUSxFQUFJaVEsZUFBZVYsS0FBS3ZQLEdBQ3hDa1EsSUFBS2xRLEVBQUlrUSxJQUFJWCxLQUFLdlAsR0FDbEJtUSxtQkFBb0JuUSxFQUFJbVEsbUJBQW1CWixLQUFLdlAsR0FDaERvUSxnQkFBaUJwUSxFQUFJb1EsZ0JBQWdCYixLQUFLdlAsR0FDMUNxUSxnQkFBaUJyUSxFQUFJcVEsZ0JBQWdCZCxLQUFLdlAsR0FDMUNzUSxVQUFXdFEsRUFBSXNRLFVBQVVmLEtBQUt2UCxHQUM5QnVRLGFBQWN2USxFQUFJdVEsYUFBYWhCLEtBQUt2UCxHQUNwQ3dRLEtBQU14USxFQUFJd1EsS0FBS2pCLEtBQUt2UCxHQUNwQnlRLGNBQWV6USxFQUFJeVEsY0FBY2xCLEtBQUt2UCxHQUN0QzBRLGdCQUFpQjFRLEVBQUkwUSxnQkFBZ0JuQixLQUFLdlAsR0FDMUMyUSxvQkFBcUIzUSxFQUFJMlEsb0JBQW9CcEIsS0FBS3ZQLEdBQ2xENFEsV0FBWTVRLEVBQUk0USxXQUFXckIsS0FBS3ZQLEtEdUdwQjZRLENBQWN6RCxLQUFLcE4sS0FDL0IsSUFDRSxJQUFLMUYsTUFBTW9KLFFBQVF4SSxHQUFRLE1BQU0sSUFBSTRWLE1BQU0sMkJBSTNDLE9BRkExRCxLQUFLMkQsa0JBQWtCL1EsRUFBSzlFLEdBRXhCa1QsUUFDV2hCLEtBQUs0RCxrQkFBa0JoUixTQUd6Qm9OLEtBQUs2RCxpQkFBaUJqUixFQUNyQyxDQUFFLE1BQU9wQixHQUNQLE9BQU93TyxLQUFLOEQsWUFBWWxSLEVBQUtwQixFQUMvQixDQUNGLENBRVEsaUJBQUFtUyxDQUFrQi9RLEVBQWE5RSxHQUNyQzhFLEVBQUk5RSxNQUFRQSxFQUNaOEUsRUFBSTZPLE9BQVMsR0FDYjdPLEVBQUltUixhQUFlLEdBQ25CblIsRUFBSThPLFNBQVdzQyxFQUFVbFcsRUFDM0IsQ0FFUSx1QkFBTThWLENBQWtCaFIsR0FNOUIsT0FMQUEsRUFBSTZOLElBQUlDLEtBQUssaUJBQ2I5TixFQUFJNk8sT0FBUzdPLEVBQUk5RSxZQUNYa1MsS0FBS2lFLFNBQVNyUixHQUNwQkEsRUFBSTlFLE1BQVE4RSxFQUFJOE8sZUFDVjFCLEtBQUtrRSxZQUFZdFIsR0FDaEJBLENBQ1QsQ0FFUSxzQkFBTWlSLENBQWlCalIsR0FVN0IsYUFUTW9OLEtBQUttRSxXQUFXdlIsU0FDaEJvTixLQUFLb0UsZ0JBQWdCeFIsU0FDckJvTixLQUFLcUUsWUFBWXpSLFNBQ2pCb04sS0FBS3NFLGNBQWMxUixTQUNuQm9OLEtBQUt1RSxhQUFhM1IsR0FDeEJBLEVBQUkrTyxlQUFpQnFDLEVBQVVwUixFQUFJNk8sY0FDN0J6QixLQUFLaUUsU0FBU3JSLEdBQ3BCQSxFQUFJOUUsTUFBUThFLEVBQUk4TyxlQUNWMUIsS0FBS2tFLFlBQVl0UixHQUNoQkEsQ0FDVCxDQUVRLFdBQUFrUixDQUFZbFIsRUFBYW9CLEdBTS9CLEdBTEFwQixFQUFJNk4sSUFBSW5MLEtBQUsrSixHQUFjbUYsUUFDM0I1UixFQUFJd1EsS0FBSy9ELEdBQWNvRixnQkFBaUJqRixJQUN4QzVNLEVBQUl3USxLQUFLL0QsR0FBY21GLE9BQVF4USxHQUMvQnBCLEVBQUk2TixJQUFJek0sTUFBTUEsR0FFVnBCLEVBQUl3TixVQUErQixTQUNyQyxNQUFNcE0sRUFFUixPQUFPcEIsQ0FDVCxDQUdRLGdCQUFNdVIsQ0FBV3ZSLEdBQ3ZCLE1BQU1zTSxnQkFBRUEsRUFBZUgsaUJBQUVBLEdBQXFCaUIsS0FBS2EscUJBQXFCak8sR0FDbEU4UixFQUFpQjFFLEtBQUtlLGtCQUFrQm5PLEdBTTlDLEdBSkFBLEVBQUl3USxLQUFLL0QsR0FBY29GLGdCQUFpQmpGLElBQ3hDNU0sRUFBSXdRLEtBQUsvRCxHQUFjc0YsaUJBQWtCL1IsR0FDekNBLEVBQUk2TixJQUFJQyxLQUFLLG9CQUVUeEIsR0FBbUJILEVBQWtCLENBQ3ZDLE1BQU02RixFQUFlOVYsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBUyxxQkFDdENELEtBQUs2RSxjQUFjalMsRUFBS2dTLEVBQWMxRixFQUFpQkgsRUFBa0IyRixFQUNqRixNQUNFMUUsS0FBSzhFLHdCQUF3QmxTLEdBRS9CLE9BQU9BLENBQ1QsQ0FFUSx1QkFBQWtTLENBQXdCbFMsR0FDOUIsSUFBSyxNQUFNM0MsS0FBUTJDLEVBQUk5RSxNQUNyQjhFLEVBQUltUixhQUFjZ0IsS0FBSzlVLEVBRTNCLENBRVEsbUJBQU00VSxDQUNaalMsRUFDQWdTLEVBQ0ExRixFQUNBSCxFQUNBMkYsU0FFTTNSLFFBQVFpUyxXQUNacFMsRUFBSTlFLE1BQU1vVCxJQUFJL08sTUFBT2xDLEVBQWNnVixXQUMzQmpGLEtBQUtrRixhQUFhalYsRUFBTWdWLEVBQU9yUyxFQUFLZ1MsRUFBYzFGLEVBQWlCSCxFQUFrQjJGLEtBR2pHLENBRVEsa0JBQU1RLENBQ1pqVixFQUNBZ1YsRUFDQXJTLEVBQ0FnUyxFQUNBMUYsRUFDQUgsRUFDQTJGLEdBRUEsTUFBTVMsRUFBWS9ULEdBQU1uQixHQUNsQnlRLEVBQWdDeUUsUUFBa0J4UyxHQUFXMUMsRUFBTTJDLEdBQU8sQ0FBRUgsU0FBUyxHQUUzRixHQUFJMFMsS0FBZXpFLEVBQUtqTyxVQUFZaU8sRUFBS3BPLFFBQVMsT0FFbERNLEVBQUltUixhQUFja0IsR0FBU2hWLEVBQzNCLE1BQU1tVixFQUFZRCxFQUFZekUsRUFBSzFSLFNBQVcsR0FBS0YsRUFBS0UsUUFBUWlCLEdBQzFEb1YsRUFBc0JYLEVBQWVZLElBQUlGLEVBQVV2RyxlQUVuRHJRLEVBQXFCMlcsRUFBWXpFLEVBQUtwTyxPQUFVQyxFQUFHZ1QsYUFBYXRWLEdBQ2hFdVYsUUFBMEJ4RixLQUFLeUYsZ0JBQ25DalgsRUFDQTRXLEVBQ0FsRyxFQUNBSCxFQUNBc0csRUFDQXBWLEVBQ0EyVSxFQUNBaFMsR0FHRTRTLFNBQ0l4RixLQUFLMEYsbUJBQ1R6VixFQUNBZ1YsRUFDQXJTLEVBQ0FnUyxFQUNBWSxFQUNBSixFQUNBbEcsRUFDQWlHLEVBQ0F6RSxFQUdOLENBRVEscUJBQU0rRSxDQUNaalgsRUFDQTRXLEVBQ0FsRyxFQUNBSCxFQUNBc0csRUFDQXBWLEVBQ0EyVSxFQUNBaFMsR0FFQSxJQUFJNFMsRUEwQkosT0F2Qkl2RyxHQUFlQyxFQUFpQmtHLEtBQWVDLElBQ2pERyxRQUEwQnhGLEtBQUsyRixjQUM3Qm5YLEVBQ0FnWCxFQUNBSixFQUNBbEcsRUFDQWpQLEVBQ0EyVSxFQUNBaFMsSUFLQWtNLEdBQW1CQyxFQUFrQnFHLEtBQWVDLElBQ3RERyxRQUEwQnhGLEtBQUs0RixhQUFhcFgsRUFBWXVRLEVBQW1Cbk0sSUFJeEU0UyxJQUFxQnRHLEdBQWlCN0IsY0FBaUJnSSxJQUMxRHpTLEVBQUk2TixJQUFJQyxLQUFLbkIsSUFDYmlHLFFBQTBCckcsR0FBVzNRLEVBQVk0VyxJQUc1Q0ksQ0FDVCxDQUVRLGtCQUFNSSxDQUNacFgsRUFDQXVRLEVBQ0FuTSxHQUVBLElBQU1tTSxHQUFrQnRILG1CQUF5RCxVQUFwQ3NILEdBQWtCM0gsY0FBNEIsQ0FFekYsVUFENkI0SSxLQUFLTSxjQUdoQyxZQURBTixLQUFLcE4sSUFBSTZOLElBQUluTCxLQUFLaUssR0FHdEIsQ0FHQSxPQURBM00sRUFBSTZOLElBQUlDLEtBQUtuQixVQUNBMUIsR0FBa0JyUCxFQUFZdVEsRUFBa0JpQixLQUFLSCxRQUFTak4sRUFBSTZOLElBQ2pGLENBRVEsbUJBQU1rRixDQUNablgsRUFDQWdYLEVBQ0FKLEVBQ0FsRyxFQUNBalAsRUFDQTJVLEVBQ0FoUyxHQUVBQSxFQUFJNk4sSUFBSUMsS0FBS25CLElBQ2IsTUFBTXNHLEVBQXNCVCxFQUFVdkcsY0FFdEMsT0FBS3pOLEdBQU1uQixJQUFrQyxVQUF4QjRWLEdBQTJELFVBQXhCQSxRQUkzQzlILEdBQWN5SCxHQUFxQmhYLEVBQVkwUSxFQUFpQmtHLEVBQVd4UyxFQUFJNk4sV0FIN0VULEtBQUs4Rix1QkFBdUJ0WCxFQUFZeUIsRUFBTW1WLEVBQVdSLEVBQWMxRixFQUFpQnRNLEVBSXpHLENBRVEsNEJBQU1rVCxDQUNadFgsRUFDQXlCLEVBQ0FtVixFQUNBUixFQUNBMUYsRUFDQXRNLEdBRUEsTUFBTW1ULFFBQW1CQyxFQUFZLENBQ25DMVQsT0FBUTlELEVBQVc4RCxPQUNuQndJLE9BQVEsT0FDUmlCLFFBQVMsSUFFTGtLLEVBQXNCblgsRUFBS3JCLEtBQUttWCxFQUFjLEdBQUc5VixFQUFLQyxTQUFTa0IsRUFBTW1WLFVBRTNFLE9BREE3UyxFQUFHcU8sY0FBY3FGLEVBQXFCM04sT0FBT0MsS0FBS3dOLFVBQ3JDaEksR0FBY3hMLEVBQUdnVCxhQUFhVSxHQUFzQi9HLEVBQWlCLE9BQVF0TSxFQUFJNk4sSUFDaEcsQ0FFUSx3QkFBTWlGLENBQ1p6VixFQUNBZ1YsRUFDQXJTLEVBQ0FnUyxFQUNBWSxFQUNBSixFQUNBbEcsRUFDQWlHLEVBQ0F6RSxHQUVBLElBQUl3RixFQUFTaEgsR0FBaUJqRCxVQUFZeUMsR0FBbUJRLEVBQWlCa0csR0FBYUEsRUFDM0ZjLEVBQVNBLEVBQU9qUyxXQUFXLEtBQU9pUyxFQUFTLElBQUlBLElBRS9DLE1BQU1DLEVBQVdoQixFQUNiclcsRUFBS3JCLEtBQUttWCxFQUFjLEdBQUc1RSxLQUFLb0csZ0JBQWdCMUYsS0FBUXdGLEtBQ3hEcFgsRUFBS3JCLEtBQUttWCxFQUFjLEdBQUc5VixFQUFLQyxTQUFTa0IsRUFBTW1WLEtBQWFjLEtBRWhFdFQsRUFBSW1SLGFBQWNrQixHQUFTblcsRUFBS3JCLEtBQzlCcUIsRUFBS2xDLFFBQVFxRCxHQUNia1YsRUFBWXJXLEVBQUtDLFNBQVNvWCxHQUFZLEdBQUdyWCxFQUFLQyxTQUFTa0IsRUFBTW1WLEtBQWFjLEtBRzVFM1QsRUFBR3FPLGNBQWN1RixFQUFVWCxHQUMzQjVTLEVBQUk5RSxNQUFNbVgsR0FBU2tCLENBQ3JCLENBRVEsZUFBQUMsQ0FBZ0IxRixHQUN0QixPQUFPQSxFQUFLck8sU0FBV3ZELEVBQUtDLFNBQVMyUixFQUFLck8sU0FBVXZELEVBQUtFLFFBQVEwUixFQUFLck8sWUFBYSxJQUFJM0QsTUFBT2tCLFVBQVVoQyxVQUMxRyxDQUdRLG1CQUFNMFcsQ0FBYzFSLEdBQzFCLE1BQU15VCxFQUFlelQsRUFBSXdOLFVBQWUsbUJBQXFCLENBQUEsRUFDN0QsSUFBS2lHLEVBQWFDLE9BQVEsT0FBTzFULEVBRWpDLE1BQU1rSSxFQUFTdUwsRUFBYXZMLFFBQVUsYUFrQnRDLE9BakJBbEksRUFBSTZPLE9BQVM3TyxFQUFJNk8sT0FBT1AsSUFBSSxDQUFDalIsRUFBZ0JnVixLQUMzQyxJQUFJNVMsRUFBV3BDLEVBQUtvQyxTQWNwQixPQVpFQSxFQUFXakUsR0FDVHdFLEVBQUltUixhQUFja0IsR0FDbEJuSyxPQUNBakwsRUFDQUksRUFBS3NXLFlBQWN0VyxFQUFLc1csWUFBY3RXLEVBQUtxQyxRQUU3Q0QsRUFBV0EsRUFBUzFDLFFBQVEsT0FBUSxLQUNULE1BQXZCMEMsRUFBU25ELE9BQU0sS0FDakJtRCxHQUFzQjRTLEVBQU1yWCxZQUdoQ3FDLEVBQUtvQyxTQUFXQSxFQUNUcEMsSUFFRjJDLENBQ1QsQ0FFUSxxQkFBTXdSLENBQWdCeFIsR0FFNUIsYUFETW9OLEtBQUt3RyxjQUFjNVQsRUFBSW1QLE9BQU8wRSx1QkFBd0I3VCxHQUNyREEsQ0FDVCxDQUVRLGlCQUFNeVIsQ0FBWXpSLEdBQ3hCQSxFQUFJd1EsS0FBSy9ELEdBQWNvRixnQkFBaUJqRixJQUN4QyxNQUFNek4sRUFBT2EsRUFBSXdOLFVBQStCLHVCQUF5QixPQUN6RSxJQUFJc0csRUFBYzlULEVBQUltUCxPQUFPMkUsWUFBWTNTLElBQUloQyxHQUN6QzRVLEVBQXFCNVUsRUFVekIsT0FSSzJVLElBQ0hBLEVBQWM5VCxFQUFJbVAsT0FBTzJFLFlBQVkzUyxJQUFJLFFBQ3pDNFMsRUFBcUIsT0FDckIvVCxFQUFJNk4sSUFBSW5MLEtBQUssNEJBQTRCdkQsNENBRzNDYSxFQUFJNk4sSUFBSUMsS0FBSywyQ0FBMkNpRyxZQUNsREQsR0FBYUUsT0FBT2hVLElBQ25CQSxDQUNULENBRVEsa0JBQU0yUixDQUFhM1IsR0FLekIsT0FKQUEsRUFBSXdRLEtBQUsvRCxHQUFjb0YsZ0JBQWlCakYsSUFDeEM1TSxFQUFJNk4sSUFBSUMsS0FBSyxpQkFDYjlOLEVBQUl3USxLQUFLL0QsR0FBY3dILGNBQWVqVSxTQUNoQ29OLEtBQUt3RyxjQUFjNVQsRUFBSW1QLE9BQU8rRSxvQkFBcUJsVSxHQUNsREEsQ0FDVCxDQUVRLGNBQU1xUixDQUFTclIsR0FDckIsTUFBTWIsRUFBT2lPLEtBQUtjLGdCQUFnQmxPLEdBQ2xDLElBQUltVSxFQUFXblUsRUFBSW1QLE9BQU9nRixTQUFTaFQsSUFBSWhDLEdBQ25DaVYsRUFBa0JqVixFQUVqQmdWLElBQ0huVSxFQUFJNk4sSUFBSW5MLEtBQUsseUJBQXlCdkQsbUNBQXNDMk4sTUFDNUVzSCxFQUFrQnRILEdBQ2xCcUgsRUFBV25VLEVBQUltUCxPQUFPZ0YsU0FBU2hULElBQUkyTCxLQUdyQzlNLEVBQUk2TixJQUFJQyxLQUFLLHFDQUFxQ3NHLFlBQzVDRCxHQUFVSCxPQUFPaFUsSUFFdkIsSUFBSyxNQUFNcVUsS0FBYXJVLEVBQUk2TyxPQUMxQndGLEVBQVVsVixLQUFPaVYsRUFFbkIsT0FBT3BVLENBQ1QsQ0FFUSxpQkFBTXNSLENBQVl0UixHQUN4QkEsRUFBSXdRLEtBQUsvRCxHQUFjNkgsYUFBY3RVLEdBQ3JDQSxFQUFJd1EsS0FBSy9ELEdBQWNvRixnQkFBaUIsV0FDbEN6RSxLQUFLd0csY0FBYzVULEVBQUltUCxPQUFPb0YsbUJBQW9CdlUsR0FDeEQsSUFBSXdVLEVBQU0sR0FDVixNQUFNcGEsRUFBUzRGLEVBQUk2TyxPQUFPelUsT0FDcEJxYSxHQUF3RixJQUFwRXpVLEVBQUl3TixVQUFnQyw0QkFDOUQsSUFBSyxJQUFJalQsRUFBSSxFQUFHQSxFQUFJSCxFQUFRRyxTQUNVLElBQXpCeUYsRUFBSTZPLE9BQU90VSxHQUFHbWEsU0FDdkJGLEdBQU9DLEVBQW9CNVYsR0FBZ0JtQixFQUFJNk8sT0FBT3RVLEdBQUdtYSxRQUFXMVUsRUFBSTZPLE9BQU90VSxHQUFHbWEsT0FDOUVuYSxJQUFNSCxFQUFTLElBQ2pCb2EsR0FBTyxjQUdKeFUsRUFBSTZPLE9BQU90VSxHQUFHb1osbUJBQ2QzVCxFQUFJNk8sT0FBT3RVLEdBQUdtRixPQUl2QixPQUZBTSxFQUFJd1EsS0FBSy9ELEdBQWNrSSxTQUFVM1UsR0FDakNBLEVBQUk2TixJQUFJaE8sUUFBUSxLQUFLMlUsS0FDZHhVLENBQ1QsQ0FHUSxtQkFBTTRULENBQWNnQixFQUFxQzVVLEdBQy9ELE1BQU02VSxFQUFVRCxFQUFpQkUsVUFDM0JDLEVBQWNILEVBQWlCSSxZQUMvQkMsRUFBZ0JMLEVBQWlCTSxVQWF2QyxhQVhNL1UsUUFBUWdWLElBQ1pOLEVBQVF2RyxJQUFJL08sTUFBTzZWLEVBQWlCL0MsS0FDbEMsSUFDRXJTLEVBQUk2TixJQUFJQyxLQUFLLEdBQUdtSCxNQUFrQkYsRUFBWTFDLG9CQUN4QytDLEVBQU9wQixPQUFPaFUsRUFDdEIsQ0FBRSxNQUFPcEIsR0FFUCxNQURBb0IsRUFBSTZOLElBQUl6TSxNQUFNLEdBQUc2VCxNQUFrQkYsRUFBWTFDLFlBQ3pDelQsQ0FDUixLQUdHb0IsQ0FDVCxFRTlnQkssTUNlRHFWLEdBQXFELENBQ3pELFFDbEJtQixDQUNuQkMsY0FBZSxPQUNmQyxlQUFnQixlQUNoQkMsMkJBQTRCLGVBQzVCQyxxQkFBc0IsZ0NBQ3RCQyxhQUFjLFlBQ2RDLFlBQWEsT0FHYkMsWUFBYSxRQUNiQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMseUJBQTBCLFNBQzFCQyxrQ0FBbUMsY0FHbkNDLHFCQUFzQixRQUN0QkMsOEJBQStCLFNBQy9CQyxzQ0FBdUMsaUNBQ3ZDQyw0QkFBNkIsU0FDN0JDLG9DQUFxQyxVQUNyQ0MsaUNBQWtDLFVBQ2xDQyx5Q0FBMEMsV0FDMUNDLDZCQUE4QixRQUM5QkMscUNBQXNDLDhDQUN0Q0MsMEJBQTJCLFFBQzNCQyxrQ0FBbUMsdUJBQ25DQyxrQ0FBbUMsVUFDbkNDLDBDQUEyQywyQkFDM0NDLDZCQUE4QixTQUM5QkMscUNBQXNDLFdBQ3RDQyxpQ0FBa0MsY0FDbENDLHlDQUEwQyxlQUcxQ0MsYUFBYyxPQUNkQyxrQkFBbUIsT0FDbkJDLDBCQUEyQix3QkFDM0JDLHVCQUF3QixVQUN4QkMsK0JBQWdDLHNCQUNoQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsV0FHOUJDLG1CQUFvQixRQUNwQkMsaUJBQWtCLFFBQ2xCQyx5QkFBMEIsZ0NBQzFCQyxtQkFBb0IsVUFDcEJDLDJCQUE0Qix1QkFDNUJDLHNCQUF1QixRQUN2QkMsOEJBQStCLG9CQUMvQkMsc0JBQXVCLE9BQ3ZCQyw4QkFBK0IsUUFDL0JDLHdCQUF5QixTQUN6QkMsaUNBQWtDLFlBQ2xDQyxxQkFBc0IsU0FDdEJDLDhCQUErQixXQUMvQkMsdUJBQXdCLFVBQ3hCQywrQkFBZ0MsdUJBR2hDQyxnQkFBaUIsU0FDakJDLDRCQUE2QixnQkFDN0JDLGdDQUFpQyxvQkFDakNDLHVCQUF3QixXQUN4QkMscUJBQXNCLFNBQ3RCQyxxQkFBc0IsU0FDdEJDLHdCQUF5QixTQUN6QkMsMEJBQTJCLFVBQzNCQyx3QkFBeUIsU0FDekJDLDZCQUE4QixxQkFDOUJDLDZCQUE4QixZQUM5QkMsZ0NBQWlDLFdBQ2pDQyxnQ0FBaUMseUJBQ2pDQyxrQ0FBbUMsdUJBR25DQyxvQkFBcUIsU0FDckJDLDRCQUE2QixRQUM3QkMsNkJBQThCLGFBQzlCQyw4QkFBK0IsY0FDL0JDLDBCQUEyQixVQUMzQkMsMkJBQTRCLFdBQzVCQyx5QkFBMEIsU0FDMUJDLDZCQUE4QixRQUM5QkMseUJBQTBCLFNBQzFCQyw0QkFBNkIsU0FDN0JDLDRCQUE2QixTQUM3QkMsOEJBQStCLFVBQy9CQyxrQ0FBbUMsaUJBQ25DQyxpQ0FBa0MsaUJBQ2xDQyxpQ0FBa0MsWUFDbENDLG9DQUFxQyx5QkFDckNDLHNDQUF1Qyx1QkFDdkNDLG9DQUFxQyxrQkFDckNDLHFDQUFzQyw0Q0FDdENDLHlCQUEwQixPQUMxQkMsNkJBQ0UsMkVBQ0ZDLGlDQUFrQyxLQUNsQ0MsZ0NBQWlDLEtBR2pDQyxjQUFlLFNBQ2ZDLG9CQUFxQixVQUNyQkMsbUJBQW9CLFFBQ3BCQyxtQkFBb0IsU0FDcEJDLHNCQUF1QixTQUN2QkMscUJBQXNCLFFBQ3RCQyx3QkFBeUIsVUFDekJDLDJCQUE0QixvQkFDNUJDLDZCQUE4QixXQUM5QkMsMkJBQTRCLFlBQzVCQyw4QkFBK0IsV0FDL0JDLGdDQUFpQyx1QkFHakNDLGFBQWMsTUFDZEMsdUJBQXdCLGNBQ3hCQyx1QkFBd0IsY0FDeEJDLG9CQUFxQixXQUNyQkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkMsa0JBQW1CLFNBQ25CQywwQkFBMkIsWUFDM0JDLDBCQUEyQixTQUMzQkMsNkJBQThCLGlCQUM5QkMseUJBQTBCLHNDQUcxQkMsYUFBYyxRQUNkQyxzQkFBdUIsYUFDdkJDLHNCQUF1QixRQUN2QkMsMEJBQTJCLGdCQUMzQkMsbUJBQW9CLFFBQ3BCQyxtQkFBb0IsT0FDcEJDLDhCQUErQixVQUMvQkMsOEJBQStCLGFBQy9CQyxrQ0FBbUMsYUFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxNQUNkQyxvQkFBcUIsV0FDckJDLHNCQUF1QixRQUN2QkMsc0JBQXVCLFVBQ3ZCQyxrQkFBbUIsU0FDbkJDLGlCQUFrQixTQUNsQkMscUJBQXNCLFNBQ3RCQyxzQkFBdUIsY0FDdkJDLDRCQUE2QixhQUM3QkMsd0JBQXlCLFlBQ3pCQyw4QkFBK0IsU0FDL0JDLDhCQUErQixhQUMvQkMseUJBQTBCLGdDQUMxQkMsNkJBQThCLGVBQzlCQywwQkFBMkIsWUFDM0JDLDhCQUErQiwrQkFHL0JDLG1CQUFvQixTQUNwQkMsd0JBQXlCLFNBQ3pCQyw4QkFBK0IsUUFDL0JDLDRCQUE2QixRQUM3QkMsNEJBQTZCLE9BQzdCQyx3QkFBeUIsU0FDekJDLDJCQUE0QixTQUM1QkMsNkJBQThCLFVBQzlCQyw0QkFBNkIsU0FDN0JDLDJCQUE0QixTQUM1QkMsZ0NBQWlDLGlDQUNqQ0Msc0NBQXVDLGFBQ3ZDQyxvQ0FBcUMsU0FDckNDLG9DQUFxQyxPQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsVUFDekNDLHFDQUFzQyx1QkFDdENDLG1DQUFvQyxrQkFHcENDLGlCQUFrQixTQUNsQkMsc0JBQXVCLE9BQ3ZCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsMEJBQTJCLE9BQzNCQyw0QkFBNkIsT0FDN0JDLHVDQUF3QyxTQUN4Q0MsNEJBQTZCLFNBQzdCQywyQkFBNEIsVUFDNUJDLDhCQUErQixTQUMvQkMsMkJBQTRCLFdBQzVCQywyQkFBNEIsU0FDNUJDLDBCQUEyQixVQUMzQkMsOEJBQStCLGNBQy9CQyw4QkFBK0IsT0FDL0JDLG9DQUFxQyw2QkFDckNDLCtDQUFnRCxTQUNoREMsb0NBQXFDLFlBQ3JDQyxtQ0FBb0MsdUJBQ3BDQyxzQ0FBdUMsVUFDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsT0FDckJDLG9CQUFxQixPQUNyQkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLG1CQUFvQixVQUdwQkMsa0JBQW1CLE9BQ25CQyxvQkFBcUIsT0FDckJDLDRCQUE2QixPQUM3QkMsaUJBQWtCLE9BQ2xCQyx5QkFBMEIsMEJBQzFCQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixpQkFDM0JDLHdCQUF5QixTQUN6QkMsZ0NBQWlDLFFBQ2pDQyxxQkFBc0IsU0FDdEJDLDZCQUE4QixZQUM5QkMsdUJBQXdCLE9BQ3hCQywrQkFBZ0MsYUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGdCQUMvQkMsbUNBQW9DLG9CQUNwQ0MseUJBQTBCLFdBQzFCQyx5QkFBMEIsV0FDMUJDLDZCQUE4QixTQUM5QkMsMkJBQTRCLFVBQzVCQyx3QkFBeUIsT0FDekJDLDRCQUE2QixVQUM3QkMsMEJBQTJCLFNBQzNCQyxrQ0FBbUMseUJBQ25DQyxrQ0FBbUMscUJBQ25DQyxxQ0FBc0MsY0FDdENDLHNCQUF1QixjQUN2QkMsMkNBQTRDLG1EQUM1Q0Msc0NBQXVDLHdCQUN2Q0MsMkNBQTRDLGlCQUM1Q0MsaUNBQWtDLFdBQ2xDQyxpQ0FBa0MsZ0JBQ2xDQyxxQ0FBc0Msc0JBQ3RDQyxtQ0FBb0MseUNBQ3BDQyxnQ0FBaUMsNEJBQ2pDQyxvQ0FBcUMsdUJBQ3JDQywwQ0FBMkMsUUFDM0NDLDZDQUE4QyxRQUM5Q0MsOEJBQStCLGtCQUMvQkMsbURBQW9ELFFBRXBEQyxrQkFBbUIsT0FDbkJDLGlDQUFrQyxTQUNsQ0MseUNBQTBDLFlBQzFDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msd0NBQXlDLFNBQ3pDQyxnREFBaUQsWUFDakRDLGtDQUFtQyxTQUNuQ0MsMENBQTJDLFFBQzNDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msb0NBQXFDLGFBQ3JDQyw0Q0FBNkMsY0FDN0NDLHNDQUF1QyxlQUN2Q0MsNkNBQThDLFlBQzlDQyxpQ0FBa0MsV0FDbENDLDZDQUE4QyxZQUM5Q0MscUNBQXNDLFdBQ3RDQyw2Q0FBOEMsWUFDOUNDLG9DQUFxQyxTQUNyQ0MsNENBQTZDLFVBQzdDQyx3Q0FBeUMsWUFDekNDLGdEQUFpRCxjQUVqREMsb0JBQXFCLFNBQ3JCQyx1Q0FBd0MsZ0JBRXhDQyxlQUFnQixRQUNoQkMsc0JBQXVCLFVBQ3ZCQyxzQkFBdUIsVUFFdkJDLGlCQUFrQixPQUNsQkMseUJBQTBCLFNBQzFCQyxpQ0FBa0MsY0FDbENDLDJCQUE0QixXQUM1QkMsbUNBQW9DLFVBQ3BDQywrQkFBZ0MsU0FDaENDLHVDQUF3QyxVQUN4Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsVUFDbkNDLDZCQUE4QixTQUM5QkMscUNBQXNDLFFBQ3RDQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxRQUN2Q0MsbUNBQW9DLGFBQ3BDQywyQ0FBNEMsY0FDNUNDLHdCQUF5QixXQUN6QkMsd0JBQXlCLFdBQ3pCQywrQkFBZ0MsVUFDaENDLHVDQUF3QyxRQUN4Q0Msc0NBQXVDLFdBQ3ZDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsOEJBQStCLFNBQy9CQyxzQ0FBdUMsYUFDdkNDLDhCQUErQixhQUMvQkMsc0NBQXVDLGdCQUd2Q0Msc0NBQXVDLFNBQ3ZDQyxxQ0FBc0MsU0FDdENDLDRDQUE2QyxzQ0FDN0NDLDBDQUEyQyx5QkFDM0NDLHdDQUF5QyxTQUN6Q0MsdUNBQXdDLFNBQ3hDQyw4Q0FBK0Msc0NBQy9DQyw2Q0FBOEMsa0JBQzlDQyxxQ0FBc0MsU0FDdENDLG9DQUFxQyxTQUNyQ0MsMkNBQTRDLHNDQUM1Q0MsMENBQTJDLG1CRHJUM0MsUUVqQjZCLENBQzdCbFMsY0FBZSxPQUNmQyxlQUFnQixjQUNoQkMsMkJBQTRCLGFBQzVCQyxxQkFBc0IsZ0NBQ3RCQyxhQUFjLFlBQ2RDLFlBQWEsT0FHYkMsWUFBYSxRQUNiQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMseUJBQTBCLFNBQzFCQyxrQ0FBbUMsY0FHbkNDLHFCQUFzQixRQUN0QkMsOEJBQStCLFVBQy9CQyxzQ0FBdUMsaUNBQ3ZDQyw0QkFBNkIsU0FDN0JDLG9DQUFxQyxVQUNyQ0MsaUNBQWtDLFVBQ2xDQyx5Q0FBMEMsV0FDMUNDLDZCQUE4QixRQUM5QkMscUNBQXNDLDhDQUN0Q0MsMEJBQTJCLFFBQzNCQyxrQ0FBbUMsdUJBQ25DQyxrQ0FBbUMsVUFDbkNDLDBDQUEyQywyQkFDM0NDLDZCQUE4QixTQUM5QkMscUNBQXNDLFlBQ3RDQyxpQ0FBa0MsV0FDbENDLHlDQUEwQyxlQUcxQ0MsYUFBYyxLQUNkQyxrQkFBbUIsU0FDbkJDLDBCQUEyQix3QkFDM0JDLHVCQUF3QixTQUN4QkMsK0JBQWdDLHNCQUNoQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsWUFHOUJDLG1CQUFvQixRQUNwQkMsaUJBQWtCLFFBQ2xCQyx5QkFBMEIsZ0NBQzFCQyxtQkFBb0IsVUFDcEJDLDJCQUE0Qix1QkFDNUJDLHNCQUF1QixRQUN2QkMsOEJBQStCLG9CQUMvQkMsc0JBQXVCLE9BQ3ZCQyw4QkFBK0IsUUFDL0JDLHdCQUF5QixTQUN6QkMsaUNBQWtDLFlBQ2xDQyxxQkFBc0IsU0FDdEJDLDhCQUErQixZQUMvQkMsdUJBQXdCLFNBQ3hCQywrQkFBZ0MsdUJBR2hDQyxnQkFBaUIsU0FDakJDLDRCQUE2QixnQkFDN0JDLGdDQUFpQyxvQkFDakNDLHVCQUF3QixXQUN4QkMscUJBQXNCLFNBQ3RCQyxxQkFBc0IsU0FDdEJDLHdCQUF5QixTQUN6QkMsMEJBQTJCLFNBQzNCQyx3QkFBeUIsU0FDekJDLDZCQUE4QixxQkFDOUJDLDZCQUE4QixZQUM5QkMsZ0NBQWlDLFlBQ2pDQyxnQ0FBaUMseUJBQ2pDQyxrQ0FBbUMsdUJBR25DQyxvQkFBcUIsU0FDckJDLDRCQUE2QixRQUM3QkMsNkJBQThCLGFBQzlCQyw4QkFBK0IsY0FDL0JDLDBCQUEyQixVQUMzQkMsMkJBQTRCLFdBQzVCQyx5QkFBMEIsU0FDMUJDLDZCQUE4QixRQUM5QkMseUJBQTBCLFNBQzFCQyw0QkFBNkIsU0FDN0JDLDRCQUE2QixTQUM3QkMsOEJBQStCLFNBQy9CQyxrQ0FBbUMsaUJBQ25DQyxpQ0FBa0MsaUJBQ2xDQyxpQ0FBa0MsWUFDbENDLG9DQUFxQyx5QkFDckNDLHNDQUF1Qyx1QkFDdkNDLG9DQUFxQyxrQkFDckNDLHFDQUFzQyw0Q0FDdENDLHlCQUEwQixPQUMxQkcsZ0NBQWlDLEtBQ2pDRCxpQ0FBa0MsS0FDbENELDZCQUNFLDJFQUdGRyxjQUFlLFNBQ2ZDLG9CQUFxQixVQUNyQkMsbUJBQW9CLFNBQ3BCQyxtQkFBb0IsU0FDcEJDLHNCQUF1QixTQUN2QkMscUJBQXNCLFNBQ3RCQyx3QkFBeUIsU0FDekJDLDJCQUE0QixvQkFDNUJDLDZCQUE4QixXQUM5QkMsMkJBQTRCLFlBQzVCQyw4QkFBK0IsV0FDL0JDLGdDQUFpQyx1QkFHakNDLGFBQWMsTUFDZEMsdUJBQXdCLGNBQ3hCQyx1QkFBd0IsY0FDeEJDLG9CQUFxQixXQUNyQkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkMsa0JBQW1CLFNBQ25CQywwQkFBMkIsWUFDM0JDLDBCQUEyQixTQUMzQkMsNkJBQThCLGlCQUM5QkMseUJBQTBCLHNDQUcxQkMsYUFBYyxRQUNkQyxzQkFBdUIsYUFDdkJDLHNCQUF1QixRQUN2QkMsMEJBQTJCLGdCQUMzQkMsbUJBQW9CLFFBQ3BCQyxtQkFBb0IsVUFDcEJDLDhCQUErQixVQUMvQkMsOEJBQStCLGFBQy9CQyxrQ0FBbUMsYUFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxNQUNkQyxvQkFBcUIsV0FDckJNLHNCQUF1QixRQUN2Qkwsc0JBQXVCLFFBQ3ZCQyxzQkFBdUIsVUFDdkJDLGtCQUFtQixTQUNuQkMsaUJBQWtCLFNBQ2xCQyxxQkFBc0IsU0FDdEJFLDRCQUE2QixhQUM3QkMsd0JBQXlCLFlBQ3pCQyw4QkFBK0IsU0FDL0JDLDhCQUErQixhQUMvQkMseUJBQTBCLGdDQUMxQkMsNkJBQThCLGVBQzlCQywwQkFBMkIsWUFDM0JDLDhCQUErQiwrQkFHL0JDLG1CQUFvQixTQUNwQkMsd0JBQXlCLFVBQ3pCQyw4QkFBK0IsYUFDL0JDLDRCQUE2QixRQUM3QkMsNEJBQTZCLE9BQzdCQyx3QkFBeUIsU0FDekJFLDZCQUE4QixTQUM5QkMsNEJBQTZCLFNBQzdCQywyQkFBNEIsU0FDNUJILDJCQUE0QixTQUM1QkksZ0NBQWlDLGlDQUNqQ0Msc0NBQXVDLGFBQ3ZDQyxvQ0FBcUMsU0FDckNDLG9DQUFxQyxTQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsVUFDekNDLHFDQUFzQyx1QkFDdENDLG1DQUFvQyxpQkFHcENDLGlCQUFrQixTQUNsQkMsc0JBQXVCLE9BQ3ZCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsMEJBQTJCLE9BQzNCQyw0QkFBNkIsT0FDN0JDLHVDQUF3QyxTQUN4Q0MsNEJBQTZCLFNBQzdCQywyQkFBNEIsU0FDNUJDLDhCQUErQixTQUMvQkMsMkJBQTRCLFdBQzVCQywyQkFBNEIsU0FDNUJDLDBCQUEyQixVQUMzQkMsOEJBQStCLGNBQy9CQyw4QkFBK0IsT0FDL0JDLG9DQUFxQyw2QkFDckNDLCtDQUFnRCxTQUNoREMsb0NBQXFDLFlBQ3JDQyxtQ0FBb0MsdUJBQ3BDQyxzQ0FBdUMsVUFDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsT0FDckJDLG9CQUFxQixPQUNyQkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLG1CQUFvQixVQUdwQkMsa0JBQW1CLE9BQ25CQyxvQkFBcUIsT0FDckJDLDRCQUE2QixRQUM3QkMsaUJBQWtCLE9BQ2xCQyx5QkFBMEIsMEJBQzFCQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMsd0JBQXlCLFNBQ3pCQyxnQ0FBaUMsTUFDakNDLHFCQUFzQixTQUN0QkMsNkJBQThCLE1BQzlCQyx1QkFBd0IsU0FDeEJDLCtCQUFnQyxVQUdoQ0Msa0JBQW1CLFNBQ25CQyw4QkFBK0IsZ0JBQy9CQyxtQ0FBb0Msb0JBQ3BDQyx5QkFBMEIsV0FDMUJDLHlCQUEwQixXQUMxQkMsNkJBQThCLFNBQzlCQywyQkFBNEIsVUFDNUJDLHdCQUF5QixPQUN6QkMsNEJBQTZCLFVBQzdCQywwQkFBMkIsU0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyx1QkFDbkNDLHFDQUFzQywwQkFDdENDLHNCQUF1QixRQUN2QkMsMkNBQTRDLG1EQUM1Q0Msc0NBQXVDLHdCQUN2Q0MsMkNBQTRDLGlCQUM1Q0MsaUNBQWtDLHNCQUNsQ0MsaUNBQWtDLGdCQUNsQ0MscUNBQXNDLFlBQ3RDQyxtQ0FBb0MseUNBQ3BDQyxnQ0FBaUMsNEJBQ2pDQyxvQ0FBcUMsdUJBQ3JDQywwQ0FBMkMsUUFDM0NDLDZDQUE4QyxRQUM5Q0MsOEJBQStCLGtCQUMvQkMsbURBQW9ELFFBRXBEQyxrQkFBbUIsT0FDbkJDLGlDQUFrQyxTQUNsQ0MseUNBQTBDLFlBQzFDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msd0NBQXlDLFNBQ3pDQyxnREFBaUQsWUFDakRDLGtDQUFtQyxTQUNuQ0MsMENBQTJDLFFBQzNDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msb0NBQXFDLFNBQ3JDQyw0Q0FBNkMsY0FDN0NDLHNDQUF1QyxXQUN2Q0MsNkNBQThDLFlBQzlDQyxpQ0FBa0MsV0FDbENDLDZDQUE4QyxZQUM5Q0MscUNBQXNDLFdBQ3RDQyw2Q0FBOEMsWUFDOUNDLG9DQUFxQyxTQUNyQ0MsNENBQTZDLFVBQzdDQyx3Q0FBeUMsWUFDekNDLGdEQUFpRCxjQUVqREMsb0JBQXFCLFNBQ3JCQyx1Q0FBd0MsZUFFeENDLGVBQWdCLFFBQ2hCQyxzQkFBdUIsVUFDdkJDLHNCQUF1QixVQUV2QkMsaUJBQWtCLFNBQ2xCQyx5QkFBMEIsU0FDMUJDLGlDQUFrQyxjQUNsQ0MsMkJBQTRCLFdBQzVCQyxtQ0FBb0MsVUFDcENDLCtCQUFnQyxTQUNoQ0MsdUNBQXdDLFVBQ3hDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsNkJBQThCLFNBQzlCQyxxQ0FBc0MsUUFDdENDLDhCQUErQixTQUMvQkMsc0NBQXVDLFFBQ3ZDQyxtQ0FBb0MsYUFDcENDLDJDQUE0QyxjQUM1Q0Msd0JBQXlCLFdBQ3pCQyx3QkFBeUIsV0FDekJDLCtCQUFnQyxVQUNoQ0MsdUNBQXdDLFFBQ3hDQyxzQ0FBdUMsV0FDdkNDLDBCQUEyQixXQUMzQkMsa0NBQW1DLFVBQ25DQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxhQUN2Q0MsOEJBQStCLGFBQy9CQyxzQ0FBdUMsZ0JBR3ZDQyxzQ0FBdUMsU0FDdkNDLHFDQUFzQyxTQUN0Q0MsNENBQTZDLHNDQUM3Q0MsMENBQTJDLDRCQUMzQ0Msd0NBQXlDLFNBQ3pDQyx1Q0FBd0MsU0FDeENDLDhDQUErQyxzQ0FDL0NDLDZDQUE4QyxvQkFDOUNDLHFDQUFzQyxTQUN0Q0Msb0NBQXFDLFNBQ3JDQywyQ0FBNEMsc0NBQzVDQywwQ0FBMkMscUJGdFQzQ0MsR0RsQjBCLENBQzFCblMsY0FBZSxnQkFDZkMsZUFBZ0IsNkJBQ2hCQywyQkFBNEIseUNBQzVCQyxxQkFBc0IsdUZBQ3RCQyxhQUFjLHVDQUNkQyxZQUFhLHdCQUdiQyxZQUFhLFFBQ2JDLGtCQUFtQixZQUNuQkMsMEJBQTJCLHlCQUMzQkMseUJBQTBCLDJCQUMxQkMsa0NBQW1DLGVBR25DQyxxQkFBc0IsV0FDdEJDLDhCQUErQixlQUMvQkMsc0NBQXVDLDRCQUN2Q0MsNEJBQTZCLGFBQzdCQyxvQ0FBcUMsbUNBQ3JDQyxpQ0FBa0MsbUJBQ2xDQyx5Q0FBMEMsZ0NBQzFDQyw2QkFBOEIsY0FDOUJDLHFDQUFzQywrQ0FDdENDLDBCQUEyQixXQUMzQkMsa0NBQW1DLHdCQUNuQ0Msa0NBQW1DLG9CQUNuQ0MsMENBQTJDLDRCQUMzQ0MsNkJBQThCLGVBQzlCQyxxQ0FBc0MsNEJBQ3RDQyxpQ0FBa0MseUJBQ2xDQyx5Q0FBMEMsZ0JBRTFDQyxhQUFjLFFBQ2RDLGtCQUFtQixXQUNuQkMsMEJBQTJCLDRCQUMzQkMsdUJBQXdCLGlCQUN4QkMsK0JBQWdDLHVCQUNoQ0MscUJBQXNCLGVBQ3RCQyw2QkFBOEIsNEJBRzlCQyxtQkFBb0IsUUFDcEJDLGlCQUFrQixVQUNsQkMseUJBQTBCLGdDQUMxQkMsbUJBQW9CLFlBQ3BCQywyQkFBNEIsMEVBQzVCQyxzQkFBdUIsZUFDdkJDLDhCQUErQiw2RUFDL0JDLHNCQUF1QixlQUN2QkMsOEJBQStCLDRCQUMvQkMsd0JBQXlCLGtCQUN6QkMsaUNBQWtDLGFBQ2xDQyxxQkFBc0IsZUFDdEJDLDhCQUErQiw0QkFDL0JDLHVCQUF3QixpQkFDeEJDLCtCQUFnQyx1QkFHaENDLGdCQUFpQixZQUNqQkMsNEJBQTZCLGtCQUM3QkMsZ0NBQWlDLHNCQUNqQ0MsdUJBQXdCLGFBQ3hCQyxxQkFBc0IsV0FDdEJDLHFCQUFzQixXQUN0QkMsd0JBQXlCLGVBQ3pCQywwQkFBMkIsaUJBQzNCQyx3QkFBeUIsaUJBQ3pCQyw2QkFBOEIscUJBQzlCQyw2QkFBOEIsWUFDOUJDLGdDQUFpQyw0QkFDakNDLGdDQUFpQyx5QkFDakNDLGtDQUFtQyx1QkFHbkNDLG9CQUFxQixnQkFDckJDLDRCQUE2QixxQkFDN0JDLDZCQUE4QixlQUM5QkMsOEJBQStCLGdCQUMvQkMsMEJBQTJCLFlBQzNCQywyQkFBNEIsYUFDNUJDLHlCQUEwQixXQUMxQkMsNkJBQThCLGVBQzlCQyx5QkFBMEIsV0FDMUJDLDRCQUE2QixlQUM3QkMsNEJBQTZCLGlCQUM3QkMsOEJBQStCLGlCQUMvQkMsa0NBQW1DLGlCQUNuQ0MsaUNBQWtDLGlCQUNsQ0MsaUNBQWtDLFlBQ2xDQyxvQ0FBcUMsNEJBQ3JDQyxzQ0FBdUMsdUJBQ3ZDQyxvQ0FBcUMsa0JBQ3JDQyxxQ0FBc0MsNENBQ3RDQyx5QkFBMEIsZ0JBQzFCQyw2QkFDRSw0SUFDRkMsaUNBQWtDLE9BQ2xDQyxnQ0FBaUMsUUFFakNDLGNBQWUsU0FDZkMsb0JBQXFCLFlBQ3JCQyxtQkFBb0IsZ0JBQ3BCQyxtQkFBb0IsV0FDcEJDLHNCQUF1QixlQUN2QkMscUJBQXNCLGFBQ3RCQyx3QkFBeUIsaUJBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsOEJBQStCLDRCQUMvQkMsZ0NBQWlDLHVCQUdqQ0MsYUFBYyxRQUNkQyx1QkFBd0IsZ0JBQ3hCQyx1QkFBd0IsZ0JBQ3hCQyxvQkFBcUIsYUFDckJDLGtCQUFtQixXQUNuQkMsaUJBQWtCLFVBQ2xCQyxxQkFBc0IsaUJBQ3RCQyxrQkFBbUIsV0FDbkJDLDBCQUEyQixZQUMzQkMsMEJBQTJCLFNBQzNCQyw2QkFBOEIsaUJBQzlCQyx5QkFBMEIsc0NBRzFCQyxhQUFjLFFBQ2RDLHNCQUF1QixlQUN2QkMsc0JBQXVCLGVBQ3ZCQywwQkFBMkIsbUJBQzNCQyxtQkFBb0IsaUJBQ3BCQyxtQkFBb0IsWUFDcEJDLDhCQUErQiwrQ0FDL0JDLDhCQUErQixpREFDL0JDLGtDQUFtQyxpREFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxRQUNkQyxvQkFBcUIsYUFDckJNLHNCQUF1QixlQUN2Qkwsc0JBQXVCLGVBQ3ZCQyxzQkFBdUIsd0JBQ3ZCQyxrQkFBbUIsV0FDbkJDLGlCQUFrQixVQUNsQkMscUJBQXNCLGlCQUN0QkUsNEJBQTZCLHVCQUM3QkMsd0JBQXlCLDJCQUN6QkMsOEJBQStCLFNBQy9CQyw4QkFBK0IsVUFDL0JDLHlCQUEwQixnQ0FDMUJDLDZCQUE4QixlQUM5QkMsMEJBQTJCLFlBQzNCQyw4QkFBK0IsK0JBRy9CQyxtQkFBb0IsU0FDcEJDLHdCQUF5QixXQUN6QkMsOEJBQStCLGVBQy9CQyw0QkFBNkIsZUFDN0JDLDRCQUE2QixlQUM3QkMsd0JBQXlCLFdBQ3pCQywyQkFBNEIsbUJBQzVCQyw2QkFBOEIsaUJBQzlCQyw0QkFBNkIsZ0JBQzdCQywyQkFBNEIsaUJBQzVCQyxnQ0FBaUMsaUNBQ2pDQyxzQ0FBdUMsZUFDdkNDLG9DQUFxQyxTQUNyQ0Msb0NBQXFDLDJCQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsd0NBQ3pDQyxxQ0FBc0MsdUJBQ3RDQyxtQ0FBb0MsaUJBR3BDQyxpQkFBa0IsZ0JBQ2xCQyxzQkFBdUIsV0FDdkJDLHNCQUF1QixXQUN2QkMsMEJBQTJCLGVBQzNCQywwQkFBMkIsZUFDM0JDLDRCQUE2QixrQkFDN0JDLHVDQUF3Qyw2QkFDeENDLDRCQUE2QixrQkFDN0JDLDJCQUE0QixpQkFDNUJDLDhCQUErQixtQkFDL0JDLDJCQUE0QixzQkFDNUJDLDJCQUE0QixnQkFDNUJDLDBCQUEyQixxQkFDM0JDLDhCQUErQixjQUMvQkMsOEJBQStCLGFBQy9CQyxvQ0FBcUMsNkJBQ3JDQywrQ0FBZ0QseUNBQ2hEQyxvQ0FBcUMsWUFDckNDLG1DQUFvQyx1QkFDcENDLHNDQUF1Qyx3Q0FDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsV0FDckJDLG9CQUFxQixXQUNyQkMsc0JBQXVCLGFBQ3ZCQywwQkFBMkIsa0JBQzNCQyxtQkFBb0IsVUFHcEJDLGtCQUFtQixPQUNuQkMsb0JBQXFCLGNBQ3JCQyw0QkFBNkIsU0FDN0JDLGlCQUFrQixXQUNsQkMseUJBQTBCLHNCQUMxQkMsa0JBQW1CLFlBQ25CQywwQkFBMkIsVUFDM0JDLHdCQUF5QixrQkFDekJDLGdDQUFpQyxRQUNqQ0MscUJBQXNCLGVBQ3RCQyw2QkFBOEIsd0JBQzlCQyx1QkFBd0IsaUJBQ3hCQywrQkFBZ0MsYUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGtCQUMvQkMsbUNBQW9DLHNCQUNwQ0MseUJBQTBCLGFBQzFCQyx5QkFBMEIsYUFDMUJDLDZCQUE4QixrQkFDOUJDLDJCQUE0QixlQUM1QkMsd0JBQXlCLFlBQ3pCQyw0QkFBNkIsaUJBQzdCQywwQkFBMkIsY0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyxzQkFDbkNDLHFDQUFzQyx5QkFDdENDLHNCQUF1QixVQUN2QkMsMkNBQ0Usb0ZBQ0ZDLHNDQUF1QyxVQUN2Q0MsMkNBQTRDLFVBQzVDQyxpQ0FBa0MsV0FDbENDLGlDQUFrQyxnQkFDbENDLHFDQUFzQyxzQkFDdENDLG1DQUFvQyx5Q0FDcENDLGdDQUFpQyw0QkFDakNDLG9DQUFxQyx1QkFDckNDLDBDQUEyQyw0Q0FDM0NDLDZDQUE4Qyx1RUFDOUNDLDhCQUErQixrQkFDL0JDLG1EQUFvRCwyQ0FFcER3QixvQkFBcUIsd0JBQ3JCQyx1Q0FBd0MsNEJBRXhDQyxlQUFnQixrQkFDaEJDLHNCQUF1QixvQkFDdkJDLHNCQUF1QixnQkFFdkIzQixrQkFBbUIscUJBQ25CQyxpQ0FBa0MsMkJBQ2xDQyx5Q0FBMEMsb0NBQzFDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsK0JBQ3pDQyx3Q0FBeUMsdUNBQ3pDQyxnREFBaUQsZ0RBQ2pEQyxrQ0FBbUMsc0JBQ25DQywwQ0FBMkMsd0JBQzNDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsOEJBQ3pDQyxvQ0FBcUMscUJBQ3JDQyw0Q0FBNkMsNENBQzdDQyxzQ0FBdUMsOENBQ3ZDQyw2Q0FBOEMsb0NBQzlDQyxpQ0FBa0MsMkJBQ2xDQyw2Q0FBOEMsbUNBQzlDQyxxQ0FBc0MsMkJBQ3RDQyw2Q0FBOEMsd0NBQzlDQyxvQ0FBcUMseUJBQ3JDQyw0Q0FBNkMsbUNBQzdDQyx3Q0FBeUMsOEJBQ3pDQyxnREFBaUQsd0NBRWpETSxpQkFBa0Isc0JBQ2xCQyx5QkFBMEIsb0JBQzFCQyxpQ0FBa0Msd0NBQ2xDQywyQkFBNEIsdUNBQzVCQyxtQ0FBb0MsNENBQ3BDQywrQkFBZ0Msd0JBQ2hDQyx1Q0FBd0Msa0NBQ3hDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw2QkFBOEIscUJBQzlCQyxxQ0FBc0Msd0JBQ3RDQyw4QkFBK0Isc0JBQy9CQyxzQ0FBdUMsd0JBQ3ZDQyxtQ0FBb0MsNENBQ3BDQywyQ0FBNEMsaURBQzVDQyx3QkFBeUIsdUNBQ3pCQyx3QkFBeUIseUNBQ3pCQywrQkFBZ0MsMEJBQ2hDQyx1Q0FBd0Msd0JBQ3hDQyxzQ0FBdUMsMkNBQ3ZDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw4QkFBK0IscUJBQy9CQyxzQ0FBdUMseUNBQ3ZDQyw4QkFBK0IscUNBQy9CQyxzQ0FBdUMsb0RBRXZDQyxzQ0FBdUMsZ0NBQ3ZDQyxxQ0FBc0MsNkJBQ3RDQyw0Q0FDRSw2RUFDRkMsMENBQ0UsMEZBQ0ZDLHdDQUF5QyxrQ0FDekNDLHVDQUF3QywwQkFDeENDLDhDQUNFLDBFQUNGQyw2Q0FBOEMsNERBQzlDQyxxQ0FBc0MsOEJBQ3RDQyxvQ0FBcUMsdUJBQ3JDQywyQ0FBNEMsdUVBQzVDQywwQ0FBMkMsMkRDcFQ3QyxNQUFNRSxHQUNhcFksS0FDQXFZLGNBQ0EzbkIsSUFDakIsV0FBQWtOLENBQVlsTixHQUNWb04sS0FBS3BOLElBQU1BLEVBQ1hvTixLQUFLdWEsY0FBZ0IsSUFBSUMsRUFBY3ZTLElBQ3ZDLElBQUl3UyxFQUFXemEsS0FBS3BOLElBQUl3TixVQUFrQixzQkFBd0IsUUFDN0Q2SCxHQUFhd1MsS0FDaEJBLEVBQVcsU0FFYnphLEtBQUtrQyxLQUFPLElBQUl3WSxFQUFLLENBQ25CQyxRQUFTM2EsS0FBS3VhLGNBQ2RLLGdCQUFpQkgsSUFFbkJ6YSxLQUFLNmEsZ0JBQ1AsQ0FFUSxjQUFBQSxHQUNOLE1BQU1DLEVBQWE5YSxLQUFLK2Esc0JBQ1Z4b0IsRUFBR3lvQixZQUFZRixFQUFZLENBQ3ZDRyxlQUFlLElBRVhDLFFBQVF0cEIsSUFDWixHQUFJQSxFQUFLdXBCLFVBQVl2cEIsRUFBSzRDLEtBQUs0bUIsU0FBUyxRQUFTLENBQy9DLE1BQU1DLEVBQWV2c0IsRUFBS3JCLEtBQUtxdEIsRUFBWWxwQixFQUFLNEMsTUFDMUM4bUIsRUFBVy9vQixFQUFHZ1QsYUFBYThWLEVBQWMsUUFDL0MsSUFDRSxNQUFNRSxFQUFjQyxFQUFLQyxLQUFLSCxHQUM5QnJULEdBQWFyVyxFQUFLNEMsS0FBSzdFLFFBQVEsU0FBVSxLQUFPNHJCLENBQ2xELENBQUUsTUFBTy9wQixHQUNQNEQsUUFBUXBCLE1BQU14QyxFQUNoQixDQUNGLEdBRUosQ0FFUSxtQkFBQXVwQixHQUNOLE1BQU1ELEVBQWFoc0IsRUFBS3JCLEtBQUt1UyxLQUFLcE4sSUFBSXFOLFFBQVMsWUFJL0MsT0FIS3liLEVBQWVaLElBQ2xCM2EsRUFBYzJhLEdBRVRBLENBQ1QsQ0FFQSxTQUFBYSxDQUE0QjlxQixFQUFzQitxQixHQUNoRCxPQUFPNWIsS0FBS2tDLEtBQUt5WixVQUFVOXFCLEVBQUsrcUIsSUFBUy9xQixDQUMzQyxDQUVBLFdBQUFnckIsQ0FBWXBCLEdBQ1Z6YSxLQUFLa0MsS0FBSzJaLFlBQVlwQixHQUN0QnphLEtBQUtwTixJQUFJd1AsV0FBVyxDQUNsQixvQkFBcUJxWSxHQUV6QixDQUVBLFNBQUFxQixDQUFVckIsRUFBa0JzQixHQUMxQixNQUFNQyxFQUFnQmhjLEtBQUt1YSxjQUFjMEIsVUFBVXhCLEdBQ25ELElBQUt1QixFQUNILE9BQU8sRUFFVCxNQUFNRSxFQUFhQyxFQUFNSCxFQUFlRCxHQUV4QyxPQURBL2IsS0FBS3VhLGNBQWM2QixVQUFVM0IsRUFBVXlCLElBQ2hDLENBQ1QsQ0FFQSxXQUFBRyxDQUFZNUIsRUFBa0JzQixHQUU1QixPQURzQi9iLEtBQUt1YSxjQUFjMEIsVUFBVXhCLEtBSW5EemEsS0FBS3VhLGNBQWM2QixVQUFVM0IsRUFBVXNCLEdBQ3ZDOVQsR0FBYXdTLEdBQVlzQixHQUNsQixFQUNULENBRUEsZUFBQU8sR0FDRSxPQUFPeHNCLE9BQU9DLEtBQUtrWSxHQUNyQixFR25HRixNQUFNNVIsR0FBa0IsQ0FDdEJ1USxPQUFTaFUsSUFDS0EsRUFBSTRPLElBQ1orYSxRQUFRQyxPQUFPLHNCQUF1QixxQkNIeEN0YSxHQUFnQixDQUNwQjBFLE9BQVNoVSxJQUNLQSxFQUFJNE8sSUFDWithLFFBQ0RFLFFBQVEsUUFDUkMsVUFBVSxVQUNWQyxZQUFZLHFDQUNaQyxPQUFPenFCLE1BQU8wcUIsRUFBZSxNQUM1QixNQUFNQyxFQUFPbHFCLEVBQUlzUCxLQUFLb2Esa0JBQ3RCLElBQUtPLEVBQU0sQ0FDVCxNQUFNRSxFQUFVLENBQ2QsQ0FDRWhyQixLQUFNLE9BQ055QyxLQUFNLE9BQ053b0IsUUFBU0YsRUFDVDVvQixRQUFTLG9CQUNUK29CLFFBQVNycUIsRUFBSXdOLFVBQVUsc0JBQXdCLFVBSW5EeWMsU0FEcUJqcUIsRUFBSTRPLElBQUkwYixTQUFTQyxPQUE4QkosSUFDdEQ3YSxJQUNoQixDQUNLNGEsRUFBSzVzQixTQUFTMnNCLElBR2pCanFCLEVBQUlzUCxLQUFLMlosWUFBWWdCLEdBQ3JCanFCLEVBQUk2TixJQUFJaE8sUUFBUSxtQkFBbUJvcUIsTUFIbkNqcUIsRUFBSTZOLElBQUluTCxLQUFLLHdCQ3JCakI4bkIsR0FBZ0IsQ0FDcEI1YixFQUNBaWIsRUFDQUUsRUFDQVUsRUFDQVQsRUFDQTdqQixLQUVBLElBQUl3akIsRUFBVS9hLEVBQUkrYSxRQUFRRSxRQUFRQSxHQUFTRSxZQUFZQSxHQUFhVSxNQUFNQSxHQUN0RXRrQixHQUFTdWtCLFFBQ1hmLEVBQVVBLEVBQVFDLE9BQU8sc0JBQXVCLHFDQUU5Q3pqQixHQUFTd2tCLFdBQ1hoQixFQUFVQSxFQUFRQyxPQUFPLDRCQUE2Qiw2Q0FFeERELEVBQVFLLE9BQU9BLElBR1gvYSxHQUF5QixDQUM3QitFLE9BQVNoVSxJQUNQLE1BQU00TyxFQUFNNU8sRUFBSTRPLElBQ2hCNGIsR0FDRTViLEVBQ0EsdUJBQ0EsdUJBQ0EsTUFDQSxDQUFDaUcsRUFBbUI4VSxLQUNsQixNQUFNZSxNQUFFQSxFQUFLQyxTQUFFQSxHQUFhaEIsRUFDdEJ4akIsRUFBVSxDQUFFdWtCLFFBQU9DLFlBQ3pCM3FCLEVBQUlpUCxjQUFjMmIsUUFBUS9WLEVBQVMxTyxHQUFTNUUsTUFBTTNDLElBQ2hEb0IsRUFBSTZOLElBQUl6TSxNQUFNeEMsTUFHbEIsQ0FBRThyQixPQUFPLEVBQU1DLFVBQVUsSUFFM0JILEdBQWM1YixFQUFLLHlCQUEwQix5QkFBMEIsS0FBT2lHLElBQzVFN1UsRUFBSWlQLGNBQWM0YixVQUFVaFcsR0FBU3RULE1BQU0zQyxJQUN6Q29CLEVBQUk2TixJQUFJek0sTUFBTXhDLE9BR2xCNHJCLEdBQ0U1YixFQUNBLHNCQUNBLHNCQUNBLEtBQ0EsQ0FBQ2lHLEVBQW1COFUsS0FDbEIsTUFBTWUsTUFBRUEsRUFBS0MsU0FBRUEsR0FBYWhCLEVBQ3RCeGpCLEVBQVUsQ0FBRXVrQixRQUFPQyxZQUN6QjNxQixFQUFJaVAsY0FBYzVULE9BQU93WixFQUFTMU8sR0FBUzVFLE1BQU8zQyxJQUNoRG9CLEVBQUk2TixJQUFJek0sTUFBTXhDLE1BR2xCLENBQUU4ckIsT0FBTyxFQUFNQyxVQUFVLE1DdER6QkQsR0FBaUIsQ0FDckIxVyxPQUFTaFUsSUFDS0EsRUFBSTRPLElBQ1orYSxRQUFRQyxPQUFPLG9CQUFxQiwwQkFBNEJjLElBQ2xFMXFCLEVBQUkwUCxVQUFVLENBQ1osZUFBZ0JnYixpQkNKUkksSUFBaUI1dUIsS0FDL0JBLEVBQUk2dUIsV0FDSkEsR0FBYSxFQUFLQyxTQUNsQkEsR0FBVyxFQUFJQyxZQUNmQSxHQUFjLElBT2QsTUFBTUMsRUFBWWh2QixHQUFNYSxRQUFRLGFBQWMsSUFBSUEsUUFBUSxVQUFXLEtBQ3JFLE9BQUttdUIsRUFHRSxHQUFHSCxFQUFhLElBQU0sS0FBS0csSUFBWUYsRUFBVyxJQUFNLEtBRnREQyxFQUFjLEdBQUssR0FHOUIsQ0FFTSxTQUFVRSxHQUFXanZCLEdBQ3pCLE9BQU9BLEVBQ0phLFFBQVEsVUFBVyxLQUNuQnFCLE1BQU0sS0FDTmtRLElBQUk4YyxHQUFLQyxtQkFBbUJELElBQzVCdndCLEtBQUssSUFDVixDQUVPLE1BQU15d0IsR0FDSSxnQkFESkEsR0FFQyxhQUZEQSxHQUdILFNBSEdBLEdBSUssZUFKTEEsR0FLSCxTQUxHQSxHQU1KLFFBTklBLEdBT0osUUFQSUEsR0FRQSxZQVJBQSxHQVNGLFVBVEVBLEdBVUosUUFWSUEsR0FXQSxZQVhBQSxHQVlMLE9BWktBLEdBYUosUUFiSUEsR0FjSixRQWRJQSxHQWVFLGNBR0ZDLEdBQWMsQ0FDekJ2ckIsRUFDQXdyQixFQUNBNXBCLEVBQ0F6QyxFQUNBc3NCLEVBQ0FDLEVBQ0FDLEVBQXFCLFNBQ3JCQyxLQUFZLENBRVpocUIsT0FDQXpDLE9BQ0EsVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUNkLEdBQUc0QyxLQUFjSCxFQUFXTSxpQkFBaUJscUIsRUFBS2txQixnQkFFdEQsRUFDQSxTQUFJckIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFDZCxHQUFHNEMsS0FBY0gsRUFBV00saUJBQWlCbHFCLEVBQUtrcUIsZ0JBRXRELEVBQ0F6QixRQUFTb0IsRUFDVEMsY0FDR0UsSUNwRUUsTUFBTUcsR0FBdUIvckIsSUFDM0IsQ0FDTGdzQixjQUFlaHNCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQy9Da0QsV0FBWWpzQixFQUFJc1AsS0FBS3laLFVBQXVCLHNCQUM1Q21ELE9BQVFsc0IsRUFBSXNQLEtBQUt5WixVQUF1QixtQkFDeEMsZUFBZ0Ivb0IsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDaERvRCxPQUFRbnNCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3hDcUQsTUFBT3BzQixFQUFJc1AsS0FBS3laLFVBQXVCLGdCQUN2Q3NELE1BQU9yc0IsRUFBSXNQLEtBQUt5WixVQUF1QixnQkFDdkN1RCxVQUFXdHNCLEVBQUlzUCxLQUFLeVosVUFBdUIscUJBQzNDd0QsUUFBU3ZzQixFQUFJc1AsS0FBS3laLFVBQXVCLGtCQUN6Q3lELE1BQU94c0IsRUFBSXNQLEtBQUt5WixVQUF1QixnQkFDdkMwRCxVQUFXenNCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0JBQzNDMkQsS0FBTTFzQixFQUFJc1AsS0FBS3laLFVBQXVCLGVBQ3RDNEQsTUFBTzNzQixFQUFJc1AsS0FBS3laLFVBQXVCLHVCQUN2QzZELE1BQU81c0IsRUFBSXNQLEtBQUt5WixVQUF1QixnQkFDdkM4RCxZQUFhN3NCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JDVjNDK0QsR0FBa0IsQ0FDdEJDLFNBQVUsQ0FBRXRwQixPQ3NEQyxRQTdEQ3pELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUFtQyxxQkFBdUIsQ0FBQSxFQXlEakYsTUF4RGdDLENBQzlCK2QsR0FBWXZyQixFQUFLLFdBQVksVUFBVyxRQUFTZ3RCLEVBQVc3akIsU0FBVyxLQUFLLEVBQU8sV0FDbkZvaUIsR0FBWXZyQixFQUFLLFdBQVksWUFBYSxVQUFXZ3RCLEVBQVczakIsWUFBYSxHQUFPLEVBQU8sV0FDM0ZraUIsR0FBWXZyQixFQUFLLFdBQVksZ0JBQWlCLE9BQVFndEIsRUFBV3pqQixlQUFpQixPQUFPLEVBQU8sVUFBVyxDQUN6RzZnQixRQUFTLENBQ1AsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFVBR0ptQixHQUFZdnJCLEVBQUssV0FBWSxXQUFZLFVBQVdndEIsRUFBV3ZqQixXQUFZLEdBQU8sRUFBTyxXQUN6RjhoQixHQUFZdnJCLEVBQUssV0FBWSxjQUFlLFFBQVNndEIsRUFBV25qQixhQUFlLEtBQUssRUFBTyxXQUMzRjBoQixHQUFZdnJCLEVBQUssV0FBWSxlQUFnQixRQUFTZ3RCLEVBQVdyakIsY0FBZ0IsS0FBSyxFQUFPLFdBQzdGNGhCLEdBQ0V2ckIsRUFDQSxXQUNBLHVCQUNBLFVBQ0FndEIsRUFBV2pqQix1QkFBd0IsR0FDbkMsRUFDQSxXQUVGd2hCLEdBQ0V2ckIsRUFDQSxXQUNBLG9CQUNBLFVBQ0FndEIsRUFBVy9pQixvQkFBcUIsR0FDaEMsRUFDQSxXQUVGc2hCLEdBQVl2ckIsRUFBSyxXQUFZLGdCQUFpQixRQUFTZ3RCLEVBQVc3aUIsZUFBaUIsSUFBSSxFQUFPLFdBQzlGb2hCLEdBQVl2ckIsRUFBSyxXQUFZLFNBQVUsVUFBV2d0QixFQUFXcmlCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGNGdCLEdBQVl2ckIsRUFBSyxXQUFZLFNBQVUsVUFBV2d0QixFQUFXbmlCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGMGdCLEdBQVl2ckIsRUFBSyxXQUFZLFdBQVksVUFBV2d0QixFQUFXM2lCLFdBQVksR0FBTyxFQUFPLFdBQ3pGa2hCLEdBQVl2ckIsRUFBSyxXQUFZLGVBQWdCLFFBQVNndEIsRUFBV3ppQixjQUFnQixJQUFJLEVBQU8sV0FDNUZnaEIsR0FBWXZyQixFQUFLLFdBQVksZUFBZ0IsVUFBV2d0QixFQUFXdmlCLGVBQWdCLEdBQU8sRUFBTyxjRGpEdEVoSCxPQUFReEYsSUFBSyxvQkFDMUN1SCxVQUFXLENBQUUvQixPRWtFQSxRQTFFQ3pELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUFvQyxzQkFBd0IsQ0FBQSxFQXNFbkYsTUFyRWdDLENBQzlCK2QsR0FBWXZyQixFQUFLLFlBQWEsaUJBQWtCLFVBQVdndEIsRUFBVzNrQixpQkFBa0IsR0FBTyxFQUFPLFdBQ3RHa2pCLEdBQVl2ckIsRUFBSyxZQUFhLGdCQUFpQixPQUFRZ3RCLEVBQVd4b0IsZUFBaUIsUUFBUSxFQUFPLFVBQVcsQ0FDM0c0bEIsUUFBUyxDQUFDLE9BQVEsV0FFcEJtQixHQUNFdnJCLEVBQ0EsWUFDQSx3QkFDQSxVQUNBZ3RCLEVBQVd0b0Isd0JBQXlCLEdBQ3BDLEVBQ0EsV0FFRjZtQixHQUFZdnJCLEVBQUssWUFBYSxrQkFBbUIsUUFBU2d0QixFQUFXcm9CLGlCQUFtQixHQUFHLEVBQU8sV0FDbEc0bUIsR0FBWXZyQixFQUFLLFlBQWEsZ0JBQWlCLFFBQVNndEIsRUFBV3RrQixlQUFpQixJQUFJLEVBQU8sV0FDL0Y2aUIsR0FBWXZyQixFQUFLLFlBQWEsb0JBQXFCLFFBQVNndEIsRUFBV25vQixtQkFBcUIsSUFBSSxFQUFPLFdBQ3ZHMG1CLEdBQ0V2ckIsRUFDQSxZQUNBLHNCQUNBLFFBQ0FndEIsRUFBV2xvQixxQkFBdUIsS0FDbEMsRUFDQSxXQUVGeW1CLEdBQ0V2ckIsRUFDQSxZQUNBLGlCQUNBLFFBQ0FndEIsRUFBV2pvQixnQkFBa0IsNkJBQzdCLEVBQ0EsV0FFRndtQixHQUFZdnJCLEVBQUssWUFBYSxxQkFBc0IsUUFBU2d0QixFQUFXaG9CLG9CQUFzQixJQUFJLEVBQU8sV0FDekd1bUIsR0FDRXZyQixFQUNBLFlBQ0Esd0JBQ0EsUUFDQWd0QixFQUFXOW5CLHVCQUF5QixLQUNwQyxFQUNBLFdBRUZxbUIsR0FDRXZyQixFQUNBLFlBQ0Esb0JBQ0EsT0FDQWd0QixFQUFXamtCLG1CQUFxQixhQUNoQyxFQUNBLFVBQ0EsQ0FDRXFoQixRQUFTLENBQ1AsUUFDQSxZQUNBLFlBQ0EsUUFDQSxZQUNBLFlBQ0EsT0FDQSxPQUNBLFNBQ0EsZUYxRHVCM21CLE9BQVF4RixJQUFLLHFCQUM1Q2d2QixPQUFRLENBQUV4cEIsT0dBRyxRQVRDekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQWUsbUJBQXFCLENBQUEsRUFLM0QsTUFKZ0MsQ0FDOUIrZCxHQUFZdnJCLEVBQUssU0FBVSxTQUFVLFFBQVNndEIsRUFBVzlrQixRQUFVLGNBQWMsRUFBTyxXQUN4RnFqQixHQUFZdnJCLEVBQUssU0FBVSxTQUFVLFVBQVdndEIsRUFBV3RaLFNBQVUsR0FBTyxFQUFPLGNISzVEalEsT0FBUXhGLElBQUssa0JBQ3RDbVEsWUFBYSxDQUFFM0ssT0lNRixRQWhCQ3pELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUEyQyx3QkFBMEIsQ0FBQSxFQVk1RixNQVhnQyxDQUM5QitkLEdBQ0V2ckIsRUFDQSxjQUNBLHFCQUNBLFFBQ0FndEIsRUFBVzNlLG9CQUFzQiwyQ0FDakMsRUFDQSxjSkErQjVLLE9BQVF4RixJQUFLLHdCQUs1Q2l2QixHQUFlM3RCLE1BQU9TLEVBQWFtcUIsRUFBMEJnRCxFQUFnQnZyQixLQUNqRixNQUFNd3JCLFFBQWVwdEIsRUFBSTRPLElBQUkwYixTQUFTQyxPQUFPSixHQUN2Q2tELEVBQWFDLEdBQWNILEVBQVF2ckIsR0FFekM1QixFQUFJd1AsV0FBVyxDQUFFNmQsQ0FBQ0EsR0FBYUQsSUFHaEIsYUFBWEQsRUFDRm50QixFQUFJd1AsV0FBVyxDQUNiLGlCQUFrQjVOLEVBQ2xCLGtCQUFtQkEsSUFFRCxnQkFBWHVyQixHQUNUbnRCLEVBQUl3UCxXQUFXLENBQ2IscUJBQXNCNU4sS0FLdEIwckIsR0FBZ0IsQ0FBQ0gsRUFBZ0J2ckIsS0FDSyxDQUN4Q3VTLFNBQVUsVUFBVXZTLElBQ3BCa1MsWUFBYSxlQUFlbFMsSUFDNUIyckIsUUFBUyxXQUFXM3JCLEtBRUx1ckIsSUFBV3ZyQixHQXNHeEI0ckIsR0FBVSxDQUNkeFosT0FBU2hVLElBQ0tBLEVBQUk0TyxJQUNaK2EsUUFDREUsUUFBUSxPQUNSWSxNQUFNLFVBQ05YLFVBQVUsbUJBQ1ZDLFlBQVksMEVBQ1pDLE9BQU8sQ0FBQ21ELEVBQWdCdnJCLEtBQ3RCLFdBQ0MsSUFFRSxPQUFRdXJCLEdBQ04sSUFBSyxlQWhIUzV0QixPQUFPUyxFQUFhNEIsS0FDOUMsR0FBSUEsR0FBUUEsS0FBUWtyQixHQUFpQixDQUNuQyxNQUFNSyxFQUFTTCxHQUFnQmxyQixHQUUvQixrQkFETXNyQixHQUFhbHRCLEVBQUttdEIsRUFBTzFwQixPQUFPekQsR0FBTSxVQUFXNEIsRUFFekQsQ0FHQSxNQUtNdW9CLEVBQVUsQ0FDZCxDQUNFaHJCLEtBQU0sT0FDTnlDLEtBQU0sVUFDTndvQixRQVRZbHRCLE9BQU91d0IsUUFBUVgsSUFBaUJ4ZSxJQUFJLEVBQUVvZixHQUFTenZCLFdBQU0sQ0FDbkUyRCxLQUFNNUIsRUFBSXNQLEtBQUt5WixVQUF1QjlxQixHQUN0Q3l2QixXQVFFcHNCLFFBQVMsNEJBSVA4ckIsUUFBZXB0QixFQUFJNE8sSUFBSTBiLFNBQVNDLE9BQThCSixHQUM5RHdELEVBQWlCYixHQUFnQk0sRUFBT0csZUFDeENMLEdBQWFsdEIsRUFBSzJ0QixFQUFlbHFCLE9BQU96RCxHQUFNLFVBQVdvdEIsRUFBT0csVUF5RmxESyxDQUFvQjV0QixFQUFLNEIsR0FDL0IsTUFDRixJQUFLLFdBQ0wsSUFBSyxtQkF6RmlCckMsT0FDbENTLEVBQ0FtdEIsRUFDQXZyQixLQUVBLEdBQUlBLEVBQU0sQ0FDUixNQUFNdkUsRUFBTzJDLEVBQUltUCxPQUFPZ2UsR0FBUWhzQixJQUFJUyxHQUNwQyxPQUFLdkUsT0FJREEsRUFBS29HLGNBQ0R5cEIsR0FBYWx0QixFQUFLM0MsRUFBS29HLE9BQU96RCxHQUFNbXRCLEVBQVF2ckIsU0FKbEQ1QixFQUFJNk4sSUFBSXpNLE1BQU0sTUFBTStyQixXQUFnQnZyQixJQU94QyxDQUdBLE1BQU13b0IsRUFBVXBxQixFQUFJbVAsT0FBT2dlLEdBQVFuWSxZQUFZMUcsSUFBS2pSLElBQVksQ0FDOUR1RSxLQUFNbXFCLEdBQW9CL3JCLEdBQUszQyxJQUFTQSxFQUN4Q3F3QixNQUFPcndCLEtBR0g4c0IsRUFBVSxDQUNkLENBQ0VockIsS0FBTSxPQUNOeUMsS0FBTXVyQixFQUNOL0MsVUFDQTlvQixRQUFTLGVBQWU2ckIsTUFJdEJDLFFBQWVwdEIsRUFBSTRPLElBQUkwYixTQUFTQyxPQUE4QkosR0FDOUQ5c0IsRUFBTzJDLEVBQUltUCxPQUFPZ2UsR0FBUWhzQixJQUFJaXNCLEVBQU9ELElBQ3ZDOXZCLEdBQU1vRyxjQUNGeXBCLEdBQWFsdEIsRUFBSzNDLEVBQUtvRyxPQUFPekQsR0FBTW10QixFQUFRQyxFQUFPRCxLQXVEdkNVLENBQTRCN3RCLEVBQUttdEIsRUFBUXZyQixHQUMvQyxNQUNGLElBQUssY0FyREVyQyxPQUFPUyxFQUFhNEIsS0FDdkMsR0FBSUEsRUFBTSxDQUNSLE1BQU1rc0IsRUFBYWxzQixFQUFLdEUsU0FBUyxpQkFBbUJzRSxFQUFPLGdCQUFnQkEsSUFFM0UsSUFBSzFFLE9BQU9DLEtBQUs2QyxFQUFJd04sVUFBVSxpQkFBaUJsUSxTQUFTd3dCLEdBRXZELFlBREE5dEIsRUFBSTZOLElBQUl6TSxNQUFNLG1CQUFtQjBzQixLQUluQyxNQUFNMVksUUFBZXBWLEVBQUlnUCxhQUFhK2UsVUFBVUQsR0FJaEQsWUFISTFZLEdBQVEzUixjQUNKeXBCLEdBQWFsdEIsRUFBS29WLEVBQU8zUixPQUFPekQsR0FBTSxTQUFVOHRCLEdBRzFELENBR0EsTUFBTTNELEVBQVUsQ0FDZCxDQUNFaHJCLEtBQU0sT0FDTnlDLEtBQU0sU0FDTndvQixRQUFTcHFCLEVBQUlnUCxhQUFhZ2YsY0FDMUIxc0IsUUFBUyxvQkFJUDhyQixRQUFlcHRCLEVBQUk0TyxJQUFJMGIsU0FBU0MsT0FBOEJKLEdBQzlEL1UsUUFBZXBWLEVBQUlnUCxhQUFhK2UsVUFBVVgsRUFBT2hZLFFBQ25EQSxHQUFRM1IsY0FDSnlwQixHQUFhbHRCLEVBQUtvVixFQUFPM1IsT0FBT3pELEdBQU0sU0FBVW90QixFQUFPaFksU0F5QjNDNlksQ0FBYWp1QixFQUFLNEIsR0FDeEIsTUFDRixRQUdFLE9BRkE1QixFQUFJNk4sSUFBSW5MLEtBQUssbUJBQW1CeXFCLFVBQ2hDbnRCLEVBQUk2TixJQUFJbkwsS0FBSyw2REFJakIxQyxFQUFJNk4sSUFBSWhPLFFBQVEsa0NBQ0QsV0FBWHN0QixHQUNGbnRCLEVBQUk2TixJQUFJQyxLQUFLLGlFQUVqQixDQUFFLE1BQU9sUCxHQUVQLEdBREFvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxHQUNWcUQsUUFBUWlzQixLQUFLNXdCLFNBQVMsV0FDeEIsTUFBTXNCLENBRVYsQ0FDRCxFQTlCQSxHQThCSTJDLE1BQU0zQyxJQUNUb0IsRUFBSTZOLElBQUl6TSxNQUFNeEMsU0tsTGxCZ1IsR0FBa0IsQ0FDdEJvRSxPQUFTaFUsSUFDUEEsRUFBSTRPLElBQUkrYSxRQUNMRSxRQUFRLFVBQ1JFLFlBQVksb0JBQ1pELFVBQVUsY0FDVlcsTUFBTSxLQUNOVCxPQUFROXVCLElBQ04sV0FDQyxNQUFNaXpCLEVBQVlqekIsRUFDZm9ULElBQUtqUixHQUNHbUIsR0FBTW5CLEdBQVFBLEVBQU9uQixFQUFLa0UsUUFBUS9DLElBRTFDK3dCLE9BQVEvd0IsSUFDUCxNQUFNZ3hCLEVBQVExdUIsRUFBR3dDLFdBQVc5RSxJQUFTbUIsR0FBTW5CLEdBSTNDLE9BSEtneEIsR0FDSHJ1QixFQUFJNk4sSUFBSW5MLEtBQUssR0FBR3JGLHFCQUVYZ3hCLFVBRUxydUIsRUFBSTRQLE9BQU91ZSxFQUNsQixFQWJBLEdBYUk1c0IsTUFBTTNDLElBQ1RvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxTQzFCbEIwdkIsR0FBZSxDQUNuQnRhLE9BQVF6VSxNQUFPUyxJQUNiLE1BQU00TyxFQUFNNU8sRUFBSTRPLElBQ2hCQSxFQUFJK2EsUUFDREUsUUFBUSxPQUNSQyxVQUFVLFlBQ1ZDLFlBQVksd0JBQ1pDLE9BQVFtRCxJQUNOLFdBQ0MsSUFDRSxJQUFJaEQsRUFBaUIsR0FDckIsTUFBTTFtQixFQUFzQixDQUMxQjBRLFNBQVUsQ0FDUmhWLEtBQU0sT0FDTnlDLEtBQU0sV0FDTk4sUUFBUyxrQkFDVDhvQixRQUFTcHFCLEVBQUltUCxPQUFPZ0YsU0FBU2EsWUFBWTFHLElBQUtqUixJQUNyQyxDQUNMdUUsS0FBTW1xQixHQUFvQi9yQixHQUFLM0MsSUFBU0EsRUFDeENxd0IsTUFBT3J3QixLQUdYZ3RCLFFBQVNycUIsRUFBSXdOLFVBQVUsb0JBQXNCeE4sRUFBSXdOLFVBQVUsbUJBQXFCLFFBRWxGc0csWUFBYSxDQUNYM1UsS0FBTSxPQUNOeUMsS0FBTSxjQUNOTixRQUFTLG9CQUNUOG9CLFFBQVNwcUIsRUFBSW1QLE9BQU8yRSxZQUFZa0IsWUFDaENxVixRQUFTcnFCLEVBQUl3TixVQUErQix1QkFBeUIsUUFFdkVxSCxRQUFTLENBQ1AxVixLQUFNLFdBQ055QyxLQUFNLFVBQ05OLFFBQVMsY0FDVDhvQixRQUFTcHFCLEVBQUlnUCxhQUFhZ2YsY0FDMUIzRCxRQUFTbnRCLE9BQU9DLEtBQUs2QyxFQUFJd04sVUFBVSxpQkFBaUI0Z0IsT0FBUS93QixHQUMxRDJDLEVBQUl3TixVQUFVLGdCQUFnQm5RLFFBS3BDLEdBQUk4dkIsRUFBUSxDQUNWLElBQUkxcEIsRUFBTzBwQixHQUtULE9BRkFudEIsRUFBSTZOLElBQUluTCxLQUFLLG1CQUFtQnlxQixVQUNoQ250QixFQUFJNk4sSUFBSW5MLEtBQUssc0RBSGJ5bkIsRUFBUWhZLEtBQUsxTyxFQUFPMHBCLEdBTXhCLE1BQ0VoRCxFQUFVanRCLE9BQU9DLEtBQUtzRyxHQUFRNkssSUFBS2pSLEdBQWlCb0csRUFBT3BHLElBRTdELE1BQU0rdkIsUUFBZXhlLEVBQUkwYixTQUFTQyxPQUFZSixHQUc5QyxHQUFJaUQsRUFBT3ZZLFFBQVMsQ0FDbEIsTUFBTUEsRUFBVTdVLEVBQUl3TixVQUFrQyxnQkFDdER0USxPQUFPQyxLQUFLMFgsR0FBU3lULFFBQVNqckIsSUFDeEIrdkIsRUFBT3ZZLFFBQVF2WCxTQUFTRCxHQUMxQndYLEVBQVF4WCxJQUFRLEVBRWhCd1gsRUFBUXhYLElBQVEsSUFJcEIyQyxFQUFJd1AsV0FBVyxDQUNiK2UsYUFBYzFaLEdBRWxCLENBRUE3VSxFQUFJd1AsV0FBVyxDQUNiLGlCQUFrQjRkLEVBQU9qWixVQUFZblUsRUFBSXdOLFVBQWtCLGtCQUMzRCxrQkFBbUI0ZixFQUFPalosVUFBWW5VLEVBQUl3TixVQUFrQixrQkFDNUQscUJBQXNCNGYsRUFBT3RaLGFBQWUsU0FFOUM5VCxFQUFJNk4sSUFBSWhPLFFBQVEsZ0NBQ2xCLENBQUUsTUFBT2pCLEdBRVAsR0FEQW9CLEVBQUk2TixJQUFJek0sTUFBTXhDLEdBQ1ZxRCxRQUFRaXNCLEtBQUs1d0IsU0FBUyxXQUN4QixNQUFNc0IsQ0FFVixDQUNELEVBM0VBLEdBMkVJMkMsTUFBTTNDLElBQ1RvQixFQUFJNk4sSUFBSXpNLE1BQU14QyxlQ3JGWDR2QixHQUNYQyxxQkFLaUI3c0IsS0FJQXNvQixLQUlBd0UsWUFFakIsV0FBQXhoQixDQUFZdEwsR0FDVndMLEtBQUt4TCxLQUFPQSxFQUNad0wsS0FBSzhjLEtBQU8sSUFBSXlFLElBQ2hCdmhCLEtBQUtzaEIsWUFBYyxJQUFJQyxHQUN6QixDQUVBLFFBQUFDLENBQVNDLEVBQVl6WixHQUNuQixJQUFLeVosRUFBSSxNQUFNLElBQUlDLFVBQVUsbUJBQzdCLEdBQTZCLG1CQUFsQjFaLEVBQU9wQixPQUF1QixNQUFNLElBQUk4YSxVQUFVLHFDQUM3RCxHQUFJMWhCLEtBQUs4YyxLQUFLeFgsSUFBSW1jLEdBQUssTUFBTSxJQUFJQyxVQUFVLEdBQUcxaEIsS0FBS3hMLHNCQUFzQml0QixNQUV6RXpoQixLQUFLOGMsS0FBSzZFLElBQUlGLEVBQUl6WixHQUVkb1osR0FBaUJRLGdCQUNmNWhCLEtBQUtzaEIsWUFBWWhjLElBQUk4YixHQUFpQlEsZUFDeEM1aEIsS0FBS3NoQixZQUFZdnRCLElBQUlxdEIsR0FBaUJRLGdCQUFnQjdjLEtBQUswYyxHQUUzRHpoQixLQUFLc2hCLFlBQVlLLElBQUlQLEdBQWlCUSxjQUFlLENBQUNILElBRzVELENBRUEsVUFBQUksQ0FBV25CLEdBQ1QsR0FBSTFnQixLQUFLc2hCLFlBQVloYyxJQUFJb2IsR0FBYSxDQUNwQyxNQUFNb0IsRUFBYTloQixLQUFLc2hCLFlBQVl2dEIsSUFBSTJzQixHQUN4Q29CLEdBQVk1RyxRQUFTbFQsSUFDbkJoSSxLQUFLOGMsS0FBS2lGLE9BQU8vWixJQUVyQixDQUNGLENBRUEsT0FBQUYsR0FDRSxPQUFPOUgsS0FBS3hMLElBQ2QsQ0FFQSxHQUFBVCxDQUFJMHRCLEdBQ0YsT0FBT3poQixLQUFLOGMsS0FBSy9vQixJQUFJMHRCLEVBQ3ZCLENBRUEsT0FBQS9aLEdBQ0UsTUFBTyxJQUFJMUgsS0FBSzhjLEtBQUtrRixTQUN2QixDQUVBLFNBQUFwYSxHQUNFLE1BQU8sSUFBSTVILEtBQUs4YyxLQUFLL3NCLE9BQ3ZCLEVBR0ssTUFBTWt5QixHQUF1QixDQUFDenRCLEVBQXNCLFFBQ3pENHNCLEdBQWlCUSxjQUFnQnB0QixTQzVEdEIwdEIsR0FDTTF0QixLQUFPLFlBQ3hCNnNCLHFCQUNpQnZFLEtBQU8sSUFBSXlFLElBQ1hELFlBQWMsSUFBSUMsSUFDbEIzdUIsSUFFakIycEIsUUFDQVcsU0FFQSxXQUFBcGQsQ0FBWWxOLEdBQ1ZvTixLQUFLdWMsUUFBVSxJQUFJNEYsRUFDbkJuaUIsS0FBS2tkLFNBQVdBLEVBQ2hCbGQsS0FBS3BOLElBQU1BLENBQ2IsQ0FFQSxPQUFBa1YsR0FDRSxPQUFPOUgsS0FBS3hMLElBQ2QsQ0FFQSxJQUFBNHRCLEdDbEJhLElBQUN4dkIsRURtQlpvTixLQUFLdWMsUUFDRjhGLFFBQVEsUUFBMkIsaUJBQ25DN0YsT0FBTyxjQUFlLGFBQWMsS0FDbkN4YyxLQUFLcE4sSUFBSTBQLFVBQVUsQ0FDakJnZ0IsT0FBTyxNQUdWOUYsT0FBTyxlQUFnQixjQUFlLEtBQ3JDeGMsS0FBS3BOLElBQUkwUCxVQUFVLENBQ2pCaWdCLFFBQVEsTUFHWDVmLEdBQUcsWUFBYSxLQUNmM0MsS0FBS3BOLElBQUk2TixJQUFJek0sTUFDWCxvQkFBb0JnTSxLQUFLdWMsUUFBUVgsS0FBS251QixLQUFLLHNEQUU3Q29ILFFBQVEydEIsS0FBSyxNQ25DTDV2QixFRHVDRG9OLEtBQUtwTixLQ3RDZDRPLElBQUlnZ0IsU0FBUyxnQkFBaUIzZixJQUNsQ2pQLEVBQUk0TyxJQUFJZ2dCLFNBQVMsU0FBVW5yQixJQUMzQnpELEVBQUk0TyxJQUFJZ2dCLFNBQVMsVUFBV3BCLElBQzVCeHRCLEVBQUk0TyxJQUFJZ2dCLFNBQVMsU0FBVWhmLElBQzNCNVAsRUFBSTRPLElBQUlnZ0IsU0FBUyxNQUFPTixJQUN4QnR1QixFQUFJNE8sSUFBSWdnQixTQUFTLFFBQVNsRSxJQUMxQjFxQixFQUFJNE8sSUFBSWdnQixTQUFTLE9BQVF0ZixHRGlDekIsQ0FFQSxRQUFBc2YsQ0FBU0MsRUFBWXpaLEdBQ25CLElBQUt5WixFQUFJLE1BQU0sSUFBSUMsVUFBVSxxQkFDN0IsR0FBNkIsbUJBQWxCMVosRUFBT3BCLE9BQXVCLE1BQU0sSUFBSThhLFVBQVUscUNBQzdELEdBQUkxaEIsS0FBSzhjLEtBQUt4WCxJQUFJbWMsR0FBSyxNQUFNLElBQUlDLFVBQVUsR0FBRzFoQixLQUFLeEwsNkJBQTZCaXRCLE1BQ2hGemhCLEtBQUs4YyxLQUFLNkUsSUFBSUYsRUFBSXpaLEdBQ2xCLE1BQU15YSxFRGVEckIsR0FBaUJRLGNDZEksT0FBdEJhLElBQ0V6aUIsS0FBS3NoQixZQUFZaGMsSUFBSW1kLEdBQ3ZCemlCLEtBQUtzaEIsWUFBWXZ0QixJQUFJMHVCLElBQW9CMWQsS0FBSzBjLEdBRTlDemhCLEtBQUtzaEIsWUFBWUssSUFBSWMsRUFBbUIsQ0FBQ2hCLElBRy9DLENBRUEsVUFBQUksQ0FBV25CLEdBQ1QsR0FBSTFnQixLQUFLc2hCLFlBQVloYyxJQUFJb2IsR0FBYSxDQUNwQyxNQUFNb0IsRUFBYTloQixLQUFLc2hCLFlBQVl2dEIsSUFBSTJzQixHQUN4Q29CLEdBQVk1RyxRQUFTbFQsSUFDbkJoSSxLQUFLOGMsS0FBS2lGLE9BQU8vWixJQUVyQixDQUNGLENBRUEsWUFBQTBhLEdBQ0UxaUIsS0FBSzBILFVBQVV3VCxRQUFTanJCLElBQ3RCLElBQ0VBLEVBQUsyVyxPQUFPNUcsS0FBS3BOLElBQ25CLENBQUUsTUFBT3BCLEdBQ1B3TyxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsRUFDckIsR0FFSixDQUVBLEdBQUF1QyxDQUFJMHRCLEdBQ0YsT0FBT3poQixLQUFLOGMsS0FBSy9vQixJQUFJMHRCLEVBQ3ZCLENBRUEsT0FBQS9aLEdBQ0UsTUFBTyxJQUFJMUgsS0FBSzhjLEtBQUtrRixTQUN2QixDQUVBLFNBQUFwYSxHQUNFLE1BQU8sSUFBSTVILEtBQUs4YyxLQUFLL3NCLE9BQ3ZCLFFFbkZXNHlCLEdBQ01DLE1BQVEsQ0FDdkIsQ0FBQ3hqQixHQUFTM00sU0FBVSxRQUNwQixDQUFDMk0sR0FBU3NCLE1BQU8sT0FDakIsQ0FBQ3RCLEdBQVM5SixNQUFPLFNBQ2pCLENBQUM4SixHQUFTcEwsT0FBUSxPQUdIcEIsSUFDVGl3QixTQUNBQyxRQUNSLFdBQUFoakIsQ0FBWWxOLEdBQ1ZvTixLQUFLcE4sSUFBTUEsQ0FDYixDQUVRLFNBQUFtd0IsQ0FBVWh4QixLQUFtQnFWLEdBRW5DLEdBREFwSCxLQUFLNmlCLFNBQVc3aUIsS0FBS3BOLElBQUl3TixVQUFVLHNCQUM5QkosS0FBS3BOLElBQUl3TixVQUErQixXQUFhSixLQUFLZ2pCLGNBQWNqeEIsRUFBTWlPLEtBQUs2aUIsVUFBVyxDQUNqRyxNQUFNSSxFQUFZQyxFQUFNbGpCLEtBQUs0aUIsTUFBTTd3QixJQUFvQixZQUFZQSxFQUFLMnNCLG1CQUN4RXRwQixRQUFRcUwsSUFBSXdpQixLQUFjN2IsR0FDMUJwSCxLQUFLOGlCLFFBQ0g5aUIsS0FBS3BOLElBQUl3TixVQUErQixxQkFBdUJ0UixFQUFLckIsS0FBS3VTLEtBQUtwTixJQUFJcU4sUUFBUyxpQkFDN0Y1TCxXQUFXLEtBQ1QsSUFDRSxNQUFNOHVCLEVBQVNuakIsS0FBS29qQixvQkFBb0JwakIsS0FBSzhpQixTQUM3QyxHQUFJSyxFQUFPRSxRQUFTLENBQ2xCLE1BQU1DLEVBQWEsNEJBQTRCSCxFQUFPSSxpQkFBb0IsS0FBTyxNQUFRLDhCQUN6Rm51QixRQUFRcUwsSUFBSXlpQixFQUFNTSxPQUFPLG1CQUFvQkYsR0FDN0N0akIsS0FBS3lqQixnQkFBZ0J6akIsS0FBSzhpQixTQUMxQjFiLEVBQUlzYyxRQUFRSixFQUNkLENBQ0F0akIsS0FBSzJqQixlQUFlM2pCLEtBQUs4aUIsUUFBUy93QixLQUFTcVYsRUFDN0MsQ0FBRSxNQUFPNVYsR0FDUDRELFFBQVFwQixNQUFNLDRDQUE2Q3hDLEVBQzdELEdBQ0MsRUFDTCxDQUNGLENBRVEsbUJBQUE0eEIsQ0FBb0JOLEdBSzFCLEdBQUl2d0IsRUFBR3dDLFdBQVcrdEIsR0FBVSxDQUMxQixNQUFNYyxFQUFjcnhCLEVBQUdnTyxTQUFTdWlCLEdBQVN0aUIsS0FDbkMraUIsRUFDc0YsS0FBMUY1c0IsR0FBWXFKLEtBQUtwTixJQUFJd04sVUFBK0IsOEJBQWdDLElBQWEsS0FDbkcsTUFBTyxDQUNMaWpCLFFBQVNPLEVBQWNMLEVBQ3ZCSyxjQUNBTCxtQkFFSixDQUNBLE1BQU8sQ0FBRUYsU0FBUyxFQUNwQixDQUVRLGVBQUFJLENBQWdCWCxHQUNsQnZ3QixFQUFHd0MsV0FBVyt0QixLQUNoQnZ3QixFQUFHc3hCLFdBQVdmLEdBQ2RnQixFQUFlaEIsR0FFbkIsQ0FFUSxjQUFBYSxDQUFlYixFQUFpQi93QixLQUFpQnFWLEdBQ3ZELElBQ0UsSUFBSTNHLEVBQU0sR0FBR3NqQixJQUFRanBCLE9BQU8sbUNBQW1DL0ksRUFBSzJzQixrQkFDcEV0WCxFQUFJOFQsUUFBU2pyQixJQUNQQSxhQUFnQnlULE9BQWtCLFVBQVQzUixFQUMzQjBPLEdBQU8sb0NBQW9DdWpCLEVBQUtscEIsT0FBTzdLLEdBQU1nMEIsMENBRXpDLGlCQUFUaDBCLElBQ1RBLEVBQU93RyxLQUFLeXRCLFVBQVVqMEIsRUFBTSxLQUFNLElBRXBDd1EsR0FBTyxHQUFHeFEsUUFHZHdRLEdBQU8sS0FDUGxPLEVBQUc0eEIsZUFBZXJCLEVBQVNyaUIsRUFDN0IsQ0FBRSxNQUFPalAsR0FDUDRELFFBQVFwQixNQUFNLHNDQUF1Q3hDLEVBQ3ZELENBQ0YsQ0FFUSxhQUFBd3hCLENBQWNqeEIsRUFBYzZ3QixHQUNsQyxZQUFjL3lCLElBQVYreUIsR0FBaUMsUUFBVkEsSUFDdkIxMUIsTUFBTW9KLFFBQVFzc0IsR0FDVEEsRUFBTTV5QixLQUFNQyxHQUFpQkEsSUFBUzhCLEdBQWlCLFFBQVQ5QixHQUVoRDhCLElBQVM2d0IsRUFDbEIsQ0FFQSxPQUFBbndCLElBQVcyVSxHQUNUcEgsS0FBSytpQixVQUFVM2pCLEdBQVMzTSxXQUFZMlUsRUFDdEMsQ0FFQSxJQUFBMUcsSUFBUTBHLEdBQ05wSCxLQUFLK2lCLFVBQVUzakIsR0FBU3NCLFFBQVMwRyxFQUNuQyxDQUVBLEtBQUFwVCxJQUFTb1QsR0FDUHBILEtBQUsraUIsVUFBVTNqQixHQUFTcEwsU0FBVW9ULEVBQ3BDLENBRUEsSUFBQTlSLElBQVE4UixHQUNOcEgsS0FBSytpQixVQUFVM2pCLEdBQVM5SixRQUFTOFIsRUFDbkMsQ0FFQSxLQUFBa2IsSUFBU2xiLEdBQ0h0USxNQUNGa0osS0FBSytpQixVQUFVM2pCLEdBQVNzQixRQUFTMEcsRUFFckMsUUM1R1dnZCxHQUVNeHhCLElBQ2pCLFdBQUFrTixDQUFZbE4sR0FDVm9OLEtBQUtwTixJQUFNQSxDQUNiLENBRUEsYUFBTTRxQixDQUNKL1YsRUFDQTFPLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BQU1zdEIsRUFBNkIsR0FDN0JDLEVBQWlCN2MsRUFDcEJ2RyxJQUFLalIsR0FBaUJzMEIsR0FBd0J2a0IsS0FBS3BOLElBQUszQyxJQUN4RCt3QixPQUFPL3dCLEdBR0YrUCxLQUFLcE4sSUFBSWdQLGFBQWE0aUIsVUFBVXYwQixFQUFLdzBCLFVBQ3ZDSixFQUFpQnRmLEtBQUs5VSxFQUFLdzBCLFNBQzNCemtCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVEsaUNBQWlDeEMsRUFBS3cwQixZQUNwRCxLQUdKeDBCLEVBQUt3QyxTQUtSaXlCLEVBQWVKLEVBQWVwakIsSUFBSWpSLEdBQVFBLEVBQUswMEIsVUFDL0NDLEVBQWNOLEVBQWVwakIsSUFBSWpSLEdBQVFBLEVBQUt3MEIsU0FDcEQsR0FBSUMsRUFBYTEzQixPQUFTLEVBQUcsQ0FJM0IsTUFBTW0yQixRQUFlbmpCLEtBQUs2a0IsWUFBWSxVQUFXSCxFQUFjMWtCLEtBQUtwTixJQUFJcU4sUUFBU2xILEVBQVNoQyxHQUMxRixHQUFLb3NCLEVBQU8yQixLQWNMLENBQ0wsTUFBTUMsRUFBTS9rQixLQUFLcE4sSUFBSXNQLEtBQUt5WixVQUF1Qiw4Q0FBK0MsQ0FDOUZtSixLQUFNLEdBQUczQixFQUFPMkIsT0FDaEJyeEIsS0FBTTB2QixFQUFPMXZCLE9BRWZ1TSxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNK3dCLEdBQ25CL2tCLEtBQUtwTixJQUFJd1EsS0FBSyxnQkFBaUIsQ0FDN0I0aEIsTUFBT2hsQixLQUFLcE4sSUFBSXNQLEtBQUt5WixVQUF1Qix3Q0FDNUNzSixLQUFNRixJQU1SLE1BSnlDLENBQ3ZDdHlCLFNBQVMsRUFDVHd5QixLQUFNRixFQUdWLENBNUJFLElBQUssTUFBTTkwQixLQUFReTBCLFFBQ1gxa0IsS0FBS3BOLElBQUlnUCxhQUFhc2pCLGVBQWVqMUIsR0FFN0MrUCxLQUFLcE4sSUFBSTZOLElBQUloTyxRQUFRdU4sS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsMENBQzFEM2IsS0FBS3BOLElBQUl3USxLQUFLLGlCQUFrQixDQUM5QjRoQixNQUFPaGxCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLHlDQUM1Q3NKLEtBQU0sSUFBSUwsS0FBZ0JQLEtBTTVCLE1BSndDLENBQ3RDNXhCLFNBQVMsRUFDVHd5QixLQUFNLElBQUlMLEtBQWdCUCxHQW1CaEMsQ0FBTyxHQUFnQyxJQUE1QkEsRUFBaUJyM0IsT0FBYyxDQUN4QyxNQUFNKzNCLEVBQU0va0IsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsZ0RBQ2pEM2IsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTSt3QixHQUNuQi9rQixLQUFLcE4sSUFBSXdRLEtBQUssZ0JBQWlCLENBQzdCNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsd0NBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3R5QixTQUFTLEVBQ1R3eUIsS0FBTUYsRUFHVixDQUNFL2tCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVF1TixLQUFLcE4sSUFBSXNQLEtBQUt5WixVQUF1QiwwQ0FDMUQzYixLQUFLcE4sSUFBSXdRLEtBQUssaUJBQWtCLENBQzlCNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIseUNBQzVDc0osS0FBTSxJQUFJTCxLQUFnQlAsS0FNNUIsTUFKd0MsQ0FDdEM1eEIsU0FBUyxFQUNUd3lCLEtBQU0sSUFBSUwsS0FBZ0JQLEdBSWhDLENBRUEsZUFBTTVHLENBQVVoVyxHQUNkLE1BR01tZCxFQUhpQm5kLEVBQ3BCdkcsSUFBS2pSLEdBQWlCczBCLEdBQXdCdmtCLEtBQUtwTixJQUFLM0MsSUFDeEQrd0IsT0FBTy93QixHQUFRQSxFQUFLd0MsU0FDWXlPLElBQUlqUixHQUFRQSxFQUFLdzBCLFNBQ3BELEdBQUlHLEVBQVk1M0IsT0FBUyxFQUFHLENBRzFCLE1BQU1tMkIsUUFBZW5qQixLQUFLNmtCLFlBQVksWUFBYUQsRUFBYTVrQixLQUFLcE4sSUFBSXFOLFNBQ3pFLEdBQUtrakIsRUFBTzJCLEtBY0wsQ0FDTCxNQUFNQyxFQUFNL2tCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLGdEQUFpRCxDQUNoR21KLEtBQU0sR0FBRzNCLEVBQU8yQixPQUNoQnJ4QixLQUFNMHZCLEVBQU8xdkIsT0FFZnVNLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU0rd0IsR0FDbkIva0IsS0FBS3BOLElBQUl3USxLQUFLLGtCQUFtQixDQUMvQjRoQixNQUFPaGxCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLDBDQUM1Q3NKLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkN0eUIsU0FBUyxFQUNUd3lCLEtBQU1GLEVBR1YsQ0E1QkVILEVBQVkxSixRQUFTd0YsSUFDbkIxZ0IsS0FBS3BOLElBQUlnUCxhQUFhdWpCLGlCQUFpQnpFLEtBRXpDMWdCLEtBQUtwTixJQUFJNk4sSUFBSWhPLFFBQVF1TixLQUFLcE4sSUFBSXNQLEtBQUt5WixVQUF1Qiw0Q0FDMUQzYixLQUFLcE4sSUFBSXdRLEtBQUssbUJBQW9CLENBQ2hDNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsMkNBQzVDc0osS0FBTUwsSUFNUixNQUp3QyxDQUN0Q255QixTQUFTLEVBQ1R3eUIsS0FBTUwsRUFtQlosQ0FBTyxDQUNMLE1BQU1HLEVBQU0va0IsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsZ0RBQ2pEM2IsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTSt3QixHQUNuQi9rQixLQUFLcE4sSUFBSXdRLEtBQUssa0JBQW1CLENBQy9CNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsMENBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3R5QixTQUFTLEVBQ1R3eUIsS0FBTUYsRUFHVixDQUNGLENBRUEsWUFBTTkyQixDQUNKd1osRUFDQTFPLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BR002dEIsRUFIaUJuZCxFQUNwQnZHLElBQUtqUixHQUFpQnMwQixHQUF3QnZrQixLQUFLcE4sSUFBSzNDLElBQ3hEK3dCLE9BQU8vd0IsR0FBUUEsRUFBS3dDLFNBQ1l5TyxJQUFJalIsR0FBUUEsRUFBS3cwQixTQUNwRCxHQUFJRyxFQUFZNTNCLE9BQVMsRUFBRyxDQUcxQixNQUFNbTJCLFFBQWVuakIsS0FBSzZrQixZQUFZLFNBQVVELEVBQWE1a0IsS0FBS3BOLElBQUlxTixRQUFTbEgsRUFBU2hDLEdBQ3hGLEdBQUtvc0IsRUFBTzJCLEtBV0wsQ0FDTCxNQUFNQyxFQUFNL2tCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLDZDQUE4QyxDQUM3Rm1KLEtBQU0sR0FBRzNCLEVBQU8yQixPQUNoQnJ4QixLQUFNMHZCLEVBQU8xdkIsT0FFZnVNLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU0rd0IsR0FDbkIva0IsS0FBS3BOLElBQUl3USxLQUFLLGVBQWdCLENBQzVCNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsdUNBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3R5QixTQUFTLEVBQ1R3eUIsS0FBTUYsRUFHVixDQXpCRS9rQixLQUFLcE4sSUFBSTZOLElBQUloTyxRQUFRdU4sS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIseUNBQzFEM2IsS0FBS3BOLElBQUl3USxLQUFLLGdCQUFpQixDQUM3QjRoQixNQUFPaGxCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLHdDQUM1Q3NKLEtBQU1MLElBTVIsTUFKd0MsQ0FDdENueUIsU0FBUyxFQUNUd3lCLEtBQU1MLEVBbUJaLENBQU8sQ0FDTCxNQUFNRyxFQUFNL2tCLEtBQUtwTixJQUFJc1AsS0FBS3laLFVBQXVCLDZDQUNqRDNiLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU0rd0IsR0FDbkIva0IsS0FBS3BOLElBQUl3USxLQUFLLGVBQWdCLENBQzVCNGhCLE1BQU9obEIsS0FBS3BOLElBQUlzUCxLQUFLeVosVUFBdUIsdUNBQzVDc0osS0FBTUYsSUFNUixNQUp5QyxDQUN2Q3R5QixTQUFTLEVBQ1R3eUIsS0FBTUYsRUFHVixDQUNGLENBRVEsaUJBQU1GLENBQ1pyakIsRUFDQTRqQixFQUNBQyxFQUNBdHNCLEVBQWlDLENBQUEsRUFDakNoQyxFQUFtQixJQUduQixNQUFNd21CLEVBQVd4a0IsRUFBUXdrQixVQUFZdmQsS0FBS3BOLElBQUl3TixVQUErQixxQkFDdkVrZCxFQUFRdmtCLEVBQVF1a0IsT0FBU3RkLEtBQUtwTixJQUFJd04sVUFBK0Isa0JBQ3ZFLGFBQWEsSUFBSXJOLFFBQVNDLElBQ3hCLElBQUk0b0IsRUFBTyxDQUFDcGEsR0FBSzhqQixPQUFPRixHQUFTRSxPQUFPLGtCQUFrQkEsT0FBTyxVQUM3RC9ILElBQ0YzQixFQUFPQSxFQUFLMEosT0FBTyxjQUFjL0gsTUFFL0JELElBQ0YxQixFQUFPQSxFQUFLMEosT0FBTyxXQUFXaEksTUFFaEMsSUFDRSxNQUFNaUksRUFBTUMsRUFBTSxNQUFPNUosRUFBTSxDQUM3QjltQixJQUFLdXdCLEVBQ0x0dUIsSUFBSyxJQUFLbEMsUUFBUWtDLE9BQVFBLEtBRzVCLElBQUkwSyxFQUFTLEdBQ2I4akIsRUFBSUUsUUFDQTlpQixHQUFHLE9BQVNsUCxJQUNaZ08sR0FBVWhPLElBRVhpeUIsS0FBSzd3QixRQUFRNHdCLFFBRWhCRixFQUFJSSxRQUNBaGpCLEdBQUcsT0FBU2xQLElBQ1pnTyxHQUFVaE8sSUFFWGl5QixLQUFLN3dCLFFBQVE4d0IsUUFFaEJKLEVBQUk1aUIsR0FBRyxRQUFVbWlCLElBSWI5eEIsRUFIRzh4QixFQUdLLENBQUVBLE9BQU1yeEIsS0FBTWdPLEdBRmQsQ0FBRXFqQixLQUFNLEVBQUdyeEIsS0FBTWdPLE1BTTdCOGpCLEVBQUk1aUIsR0FBRyxRQUFVb2lCLElBQ2Yva0IsS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTSt3QixHQUNuQi9rQixLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNLHdCQUNuQmdNLEtBQUtwTixJQUFJd1EsS0FBSy9ELEdBQWNtRixPQUFRLHlCQUV4QyxDQUFFLE1BQU9oVCxHQUNQd08sS0FBS3BOLElBQUk2TixJQUFJek0sTUFBTXhDLEdBQ25Cd08sS0FBS3BOLElBQUl3USxLQUFLL0QsR0FBY21GLE9BQVFoVCxFQUN0QyxHQUVKLEVBUUYsTUFBTSt5QixHQUEwQixDQUFDM3hCLEVBQWE4QixLQUM1QyxNQUFNeEIsRUFBTSxDQUNWVCxTQUFTLEVBQ1RreUIsU0FBVSxHQUNWRixRQUFTLElBRUx0QixFQUFTanVCLEdBQXFCUixFQUFZOUIsRUFBSTZOLEtBQ3BELElBQUswaUIsRUFDSCxPQUFPandCLEVBSVQsTUFBTXV4QixFQUFVbHZCLEdBQW9CNHRCLEVBQVF2d0IsRUFBSTZOLEtBQ2hELE9BQUtna0IsRUFHRSxDQUNMaHlCLFNBQVMsRUFDVGt5QixTQUFVeEIsRUFDVnNCLFdBTE92eEIsU0N4UkUweUIsR0FDTWh6QixJQUNUa3FCLEtBQWlCLEdBQ1IrSSxTQUFXLElBQUl6a0IsSUFDZjBrQixVQUFZLElBQUl2RSxJQUNqQyxXQUFBemhCLENBQVlsTixHQUNWb04sS0FBS3BOLElBQU1BLEVBQ1hvTixLQUFLb2lCLE1BQ1AsQ0FFUSxJQUFBQSxHQUNOLE1BQU0yRCxFQUFjajNCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGdCQUNoRCxJQUFLMU4sRUFBR3dDLFdBQVdneEIsR0FBYyxDQUMvQixNQUFNcHdCLEVBQU0sQ0FDVm5CLEtBQU0sZ0JBQ05tb0IsWUFBYSxnQkFDYnFKLFdBQVksNkNBQ1pDLFFBQVMsT0FFWDF6QixFQUFHcU8sY0FBY21sQixFQUFhdHZCLEtBQUt5dEIsVUFBVXZ1QixHQUFNLE9BQ3JELENBQ0YsQ0FHUSxhQUFBdXdCLENBQWN0ekIsRUFBYTRCLEdBQ2pDLElBQ0UsT0FBT3hCLEVBQVFtekIsS0FBSzN4QixFQUFNLENBQUU0eEIsUUFBU3h6QixFQUFJcU4sU0FDM0MsQ0FBRSxNQUFPOGtCLEdBQ1AsT0FBT2oyQixFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLGVBQWdCekwsRUFDaEQsQ0FDRixDQUdBLFVBQU1pbkIsR0FDSixNQUFNNEssRUFBWXYzQixFQUFLckIsS0FBS3VTLEtBQUtwTixJQUFJcU4sUUFBUyxpQkFFOUMsSUFBSzFOLEVBQUd3QyxXQUFXc3hCLEdBQ2pCLE9BQU8sRUFFVCxNQUFNTixFQUFjajNCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGdCQUMxQ3FtQixFQUFPMXdCLEVBQWFtd0IsR0FDcEJRLEVBQU96MkIsT0FBT0MsS0FBS3UyQixFQUFLRSxjQUFnQixDQUFBLEdBQ3hDQyxFQUFVMzJCLE9BQU9DLEtBQUt1MkIsRUFBS0ksaUJBQW1CLENBQUEsR0FDOUN0QixFQUFVbUIsRUFBS2pCLE9BQU9tQixHQUFTekYsT0FBUXhzQixJQUMzQyxJQUFLLHdDQUF3Q25ELEtBQUttRCxHQUFPLE9BQU8sRUFDaEUsTUFBTTFGLEVBQU9rUixLQUFLa21CLGNBQWNsbUIsS0FBS3BOLElBQUs0QixHQUMxQyxPQUFPakMsRUFBR3dDLFdBQVdqRyxLQUV2QixJQUFLLE1BQU1peEIsS0FBVXFGLFFBQ2JwbEIsS0FBS2tsQixlQUFlbkYsR0FFNUIsT0FBTyxDQUNULENBRUEsb0JBQU1tRixDQUFlMXdCLEVBQWN3VCxHQUNqQyxHQUFLeFQsR0FBd0IsaUJBQVRBLEVBQXBCLENBSUF3TCxLQUFLNmxCLFNBQVNjLElBQUlueUIsR0FDbEIsSUFFRSxHQUFLd1QsRUFjRSxDQUdMaEksS0FBSzhjLEtBQUsvWCxLQUFLdlEsR0FDZnl0QixHQUFxQnp0QixHQUNyQixNQUFNb3lCLEVBQWtCNWUsRUFBT2hJLEtBQUtwTixLQUNwQ29OLEtBQUs4bEIsVUFBVW5FLElBQUludEIsRUFBTW95QixHQUN6QkEsRUFBZ0JwRixTQUFTeGhCLEtBQUtwTixJQUNoQyxNQXJCRSxJQUNpRCxJQUEvQ29OLEtBQUtwTixJQUFJd04sVUFBVSxnQkFBZ0I1TCxXQUNZM0UsSUFBL0NtUSxLQUFLcE4sSUFBSXdOLFVBQVUsZ0JBQWdCNUwsS0FDbkMsQ0FDQXdMLEtBQUs4YyxLQUFLL1gsS0FBS3ZRLEdBQ2Z5dEIsR0FBcUJ6dEIsVUFDQ3dMLEtBQUsyZ0IsVUFBVW5zQixJQUM1Qmd0QixTQUFTeGhCLEtBQUtwTixLQUN2QixNQUFNb1YsRUFBUyxnQkFBZ0J4VCxLQUMvQndMLEtBQUtwTixJQUFJd1AsV0FBVyxDQUNsQjRGLENBQUNBLElBQVMsR0FFZCxDQVVKLENBQUUsTUFBT3hXLEdBQ1B3TyxLQUFLOGxCLFVBQVUvRCxPQUFPdnRCLEdBQ3RCd0wsS0FBSzhjLEtBQU85YyxLQUFLOGMsS0FBS2tFLE9BQVEvd0IsR0FBaUJBLElBQVN1RSxHQUN4RHdMLEtBQUs2bEIsU0FBUzlELE9BQU92dEIsR0FDckJ3TCxLQUFLcE4sSUFBSTZOLElBQUl6TSxNQUFNeEMsR0FDbkJ3TyxLQUFLcE4sSUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDeEM3QixNQUFPLFVBQVV4d0IsZUFDakJ5d0IsS0FBTXp6QixHQUVWLENBcENBLE1BRkV3TyxLQUFLcE4sSUFBSTZOLElBQUluTCxLQUFLLDhCQXVDdEIsQ0FFQSxnQkFBQTZ2QixDQUFpQjN3QixHQUNmd0wsS0FBSzhjLEtBQU85YyxLQUFLOGMsS0FBS2tFLE9BQVEvd0IsR0FBaUJBLElBQVN1RSxHQUN4RHdMLEtBQUs2bEIsU0FBUzlELE9BQU92dEIsR0FDckJ3TCxLQUFLOGxCLFVBQVUvRCxPQUFPdnRCLEdBQ3RCeXRCLEdBQXFCenRCLEdBQ3JCd0wsS0FBS3BOLElBQUltUCxPQUFPZ0YsU0FBUzhhLFdBQVdydEIsR0FDcEN3TCxLQUFLcE4sSUFBSW1QLE9BQU8yRSxZQUFZbWIsV0FBV3J0QixHQUN2Q3dMLEtBQUtwTixJQUFJbVAsT0FBTzBFLHVCQUF1Qm9iLFdBQVdydEIsR0FDbER3TCxLQUFLcE4sSUFBSW1QLE9BQU8rRSxvQkFBb0IrYSxXQUFXcnRCLEdBQy9Dd0wsS0FBS3BOLElBQUltUCxPQUFPb0YsbUJBQW1CMGEsV0FBV3J0QixHQUM5Q3dMLEtBQUtwTixJQUFJNE8sSUFBSXFnQixXQUFXcnRCLEdBQ3hCd0wsS0FBS3BOLElBQUl5UCxhQUFhLGVBQWdCN04sRUFDeEMsQ0FHQSxlQUFNbXNCLENBQVVuc0IsR0FDZCxHQUFJd0wsS0FBSzhsQixVQUFVeGdCLElBQUk5USxHQUNyQixPQUFPd0wsS0FBSzhsQixVQUFVL3hCLElBQUlTLEdBSTVCLElBQUlJLEVBQ0osSUFFRUEsRUFBYW9MLEtBQUtrbUIsY0FBY2xtQixLQUFLcE4sSUFBSzRCLEVBQzVDLENBQUUsTUFBT3V3QixHQUVQLE1BQU1zQixFQUFZdjNCLEVBQUtyQixLQUFLdVMsS0FBS3BOLElBQUlxTixRQUFTLGVBQWdCekwsR0FDeERzeUIsRUFBa0JoNEIsRUFBS3JCLEtBQUs0NEIsRUFBVyxnQkFFN0MsSUFBSTl6QixFQUFHd0MsV0FBVyt4QixHQXFCaEIsTUFBTSxJQUFJcGpCLE1BQU0sa0NBQWtDbFAsS0FwQmxELElBQ0UsTUFBTXV5QixFQUFjbnhCLEVBQWFreEIsR0FDM0JFLEVBQU9ELEVBQVlDLE1BQVFELEVBQVloSCxRQUFVLFdBQ3ZEbnJCLEVBQWE5RixFQUFLckIsS0FBSzQ0QixFQUFXVyxFQUNwQyxDQUFFLE1BRUEsTUFBTUMsRUFBa0IsQ0FBQyxXQUFZLGVBQWdCLGdCQUFpQixnQkFDdEVyeUIsRUFBYSxHQUNiLElBQUssTUFBTXN5QixLQUFTRCxFQUFpQixDQUNuQyxNQUFNRSxFQUFZcjRCLEVBQUtyQixLQUFLNDRCLEVBQVdhLEdBQ3ZDLEdBQUkzMEIsRUFBR3dDLFdBQVdveUIsR0FBWSxDQUM1QnZ5QixFQUFhdXlCLEVBQ2IsS0FDRixDQUNGLENBQ0EsSUFBS3Z5QixFQUNILE1BQU0sSUFBSThPLE1BQU0sdUNBQXVDbFAsSUFFM0QsQ0FJSixDQUVBLE1BQU00eUIsRUFBWUMsRUFBY3p5QixHQUFZMHlCLEtBQ3RDQyxRQUFZQyxPQUFPSixHQUNuQnBmLEdBQVV1ZixFQUFJdEssU0FBV3NLLEdBQUt2bkIsS0FBS3BOLEtBRXpDLE9BREFvTixLQUFLOGxCLFVBQVVuRSxJQUFJbnRCLEVBQU13VCxHQUNsQkEsQ0FDVCxDQUtBLE9BQUFOLEdBQ0UsT0FBTzFILEtBQUs4YyxJQUNkLENBRUEsU0FBQTBILENBQVVod0IsR0FDUixPQUFPd0wsS0FBSzZsQixTQUFTdmdCLElBQUk5USxFQUMzQixDQUtBLFdBQUFvc0IsR0FDRSxNQUFPLElBQUk1Z0IsS0FBSzZsQixTQUNsQixFQzNMRixNQUFNNEIsR0FBVyxJQUFJN25CLEVDb0JmOG5CLEdBQWEsSUFBSUMsRUFBTUMsTUFBTSxDQUNqQ0MsV0FBWSxVQUNaQyxXQUFZLFVBQ1pDLG9CQUFvQixJQUl0QixTQUFTQyxHQUFlQyxFQUFnQnAzQixFQUFhNEMsR0FDL0IsaUJBQVRBLEdBQXFCLFVBQVdBLEdBQVEsWUFBYUEsRUFDOUR3MEIsRUFBS0MsT0FBT3IzQixFQUFLNEMsRUFBSzZzQixNQUFPN3NCLEVBQUtzRixTQUVsQ2t2QixFQUFLQyxPQUFPcjNCLEVBQUs0QyxFQUVyQixDQXNFQSxTQUFTMDBCLEdBQW9CQyxHQUMzQixNQUFPLElBQ0ZBLEVBQ0hDLFdBQVlELEVBQVNFLE9BQ3JCckQsS0FBTW1ELEVBQVMzMEIsS0FFbkIsQ0FFQSxTQUFTODBCLEdBQXFCdjBCLEdBQzVCLE1BQU13MEIsRUFBVyxDQUNmcDFCLE9BQVFZLEdBQU9xQyxRQUFRakQsUUFBUXNyQixlQUFpQixHQUNoRDV4QixJQUFLa0gsR0FBT3FDLFFBQVF2SixLQUFPLEdBQzNCdTdCLFdBQVlyMEIsR0FBT28wQixVQUFVRSxRQUFVLEVBQ3ZDcDBCLFFBQVNGLEdBQU9FLFNBQVcsR0FDM0IrdkIsTUFBT2p3QixHQUFPaXdCLE9BQVMsQ0FBQSxFQUN2Qm1FLFNBQVUsQ0FDUkUsT0FBUXQwQixHQUFPbzBCLFVBQVVFLFFBQVUsRUFDbkNELFdBQVlyMEIsR0FBT28wQixVQUFVRSxRQUFVLEVBQ3ZDckQsS0FBTWp4QixHQUFPbzBCLFVBQVUzMEIsTUFBUSxLQUduQyxPQUFPVixRQUFRRSxPQUFPdTFCLEVBQ3hCLE9BRWExbUIsR0FDTWxQLElBQ1QwcUIsTUFBNkIsR0FDckN2a0IsUUFBbUMsQ0FBQSxFQUNuQyxXQUFBK0csQ0FBWWxOLEdBQ1ZvTixLQUFLcE4sSUFBTUEsRUFDWG9OLEtBQUtvaUIsT0FDTHFGLEdBQVM5a0IsR0FBR3JELEdBQVVtcEIsY0FBZ0JoMUIsSUFDcEMsT0FBUUEsRUFBS3dzQixZQUNYLElBQUssU0FDRXhzQixFQUFLNnNCLE9BQTZCaEQsUUFDckN0ZCxLQUFLc2QsTUFBUzdwQixFQUFLNnNCLE1BQTRCaEQsT0FFakQsTUFDRixJQUFLLGVBQ0h0ZCxLQUFLc2QsTUFBUTdwQixFQUFLNnNCLFFBSTFCLENBRVEsSUFBQThCLEdBQ04sTUFBTTlFLEVBQVF0ZCxLQUFLcE4sSUFBSXdOLFVBQStCLGdCQUNsRGtkLElBQ0Z0ZCxLQUFLc2QsTUFBUUEsRUFFakIsQ0FFUSxXQUFBb0wsR0FDTixHQUFJMW9CLEtBQUtzZCxNQUNQLElBQ0UsTUFBTXFMLEVBQWUsSUFBSS8wQixFQUFJb00sS0FBS3NkLE9BQ2xDLE1BQU8sQ0FDTHNMLEtBQU1ELEVBQWFFLFNBQ25CQyxLQUFNbjRCLFNBQVNnNEIsRUFBYUcsTUFBUSxJQUFLLElBQ3pDQyxTQUFVSixFQUFhSSxTQUUzQixDQUFFLE1BQU92M0IsR0FFVCxDQUVGLE9BQU8sQ0FDVCxDQUdBLE9BQUEyQixDQU9FNEYsR0FDQWlILEtBQUtqSCxRQUFRdWtCLE1BQVF0ZCxLQUFLMG9CLGNBQzFCMW9CLEtBQUtqSCxRQUFRaXdCLFFBQVVqd0IsRUFBUWl3QixTQUFXLENBQUEsRUFDMUNocEIsS0FBS2pILFFBQVFrd0IsY0FBZ0JDLElBQzdCbHBCLEtBQUtqSCxRQUFRb3dCLGlCQUFtQkQsSUFDNUJscEIsS0FBS2pILFFBQVF1a0IsT0FBU3ZrQixFQUFRak0sS0FBS21ILFdBQVcsYUFDaEQrTCxLQUFLakgsUUFBUTJ1QixXQUFhMEIsRUFBYyxDQUN0QzlMLE1BQU8sQ0FDTHNMLEtBQU01b0IsS0FBS2pILFFBQVF1a0IsTUFBTXNMLEtBQ3pCRSxLQUFNOW9CLEtBQUtqSCxRQUFRdWtCLE1BQU13TCxRQUc3QjlvQixLQUFLakgsUUFBUXVrQixPQUFRLEdBRXJCdGQsS0FBS2pILFFBQVEydUIsV0FBYUEsR0FJNUIsTUFBTTJCLEVBQVcxb0IsRUFBTTJvQixPQUFPdHBCLEtBQUtqSCxTQUNuQ3N3QixFQUFTRSxhQUFhbkIsU0FBU2xILElBQUlpSCxHQUFxQkksSUFHeEQsTUFBTWlCLEVBdEtWLFNBQTRCendCLEdBRzFCLElBQUkwd0IsR0FBaUIsRUFDckIsTUFBTUQsRUFFRixJQUNDendCLEVBQ0hqTSxJQUFNaU0sRUFBUWpNLEtBQWtCLEdBQ2hDazhCLFFBQVNqd0IsRUFBUWl3QixTQUFXLENBQUEsR0FHOUIsR0FBSWp3QixFQUFRdWtCLE1BQU8sQ0FDakIsSUFBSXFMLEVBQWU1dkIsRUFBUXVrQixNQUMzQixHQUE0QixpQkFBakJxTCxFQUEyQixDQUNwQyxJQUNFQSxFQUFlLElBQUkvMEIsRUFBSW1GLEVBQVF1a0IsTUFDakMsQ0FBRSxNQUFPOXJCLEdBQ1BtM0IsR0FBZSxFQUNmYSxFQUFJbE0sT0FBUSxFQUNabG9CLFFBQVFwQixNQUFNeEMsRUFDaEIsQ0FDQWk0QixHQUFpQixDQUNuQixDQUNJZCxJQUNFNXZCLEVBQVFqTSxLQUFLbUgsV0FBVyxhQUMxQnUxQixFQUFJbE0sT0FBUSxFQUNaa00sRUFBSTlCLFdBQWEwQixFQUFjLENBQzdCOUwsTUFBTyxDQUNMc0wsS0FBTUQsR0FBY0UsU0FDcEJDLEtBQU1uNEIsU0FBU2c0QixHQUFjRyxLQUFNLFFBSXZDVSxFQUFJbE0sTUFBUSxDQUNWc0wsS0FBTUQsRUFBYUUsU0FDbkJDLEtBQU1uNEIsU0FBU2c0QixFQUFhRyxLQUFNLElBQ2xDQyxTQUFVLFFBSWxCLENBQ0EsR0FBSSxhQUFjaHdCLEVBQVMsQ0FDekIsTUFBTWt2QixFQUFPLElBQUl5QixFQUNqQixJQUFLLE1BQU03NEIsS0FBT2tJLEVBQVE0d0IsU0FFeEIzQixHQUFlQyxFQUFNcDNCLEVBRFJrSSxFQUFRNHdCLFNBQVM5NEIsSUFHaEMyNEIsRUFBSS8xQixLQUFPdzBCLEVBQ1h1QixFQUFJUixRQUFVbDVCLE9BQU84NUIsT0FBT0osRUFBSVIsU0FBVyxDQUFBLEVBQUlmLEVBQUs0QixjQUNwREosR0FBaUIsU0FFVkQsRUFBSUcsUUFDYixDQVlBLE1BWEksU0FBVTV3QixJQUNaeXdCLEVBQUkvMUIsS0FBT3NGLEVBQVFrc0IsS0FDbkJ3RSxHQUFpQixTQUVWRCxFQUFJdkUsTUFFVCxPQUFRbHNCLElBQ1Z5d0IsRUFBSWh2QixPQUFTekIsRUFBUSt3QixHQUNyQkwsR0FBaUIsR0FFbkJELEVBQUlDLGVBQWlCQSxFQUNkRCxDQUNULENBb0dnQk8sQ0FBbUJoeEIsR0FvQi9CLE9BbEJBc3dCLEVBQVNFLGFBQWFwMkIsUUFBUSt0QixJQUFJLFNBQVU4SSxHQUUxQyxJQUFJQyxFQUFjLEdBY2xCLE9BYklELEdBQUtoQixTQUFTaUIsYUFDaEJBLEVBQWNELEVBQUloQixRQUFRaUIsbUJBQ25CRCxFQUFJaEIsUUFBUWlCLGFBQ1ZELEdBQUtoQixTQUFTa0IsYUFDdkJELEVBQWNELEVBQUloQixRQUFRa0IsbUJBQ25CRixFQUFJaEIsUUFBUWtCLGFBQ1ZGLEdBQUtoQixVQUFVLGtCQUN4QmlCLEVBQWNELEVBQUloQixRQUFRLHVCQUNuQmdCLEVBQUloQixRQUFRLGlCQUVELEtBQWhCaUIsR0FBc0JELEVBQUloQixVQUM1QmdCLEVBQUloQixRQUFRLGdCQUFrQmlCLEdBRXpCRCxDQUNULEdBQ0ksNEJBQTZCanhCLEdBQVdBLEVBQVExRix3QkFDM0NnMkIsRUFBU2wyQixRQUFRcTJCLEdBRWpCSCxFQUFTbDJCLFFBQVFxMkIsR0FBS2oyQixLQUFLTCxHQUU1QnMyQixFQUFJQyxlQUNGLFNBQVUxd0IsRUFDUkEsRUFBUXV0QixLQUNIcHpCLEVBQUlPLFVBRGIsRUFJT2dELEtBQUt5dEIsVUFBVWh4QixFQUFJTyxNQUdyQlAsRUFBSU8sS0FJbkIsRUMxT0YsSUFBQTAyQixHQUFlLFFBTEFoNEIsTUFBT1MsSUFDcEJBLEVBQUk2TyxPQUFPc0QsUUFBUW5TLEVBQUk5RSxPQUNoQjhFLElDQ1QsTUFxQ013M0IsR0FBYSxDQUFDeDNCLEVBQWFoQixFQUFjOUMsS0FDN0MsTUFBTWtELEVBQVlMLEdBQWFDLEdBUy9CLE9BUktJLEVBQVVDLE9BQ08saUJBQVRuRCxFQUNUOEQsRUFBSTZOLElBQUluTCxLQUFLLGFBQWF4RyxrQkFFMUI4RCxFQUFJNk4sSUFBSW5MLEtBQUssd0JBRWYxQyxFQUFJNk4sSUFBSW5MLEtBQUssMEJBRVJ0RCxHQUdULElBQUFxNEIsR0FBZSxRQWxEQWw0QixNQUFPUyxJQUNwQixNQUFNMDNCLEVBQXNCMTNCLEVBQUk2TyxPQWlDaEMsYUFoQ00xTyxRQUFRZ1YsSUFDWm5WLEVBQUk5RSxNQUFNb1QsSUFBSS9PLE1BQU9sQyxFQUF1QmdWLEtBQzFDLElBQUl2RSxFQWFKLEdBWEVBLEVBREVwSSxPQUFPaXlCLFNBQVN0NkIsR0FDWCxDQUNMd0MsU0FBUyxFQUNUSCxPQUFRckMsRUFDUm9DLFNBQVUsR0FDVnJELFFBQVMsSUFFRm9DLEdBQU1uQixTQUNGMEMsR0FBVzFDLEVBQU0yQyxTQUVqQlYsR0FBVWpDLEdBRXJCeVEsRUFBS2pPLFNBQVdpTyxFQUFLcE8sT0FBUSxDQUMvQixNQUFNazRCLEVBQVVKLEdBQVd4M0IsRUFBSzhOLEVBQUtwTyxPQUFRckMsR0FDdkNqQixFQUFVMFIsRUFBSzFSLFNBQVd3N0IsRUFBUXg3QixTQUFXLE9BQ25EczdCLEVBQVFybEIsR0FBUyxDQUNmM1MsT0FBUW9PLEVBQUtwTyxPQUNiRCxTQUFVcU8sRUFBS3JPLFVBQVksR0FBRzB4QixJQUFRanBCLE9BQU8sdUJBQXVCOUwsSUFDcEU2QyxNQUFPMjRCLEVBQVEzNEIsTUFDZkMsT0FBUTA0QixFQUFRMTRCLE9BQ2hCOUMsUUFBUzBSLEVBQUsxUixRQUVsQixNQUNFNEQsRUFBSTZOLElBQUl6TSxNQUFNME0sRUFBS2hPLFdBS3pCRSxFQUFJNk8sT0FBUzZvQixFQUFRdEosT0FBTy93QixHQUFRQSxHQUM3QjJDLElDbkNULE1DQ002M0IsR0FBYyxDQUNsQjF5QixFQUNBMUYsRUFDQXE0QixFQUNBdDNCLEVBQ0E0MUIsRUFDQS9ELEVBQ0EwRixLQUFtQixDQUVuQnYzQixPQUFRQSxFQUFPc3JCLGNBQ2Y1eEIsSUFBSzQ5QixFQUNMMUIsUUFBUyxDQUNQaUIsWUFBYSxzQkFDYixhQUFjLGFBQ1hqQixHQUVMVyxTQUFVLENBQ1JnQixDQUFDQSxHQUFjLENBQ2JySyxNQUFPdm9CLEVBQ1BnQixRQUFTLENBQUU2eEIsU0FBVXY0QixPQUVwQjR5QixHQUVMcUIsTUFBTSxJQUdGMWYsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1pNEIsRUFBc0JqNEIsRUFBSXdOLFVBQWdDLHdCQUNoRSxJQUFLeXFCLEVBQXFCLE1BQU0sSUFBSW5uQixNQUFNLHFDQUUxQyxNQUFNb25CLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFDaEIsR0FBSTN6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU15RixFQUFRWixFQUFJN0UsU0FBVzZFLEVBQUlvUCxZQUFjak8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFVBQVksTUFDeEYsSUFBS3hPLEVBQU8sU0FFWixNQUFNZ3pCLEVBQWFOLEdBQ2pCMXlCLEVBQ0FaLEVBQUk5RSxTQUNKdzRCLEVBQW9CSCxTQUNwQkcsRUFBb0J6M0IsUUFBVSxPQUM5QnFELEtBQUtDLE1BQU1tMEIsRUFBb0I3QixTQUFXLE1BQzFDdnlCLEtBQUtDLE1BQU1tMEIsRUFBb0I1RixNQUFRLE1BQ3ZDNEYsRUFBb0JGLGFBQWUsUUFHckMsSUFBSTFGLFFBQWNyeUIsRUFBSU8sUUFBUTQzQixHQUM5QjlGLEVBQXVCLGlCQUFUQSxFQUFvQnh1QixLQUFLQyxNQUFNdXVCLEdBQVFBLEVBR3JELElBQUkrRixFQUFXL0YsRUFDZixNQUFNZ0csRUFBY0osRUFBb0JJLGFBQWUsV0FDdkQsSUFBSyxNQUFNcDZCLEtBQU9vNkIsRUFBWWo2QixNQUFNLEtBQU0sQ0FDeEMsSUFBSWc2QixHQUFnQyxpQkFBYkEsS0FBeUJuNkIsS0FBT202QixHQUVoRCxDQUNMQSxPQUFXbjdCLEVBQ1gsS0FDRixDQUpFbTdCLEVBQVdBLEVBQVNuNkIsRUFLeEIsQ0FFQSxJQUFJbTZCLEdBQWdDLGlCQUFiQSxFQWlCckIsTUFMQXA0QixFQUFJd1EsS0FBSy9ELEdBQWN3bkIsYUFBYyxDQUNuQzdCLE1BQU9weUIsRUFBSXNQLEtBQUt5WixVQUF1QixpQkFDdkNzSixLQUFNQSxFQUFLL3dCLFVBRWJrQixRQUFRcEIsTUFBTSwrQkFBZ0NpeEIsR0FDeEMsSUFBSXZoQixNQUFNdWhCLEVBQUsvd0IsU0FkckIsVUFGT2lELEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNQdTRCLEVBQW9CSyxRQUFTLENBQy9CLE1BQU03NEIsRUFBVzI0QixFQUFTaDZCLE1BQU0sS0FBS202QixPQUFTSCxFQUk5Q0EsR0FIZ0JILEVBQW9CSyxRQUFROVAsU0FBUyxLQUNqRHlQLEVBQW9CSyxRQUNwQkwsRUFBb0JLLFFBQVUsS0FDYjc0QixDQUN2QixDQUNBOEUsRUFBSW1RLE9BQVN1akIsRUFBb0JPLGFBQWVQLEVBQW9CTyxhQUFlSixFQUFXQSxDQVNsRyxDQUVGLE9BQU9wNEIsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU1ndEIsRUFBYWh0QixFQUFJd04sVUFBZ0MseUJBQTJCLENBQUEsRUFFNUVpckIsRUFBb0IsQ0FDeEI3MkIsRUFDQXpDLEVBQ0Fzc0IsRUFDQUMsR0FBb0IsRUFDcEJFLEtBQVksQ0FFWmhxQixPQUNBekMsT0FDQSxVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHdCQUF3Qm5uQixFQUFLa3FCLGdCQUN0RSxFQUNBLFNBQUlyQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFBd0JubkIsRUFBS2txQixnQkFDdEUsRUFDQSxXQUFJeHFCLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBQWdDbm5CLEVBQUtrcUIsZ0JBQzlFLEVBQ0F6QixRQUFTMkMsRUFBV3ByQixJQUF1QzZwQixFQUMzREMsY0FDR0UsSUFHTCxNQUFPLENBQ0w2TSxFQUFrQixXQUFZLFFBQVMsSUFBSSxHQUMzQ0EsRUFBa0IsU0FBVSxPQUFRLFFBQVEsRUFBTyxDQUFFck8sUUFBUyxDQUFDLE9BQVEsTUFBTyxTQUM5RXFPLEVBQWtCLGNBQWUsUUFBUyxRQUMxQ0EsRUFBa0IsVUFBVyxRQUFTLE1BQ3RDQSxFQUFrQixPQUFRLFFBQVMsTUFDbkNBLEVBQWtCLGVBQWdCLFFBQVMsSUFDM0NBLEVBQWtCLFVBQVcsUUFBUyxJQUN0Q0EsRUFBa0IsY0FBZSxRQUFTLGNDOUc5QyxNQXNCTVosR0FBYyxDQUFDMzlCLEVBQWF3K0IsRUFBZWo1QixFQUFrQkQsRUFBa0IyRixLQUM1RSxDQUNMM0UsT0FBUSxNQUNSdEcsSUFBSyxHQUFHQSxnQkFDUms4QixRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHNCLGNBQWVELEVBQ2YsWUFBYXJOLG1CQUFtQjdyQixJQUVsQ3UzQixTQUFVLENBQ1IvM0IsS0FBTSxDQUNKMHVCLE1BQU92b0IsRUFDUGdCLFFBQVMsQ0FDUDZ4QixTQUFVdjRCLEtBSWhCZ0IseUJBQXlCLElBSXZCbTRCLEdBQWlCLENBQUM1NEIsRUFBYU0sS0FDbkMsR0FBdUIsTUFBbkJBLEVBQUltMUIsWUFBd0MsTUFBbEJuMUIsRUFBSSt4QixLQUFLSCxNQUFxQyxZQUFyQjV4QixFQUFJK3hCLEtBQUsvd0IsUUFNOUQsTUFMQXRCLEVBQUl3USxLQUFLL0QsR0FBY3duQixhQUFjLENBQ25DN0IsTUFBT3B5QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN2Q3NKLEtBQU1yeUIsRUFBSXNQLEtBQUt5WixVQUF1Qiw4QkFDdENua0IsS0FBTXRFLEVBQUkreEIsS0FBSy93QixVQUVYLElBQUl3UCxNQUFNeFEsRUFBSSt4QixLQUFLL3dCLFVBSXZCdTNCLEdBQW1CLENBQUMzK0IsRUFBYXcrQixFQUFlckcsS0FBUyxDQUM3RDd4QixPQUFRLE9BQ1J0RyxNQUNBazhCLFFBQVMsQ0FDUHVDLGNBQWVELEVBQ2YsZUFBZ0Isb0JBRWxCckcsT0FDQTV4Qix5QkFBeUIsSUFHckJxNEIsR0FBaUJyMUIsSUFDckIsTUFBTXZKLElBQUVBLEVBQUd3K0IsTUFBRUEsRUFBS0ssU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY3oxQixFQUMzRSxNQUFPLENBQ0x2SixLQUFNQSxHQUFPLElBQUk2QyxRQUFRLE1BQU8sSUFDaEMyN0IsTUFBT0EsR0FBUyxHQUNoQkssU0FBVUEsR0FBWSxHQUN0QkMsU0FBVUEsR0FBWSxHQUN0QkMsV0FBWW5PLEdBQWlCLENBQzNCNXVCLEtBQU0rOEIsR0FBYyxHQUNwQmxPLFlBQVksRUFDWkMsVUFBVSxFQUNWQyxhQUFhLElBRWZxTixRQUFTQSxFQUNMeE4sR0FBaUIsQ0FDZjV1QixLQUFNbzhCLEdBQVcsR0FDakJ2TixZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsYUFBYSxJQUVmLEdBQ0ppTyxXQUFZQSxHQUFhLElBQUluOEIsUUFBUSxNQUFPLE1BSTFDaVgsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1tNUIsRUFBY241QixFQUFJd04sVUFBd0IscUJBQ2hELElBQUsyckIsRUFBYSxNQUFNLElBQUlyb0IsTUFBTSw4QkFFbEMsTUFBTTVXLElBQUVBLEVBQUc2K0IsU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY0osR0FBY0ssR0FDbEYsSUFBSVQsTUFBRUEsR0FBVUksR0FBY0ssR0FJOUIsR0FIS1QsSUFDSEEsT0FsR2tCbjVCLE9BQU9TLEVBQWE5RixFQUFhNitCLEVBQWtCQyxLQUN2RSxNQUFNSSxFQUFhcDVCLEVBQUl3TixVQUE0QixtQ0FDbkQsR0FBSTRyQixHQUFjQSxFQUFXQyxhQUFldjlCLEtBQUtELE1BQVF1OUIsRUFBV0MsWUFBYyxNQUFXRCxFQUFXVixNQUN0RyxPQUFPVSxFQUFXVixNQUVwQixNQUFNcDRCLFFBQVl5TixFQUFNdXJCLEtBQUssR0FBR3AvQixtQkFBc0IsQ0FDcEQ2K0IsV0FDQUMsYUFFRixHQUFzQixNQUFsQjE0QixFQUFJTyxLQUFLcXhCLE1BQXFDLFlBQXJCNXhCLEVBQUlPLEtBQUtTLFFBQXVCLENBQzNELE1BQU1vM0IsRUFBUXA0QixFQUFJTyxLQUFLQSxLQUFLNjNCLE1BTzVCLE9BTkExNEIsRUFBSXdQLFdBQVcsQ0FDYixrQ0FBbUMsQ0FDakNrcEIsUUFDQVcsWUFBYXY5QixLQUFLRCxTQUdmNjhCLENBQ1QsQ0FDQSxNQUFNLElBQUk1bkIsTUFBTSxxQkErRUF5b0IsQ0FBY3Y1QixFQUFLOUYsRUFBSzYrQixFQUFVQyxLQUU3QzkrQixLQUFTdytCLEdBQVVLLEdBQVlDLEdBQVksTUFBTSxJQUFJbG9CLE1BQU0sbUNBRWhFLE1BQU1vbkIsRUFBVWw0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBTzJ6QixFQUNoQixHQUFJM3pCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSW9QLGNBQ2hCeE8sRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFdBRXZDLE1BQU02bEIsRUFBaUIsR0FBR1AsSUFBYTEwQixFQUFJOUUsV0FDckMwNEIsRUFBYU4sR0FBWTM5QixFQUFLdytCLEVBQU9uMEIsRUFBSTlFLFNBQVUrNUIsRUFBZ0JyMEIsR0FDbkVzMEIsUUFBbUJ6NUIsRUFBSU8sUUFBUTQzQixHQUNyQ1MsR0FBZTU0QixFQUFLeTVCLEdBRXBCLE1BQU1DLFFBQW9CMTVCLEVBQUlPLFFBQzVCczRCLEdBQWlCLEdBQUczK0IsZ0JBQW1CdytCLEVBQU8sQ0FDNUNNLFNBQVUsR0FDVlcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsRUFDVDM5QixLQUFNQSxFQUFLbEMsUUFBUXcvQixNQUd2QlosR0FBZTU0QixFQUFLMDVCLEdBRXBCLE1BQU1JLFFBQW9COTVCLEVBQUlPLFFBQzVCczRCLEdBQWlCLEdBQUczK0IsZUFBa0J3K0IsRUFBTyxDQUMzQ00sU0FBVSxHQUNWOThCLEtBQU1zOUIsRUFDTkcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsS0FHYmpCLEdBQWU1NEIsRUFBSzg1QixHQUVwQixNQUFNQyxFQUFPRCxFQUFXekgsS0FBS3h4QixLQUFLazVCLEtBQzVCQyxFQUFjN08sR0FBVyxHQUFHbU4sR0FBV1csSUFBYTEwQixFQUFJOUUsWUFDOUQ4RSxFQUFJbVEsT0FBUyxHQUFHd2tCLEdBQWFoL0IsSUFBTWcvQixHQUFhQSxJQUFjaC9CLEVBQU0sR0FBSyxPQUFPOC9CLElBQ2hGejFCLEVBQUltUSxRQUFZd2tCLEdBQWFBLElBQWNoL0IsSUFBUTYvQixFQUF5QixHQUFsQixTQUFTQSxXQUM1RHgxQixFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsTUFDYixDQUVGLE9BQU9NLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQXdCLHNCQUF3QixDQUFBLEVBQ3ZFLE1BQU8sQ0FDTCtkLEdBQVl2ckIsRUFBSyxRQUFTLE1BQU8sUUFBU2d0QixFQUFXOXlCLEtBQU8sSUFBSSxPQUFNK0MsRUFBVyxDQUMvRSxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QiwyQkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFFBQVMsUUFBU2d0QixFQUFXMEwsT0FBUyxJQUFJLE9BQU96N0IsRUFBVyxDQUNwRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2QkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFdBQVksUUFBU2d0QixFQUFXK0wsVUFBWSxJQUFJLE9BQU85N0IsRUFBVyxDQUMxRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFdBQVksUUFBU2d0QixFQUFXZ00sVUFBWSxJQUFJLE9BQU8vN0IsRUFBVyxDQUMxRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLGFBQWMsUUFBU2d0QixFQUFXaU0sWUFBYyxJQUFJLE9BQU9oOEIsRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixtQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFVBQVcsUUFBU2d0QixFQUFXc0wsU0FBVyxJQUFJLE9BQU9yN0IsRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFlBQWEsUUFBU2d0QixFQUFXa00sV0FBYSxJQUFJLE9BQU9qOEIsRUFBVyxDQUM1RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixpQ0FDekMsTUM1TE4sTUFBTWtSLEdBQW9CLEtBQWMsSUFBSW4rQixNQUFPbytCLGNBRzdDQyxHQUFvQixDQUFDaDBCLEVBQXdCMUcsS0FDakQsTUFBTTI2QixFQUFPSCxLQUVQSSxFQUFhLFVBREZDLEVBQUtDLFFBQVE5NkIsSUFBYSwrQkFDRDI2QixPQUFVajBCLEVBQVFxMEIsVUFBVXIwQixFQUFRakssT0FBT3VELElBQy9FZzdCLEVBQVl0L0IsRUFBT3UvQixXQUFXLE9BQVF2MEIsRUFBUXcwQixpQkFBaUJ0L0IsT0FBT2cvQixHQUFZLytCLE9BQU8sVUFDL0YsTUFBTyxPQUFPNkssRUFBUXkwQixlQUFlSCxLQUdqQzVDLEdBQWMsQ0FDbEIxeEIsRUFDQTFHLEVBQ0FnN0IsRUFDQXQxQixLQUFhLENBRWIzRSxPQUFRLE1BQ1J0RyxJQUFLLFdBQVdpTSxFQUFRcTBCLFVBQVVyMEIsRUFBUTAwQixxQkFBcUIxUCxHQUFXLEdBQUdobEIsRUFBUWpLLE9BQU91RCxPQUM1RjIyQixRQUFTLENBQ1AwRSxLQUFNLEdBQUczMEIsRUFBUXEwQixVQUFVcjBCLEVBQVEwMEIsb0JBQ25DbEMsY0FBZThCLEVBQ2YzK0IsS0FBTW0rQixLQUNOLGVBQWdCSyxFQUFLQyxRQUFROTZCLElBQWEsNEJBRTVDNHlCLEtBQU1sdEIsRUFDTjFFLHlCQUF5QixJQUdyQnVULEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNKzZCLEVBQWdCLzZCLEVBQUl3TixVQUF5QixpQkFDbkQsSUFBS3V0QixFQUFlLE1BQU0sSUFBSWpxQixNQUFNLGdDQUVwQ2lxQixFQUFjNytCLEtBQU80dUIsR0FBaUIsQ0FBRTV1QixLQUFNNitCLEVBQWM3K0IsT0FDNUQsTUFBTW84QixFQUFVeE4sR0FBaUIsQ0FBRTV1QixLQUFNNitCLEVBQWN6QyxVQUV2RCxJQUNFLE1BQVF6cEIsT0FBUXFwQixHQUFZbDRCLEVBQ3RCazVCLEdBQWE2QixFQUFjN0IsV0FBYSxJQUFJbjhCLFFBQVEsTUFBTyxLQUMzRGIsS0FBRUEsRUFBSXMrQixPQUFFQSxFQUFNSyxLQUFFQSxFQUFNMTBCLFFBQVM2MEIsRUFBYSxJQUFPRCxFQUV6RCxJQUFLLE1BQU14MkIsS0FBTzJ6QixFQUNoQixHQUFJM3pCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTSs2QixFQUFZTixHQUFrQlksRUFBZXgyQixFQUFJOUUsVUFDakQwRixFQUFRWixFQUFJN0UsUUFBVWdHLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYyxVQUNwRHhOLEVBQVUweEIsR0FBWWtELEVBQWV4MkIsRUFBSTlFLFNBQVVnN0IsRUFBV3QxQixHQUdwRSxHQUF3QixhQUZMbkYsRUFBSU8sUUFBUTRGLElBRXRCc3ZCLFdBUVAsTUFBTSxJQUFJM2tCLE1BQU0saUJBUlcsUUFDcEJ2TSxFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWCxNQUFNczZCLEVBQWM3TyxHQUFXLEdBQUdtTixHQUFXcDhCLElBQU9xSSxFQUFJOUUsWUFDeEQ4RSxFQUFJbVEsT0FBU3drQixFQUNULEdBQUdBLEtBQWFjLElBQWNnQixJQUM5QixXQUFXUixLQUFVSyxrQkFBcUJiLElBQWNnQixHQUM5RCxDQUdGLENBRUYsT0FBT2g3QixDQUNULENBQUUsTUFBT215QixHQUtQLE1BSkFueUIsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTXJ5QixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUVsQ29KLENBQ1IsR0FHSTF1QixHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQXlCLGtCQUFvQixDQUFBLEVBQ3BFLE1BQU8sQ0FDTCtkLEdBQVl2ckIsRUFBSyxXQUFZLGNBQWUsUUFBU2d0QixFQUFXNE4sYUFBZSxJQUFJLEdBQ25GclAsR0FBWXZyQixFQUFLLFdBQVksa0JBQW1CLFFBQVNndEIsRUFBVzJOLGlCQUFtQixJQUFJLEdBQzNGcFAsR0FBWXZyQixFQUFLLFdBQVksU0FBVSxRQUFTZ3RCLEVBQVd3TixRQUFVLElBQUksR0FDekVqUCxHQUFZdnJCLEVBQUssV0FBWSxPQUFRLFFBQVNndEIsRUFBVzZOLE1BQVEsSUFBSSxPQUFNNTlCLEVBQVcsQ0FDcEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsK0JBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssV0FBWSxPQUFRLFFBQVNndEIsRUFBVzl3QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNyRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QiwrQkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxXQUFZLFVBQVcsUUFBU2d0QixFQUFXc0wsU0FBVyxJQUFJLE9BQU9yN0IsRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixrQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxXQUFZLFlBQWEsUUFBU2d0QixFQUFXa00sV0FBYSxJQUFJLE9BQU9qOEIsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixvQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxXQUFZLFVBQVcsUUFBU2d0QixFQUFXN21CLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixrQ0FDekMsTUNuR04sTUFBTWtTLEdBQ0piLEtBQ0F0c0IsS0FFQTJnQixjQUFnQixDQUNkLE9BQ0EsUUFDQSxNQUNBLFdBQ0EsV0FDQSxVQUNBLE1BQ0EsU0FDQSxjQUNBLE9BQ0EsU0FDQSxZQUNBLGVBR0YsV0FBQXZoQixDQUFZWSxHQUNWVixLQUFLZ3RCLEtBQU8sSUFBSXQrQixLQUNoQnNSLEtBQUtVLEtBQU9BLENBQ2QsQ0FFTyxJQUFBL1IsR0FDTCxNQUFPLEdBQUdxUixLQUFLZ3RCLEtBQUtwK0IsZUFDdEIsQ0FFTyxLQUFBay9CLEdBQ0wsT0FBUTl0QixLQUFLZ3RCLEtBQUs3OUIsV0FBYSxHQUFHdkIsV0FBVzZCLFNBQVMsRUFBRyxJQUMzRCxDQUVPLEdBQUFzK0IsR0FDTCxPQUFPL3RCLEtBQUtndEIsS0FBSzU5QixVQUFVeEIsV0FBVzZCLFNBQVMsRUFBRyxJQUNwRCxDQUVPLFFBQUFrMUIsR0FDTCxPQUFPM2tCLEtBQUtVLEtBQUtyTyxRQUNuQixDQUVPLFFBQUFBLEdBQ0wsT0FBUTJOLEtBQUtVLEtBQUtyTyxVQUFZLElBQUkxQyxRQUFRcVEsS0FBS1UsS0FBSzFSLFNBQVcsR0FBSSxHQUNyRSxDQUVPLE9BQUFnL0IsR0FDTCxPQUFRaHVCLEtBQUtVLEtBQUsxUixTQUFXLElBQUlXLFFBQVEsSUFBSyxHQUNoRCxDQUVPLEdBQUFzK0IsR0FDTCxPQUFPbGdDLEVBQU9DLFdBQVcsT0FBT0MsT0FBTytSLEtBQUtrdUIsYUFBY2hnQyxPQUFPLE1BQ25FLENBRU8sTUFBQWlnQyxHQUNMLE9BQU9wZ0MsRUFDSkMsV0FBVyxPQUNYQyxPQUFPK1IsS0FBS2t1QixhQUNaaGdDLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZkEsUUFBUSxNQUFPLEdBQ3BCLENBRU8sV0FBQXkrQixHQUNMLE9BQU9yZ0MsRUFDSkMsV0FBVyxPQUNYQyxPQUFPK1IsS0FBS2t1QixhQUNaaGdDLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZlQsTUFBTSxFQUFHLEVBQ2QsQ0FFTyxJQUFBbS9CLEdBQ0wsT0FBT3RnQyxFQUFPQyxXQUFXLFFBQVFDLE9BQU8rUixLQUFLa3VCLGFBQWNoZ0MsT0FBTyxNQUNwRSxDQUVPLE1BQUFvZ0MsR0FDTCxPQUFPdmdDLEVBQU9DLFdBQVcsVUFBVUMsT0FBTytSLEtBQUtrdUIsYUFBY2hnQyxPQUFPLE1BQ3RFLENBRU8sU0FBQXFnQyxHQUNMLE9BQU9qaEMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQU1iLFVBQ3ZDLENBRU8sV0FBQTRnQyxHQUNMLE9BQU85L0IsS0FBS0QsTUFBTWIsVUFDcEIsQ0FFUSxTQUFBc2dDLEdBQ04sT0FBT2x1QixLQUFLVSxLQUFLNkYsWUFBY3ZHLEtBQUtVLEtBQUs2RixZQUFjdkcsS0FBS1UsS0FBS3BPLE1BQ25FLEVBR0ksU0FBVW04QixHQUFXL3RCLEVBQWdCNUYsR0FDekMsSUFBS0EsRUFDSCxPQUFPNEYsRUFBS3JPLFNBR2QsTUFBTXE4QixFQUFvQixJQUFJYixHQUFrQm50QixHQUVoRCxJQUFJK3RCLEVBQXFCM3pCLEVBRXpCLElBQUssTUFBTWpLLEtBQU9nOUIsR0FBa0JjLE9BQVEsQ0FDMUMsTUFBTUMsRUFBSyxJQUFJcCtCLE9BQU8sSUFBSUssS0FBUSxLQUVsQzQ5QixFQUFhQSxFQUFXOStCLFFBQVFpL0IsRUFBSUYsRUFBa0I3OUIsS0FDeEQsQ0FFQSxPQUFPNDlCLENBQ1QsVUFrRGdCSSxHQUNkdlIsRUFDQXdSLEVBQ0EvRyxHQUVBLE1BQU1nSCxFQXJCUixTQUE0QmppQyxFQUFNLElBQ2hDLElBQUtBLEVBQUssTUFBTyxHQUVqQixJQUFLLGVBQWV1RSxLQUFLdkUsR0FBTSxDQUM3QixNQUFPODdCLEVBQU1FLEdBQVFoOEIsRUFBSWtFLE1BQU0sS0FDL0IsTUFBTyxVQUFVNDNCLEVBQUtqNUIsUUFBUSxZQUFhLGdCQUFnQm01QixHQUM3RCxDQUVBLElBQ0UsTUFBTUMsU0FBRUEsRUFBUUYsU0FBRUEsRUFBUUMsS0FBRUEsR0FBUyxJQUFJbDFCLEVBQUk5RyxHQUM3QyxNQUFPLEdBQUdpOEIsTUFBYUYsRUFBU2w1QixRQUFRLFlBQWEsZ0JBQWdCbTVCLEdBQ3ZFLENBQUUsTUFBT3QzQixHQUNQLE1BQU8sRUFDVCxDQUNGLENBT3dCdzlCLENBQW1CMVIsR0FDekMsSUFBS3lSLEVBQ0gsT0FZRixPQUFPLElBVE9ELEVBQWFHLEVBQWtCQyxHQUM3QixDQUNkQyxXQUFXLEVBQ1hDLGVBQWdCLElBQ2hCQyxXQUFZLE9BQ1p0SCxxQkFDQXpLLE1BQU95UixHQUlYLENDcEZBNThCLGVBQWVtOUIsR0FBV0MsRUFBNkJDLEVBQWNDLEdBQ25FLE1BQU1DLFFBQWtCQyxFQUN0QkosRUFBS0ssT0FDTCxJQUFJQyxFQUFpQixDQUNuQkMsT0FBUVAsRUFBS1EsV0FDYkMsSUFBS1QsRUFBS3pnQyxLQUNWbWhDLFFBQVNULEVBQ1RVLFVBQVdULElBRWIsQ0FBRVUsVUFBVyxPQUVUQyxFQUFZLElBQUl0akMsRUFBSThHLElBQUk4N0IsR0FFOUIsT0FEQVUsRUFBVUMsT0FBUyxHQUNaRCxFQUFVOUksSUFDbkIsQ0FFQSxJQUFBdmdCLEdBQWUsQ0FDYnVwQixlQWpHRixTQUF3QmYsR0FDdEIsSUFBSVQsR0FBYSxFQUNqQixJQUVFQSxFQUE0QixXQURsQixJQUFJaGlDLEVBQUk4RyxJQUFJMjdCLEVBQUs3RSxVQUNaM0IsUUFDakIsQ0FBRSxNQUFPLENBRVQsTUFBTXdILEVBQTBDLENBQUEsRUFDNUN6QixFQUNGeUIsRUFBZ0I3SSxXQUFhbUgsR0FBY1UsRUFBS2pTLE9BQU8sSUFBUWlTLEVBQUt4SCxvQkFFcEV3SSxFQUFnQkMsVUFBWTNCLEdBQWNVLEVBQUtqUyxPQUFPLElBQVNpUyxFQUFLeEgsb0JBR3RFLE1BQU0wSSxFQUFnQyxDQUNwQ0MsT0FBUW5CLEVBQUttQixRQUFVLE9BQ3ZCaEcsU0FBVTZFLEVBQUs3RSxlQUFZNzZCLEVBQzNCOGdDLFlBQWEsQ0FDWG5ELFlBQWErQixFQUFLcUIsWUFDbEJDLGdCQUFpQnRCLEVBQUtzQixpQkFFeEJDLElBQUtoQyxFQUNMaUMsZUFBZ0J4QixFQUFLeUIsZ0JBQ3JCQyxlQUFnQixJQUFJQyxFQUFnQlgsSUFHdEMsT0FBTyxJQUFJWSxFQUFTVixFQUN0QixFQXVFRVcsaUJBM0RGai9CLGVBQWdDbzlCLEdBQzlCLElBQUtBLEVBQUt0L0IsS0FBS3FDLFNBQVdpOUIsRUFBS3QvQixLQUFLc1csWUFDbEMsTUFBTSxJQUFJN0MsTUFBTSxtQkFFbEIsSUFDRSxNQUFNdWhCLEtBQUVBLEVBQUlnRixZQUFFQSxFQUFXb0gsZ0JBQUVBLFNEb0R4QmwvQixlQUEyQnVPLEdBS2hDLE1BQU15aUIsRUFJRixDQUFBLEVBRUosR0FBSXppQixFQUFLNkYsWUFBYSxDQUNwQixNQUFNMGUsRUFBT3ZrQixFQUFLNkYsWUFBWTVXLFFBQVEsdUJBQXdCLElBQzlEd3pCLEVBQU84RyxZQUFjdnBCLEVBQUs2RixZQUFZdlEsTUFBTSxnQ0FBZ0MsR0FDNUVtdEIsRUFBTzhCLEtBQU8zc0IsT0FBT0MsS0FBSzBzQixFQUFNLFVBQ2hDOUIsRUFBT2tPLGdCQUFrQixRQUMzQixNQUNNM3dCLEVBQUsxUixVQUNQbTBCLEVBQU84RyxZQUFjaUQsRUFBS0MsUUFBUXpzQixFQUFLMVIsZUFBWWEsR0FFckRzekIsRUFBTzhCLEtBQU92a0IsRUFBS3BPLE9BSXJCLElBQUs2d0IsRUFBTzhHLFlBQWEsQ0FDdkIsTUFBTXFILFFBQWlCQyxFQUFtQnBPLEVBQU84QixNQUNqRDlCLEVBQU84RyxZQUFjcUgsR0FBVXBFLElBQ2pDLENBRUEsT0FBTy9KLENBQ1QsQ0NsRnlEcU8sQ0FBWWpDLEVBQUt0L0IsTUFFaEV3c0IsRUFBVSxJQUFJZ1YsRUFBaUIsQ0FDbkMzQixPQUFRUCxFQUFLUSxXQUNiQyxJQUFLVCxFQUFLemdDLEtBQ1Y0aUMsSUFBS25DLEVBQUtvQyxJQUNWQyxLQUFNM00sRUFDTmlGLFlBQWFELEVBQ2I0SCxnQkFBaUJSLElBR2I1dkIsUUFBdUM4dEIsRUFBS0ssT0FBT2tDLEtBQUtyVixHQUU5RCxJQUFJM3ZCLEVBV0osT0FQRUEsRUFIR3lpQyxFQUFLd0MsVUFHRixHQUFHeEMsRUFBS3dDLGFBQWF4QyxFQUFLemdDLGFBRnBCd2dDLEdBQVdDLEVBQU05dEIsRUFBT3V3QixLQUFPdndCLEVBQU95dUIsV0FLaERYLEVBQUt4MkIsVUFDUGpNLEdBQU95aUMsRUFBS3gyQixRQUFROUUsV0FBVyxLQUFPczdCLEVBQUt4MkIsUUFBVSxJQUFJdzJCLEVBQUt4MkIsV0FHekQsQ0FDTGxJLElBQUswK0IsRUFBS3pnQyxLQUNWaEMsTUFDQW1sQyxPQUFRbmxDLEVBQ1IyaUMsVUFBV2h1QixFQUFPeXVCLFVBQ2xCVixLQUFNL3RCLEVBQU91d0IsS0FFakIsQ0FBRSxNQUFPak4sR0FDUCxPQUFPaHlCLFFBQVFFLE9BQU84eEIsRUFDeEIsQ0FDRixHQzlGQSxTQUFTbU4sR0FBK0JDLEdBQ3RDLE1BQXdDLGlCQUE3QkEsRUFDeUMsU0FBM0NBLEVBQXlCdHpCLGNBRTNCdXpCLFFBQVFELEVBQ2pCLENBRUEsTUFBTXZyQixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTWd0QixFQUFvQ2h0QixFQUFJd04sVUFBVSx1QkFDeEQsSUFBS3dmLEVBQVksTUFBTSxJQUFJbGMsTUFBTSxxQ0FDakMsSUFDRSxNQUFNeXVCLEVBQTJCRCxHQUErQnRTLEVBQVd1UywwQkFDM0UsSUFBSUosRUFBWW5TLEVBQVdtUyxVQUN2QkEsSUFDRkEsRUFBWUEsRUFBVXBpQyxRQUFRLE9BQVEsSUFDbENpd0IsRUFBV29SLGtCQUFvQm1CLElBQ2pDSixHQUFhLElBQU1uUyxFQUFXbVEsYUFHbEMsTUFBTUgsRUFBUzdvQixHQUFTdXBCLGVBQWUxUSxHQUNqQ2tMLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFBUyxDQUN6QixNQUFNdUgsUUFBYXRyQixHQUFTcXFCLGlCQUFpQixDQUMzQ3hCLFNBQ0FHLFdBQVluUSxFQUFXbVEsV0FDdkJqaEMsS0FBTTIvQixHQUFXdDNCLEVBQUt5b0IsRUFBV2lNLFlBQ2pDNTdCLEtBQU1rSCxFQUNOdzZCLElBQU0vUixFQUFXK1IsS0FBTyxjQUN4QkksWUFDQWg1QixRQUFTNm1CLEVBQVc3bUIsU0FBVyxZQUUxQjVCLEVBQUk3RSxjQUNKNkUsRUFBSW9QLFlBQ1hwUCxFQUFJbVEsT0FBUytxQixFQUFLSixPQUNsQjk2QixFQUFJckssSUFBTXVsQyxFQUFLdmxDLEdBQ2pCLENBRUEsT0FBTzhGLENBQ1QsQ0FBRSxNQUFPbXlCLEdBTVAsTUFMQW55QixFQUFJd1EsS0FBSy9ELEdBQWN3bkIsYUFBYyxDQUNuQzdCLE1BQU9weUIsRUFBSXNQLEtBQUt5WixVQUF1QixpQkFDdkNzSixLQUFNcnlCLEVBQUlzUCxLQUFLeVosVUFBdUIsOEJBQ3RDbmtCLEtBQU0sS0FFRnV0QixDQUNSLEdBR0kxdUIsR0FBVXpELElBVWQsSUFBSWd0QixFQUFhaHRCLEVBQUl3TixVQUFpQyx3QkFBMEIsQ0FBQSxFQUNoRndmLEVBQWEsQ0FUWGdSLFlBQWEsR0FDYkMsZ0JBQWlCLEdBQ2pCZCxXQUFZLEdBQ1psRSxXQUFZLGlDQUNabUYsaUJBQWlCLEVBQ2pCakosb0JBQW9CLEVBQ3BCNEosSUFBSyxpQkFHNkIvUixHQStNcEMsTUE5TWdDLENBQzlCLENBQ0VwckIsS0FBTSxjQUNOekMsS0FBTSxRQUNOa3JCLFFBQVMyQyxFQUFXZ1IsWUFDcEJ0UyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLGdDQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qix3Q0FDekMsR0FFRixDQUNFbm5CLEtBQU0sa0JBQ056QyxLQUFNLFFBQ05rckIsUUFBUzJDLEVBQVdpUixnQkFDcEJ2UyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIscUNBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLHFDQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2Q0FDekMsR0FFRixDQUNFbm5CLEtBQU0sYUFDTnpDLEtBQU0sUUFDTmtyQixRQUFTMkMsRUFBV21RLFdBQ3BCelIsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLDJCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QiwyQkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsbUNBQ3pDLEdBRUYsQ0FDRW5uQixLQUFNLGFBQ056QyxLQUFNLFFBQ05rckIsUUFBUzJDLEVBQVdpTSxXQUNwQnZOLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QiwrQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsK0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHVDQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxTQUNOekMsS0FBTSxRQUNOa3JCLFFBQVMyQyxFQUFXOFEsT0FDcEJwUyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsMkJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDJCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixtQ0FDekMsR0FFRixDQUNFbm5CLEtBQU0sV0FDTnpDLEtBQU0sUUFDTmtyQixRQUFTMkMsRUFBVzhLLFNBQ3BCcE0sVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLDZCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIscUNBQ3pDLEdBRUYsQ0FDRW5uQixLQUFNLFFBQ056QyxLQUFNLFFBQ05rckIsUUFBUzJDLEVBQVd0QyxNQUNwQmdCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QiwwQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsMEJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLGtDQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxZQUNOekMsS0FBTSxRQUNOa3JCLFFBQVMyQyxFQUFXbVMsVUFDcEJ6VCxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixzQ0FDekMsR0FFRixDQUNFbm5CLEtBQU0sVUFDTnpDLEtBQU0sUUFDTmtyQixRQUFTMkMsRUFBVzdtQixTQUFXLEdBQy9CdWxCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLG9DQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxrQkFDTnpDLEtBQU0sVUFDTmtyQixRQUFTMkMsRUFBV29SLGtCQUFtQixFQUN2QzFTLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixvQ0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0NBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDRDQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxxQkFDTnpDLEtBQU0sVUFDTmtyQixRQUFTMkMsRUFBV21JLHFCQUFzQixFQUMxQ3pKLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix1Q0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUNBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLCtDQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxNQUNOekMsS0FBTSxPQUNOa3JCLFFBQVMyQyxFQUFXK1IsS0FBTyxjQUMzQjNVLFFBQVMsQ0FDUCxVQUNBLGNBQ0Esb0JBQ0EscUJBQ0EsZ0JBQ0Esb0JBQ0EsNkJBRUZzQixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsR0FFRixDQUNFbm5CLEtBQU0sMkJBQ056QyxLQUFNLFVBQ05rckIsUUFBU2lWLEdBQStCdFMsRUFBV3VTLDRCQUE2QixFQUNoRjdULFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2Q0FDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsNkNBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHFEQUN6QyxLQ3pRTixTQUFTMlcsR0FBa0JDLEVBQWN6akMsRUFBY3VELEVBQWtCbWdDLEVBQWdCLElBQ3ZGLE1BQU8sZ0NBQWdDRCxjQUFpQnhVLEdBQVcsR0FBR2p2QixJQUFPdUQsT0FBY21nQyxHQUM3RixDQUVBLE1BQU0vSCxHQUFjLENBQUNwNEIsRUFBa0IwRyxFQUF3QnRGLEtBQzdELE1BQU02M0IsTUFBRUEsRUFBS2lILEtBQUVBLEdBQVN4NUIsRUFDbEJreEIsRUFBY2lELEVBQUtDLFFBQVE5NkIsSUFBYSwyQkFDOUMsTUFBTyxDQUNMZSxPQUFRLE1BQ1J0RyxJQUFLd2xDLEdBQWtCQyxFQUFNeDVCLEVBQVFqSyxLQUFNdUQsR0FDM0MyMkIsUUFBUyxDQUNQdUMsY0FBZSxTQUFTRCxJQUN4QixhQUFjLFVBQ2QsZUFBZ0JyQixHQUVsQmhGLEtBQU14eEIsRUFDTjZ5QixNQUFNLElBSUptTSxHQUFhLENBQUNwZ0MsRUFBa0IwRyxLQUNwQyxNQUFNdXlCLE1BQUVBLEVBQUtpSCxLQUFFQSxFQUFJRyxPQUFFQSxHQUFXMzVCLEVBQ2hDLE1BQU8sQ0FDTDNGLE9BQVEsTUFDUnRHLElBQUt3bEMsR0FBa0JDLEVBQU14NUIsRUFBUWpLLEtBQU11RCxFQUFVLFFBQVFxZ0MsS0FDN0QxSixRQUFTLENBQ1B1QyxjQUFlLFNBQVNELElBQ3hCLGFBQWMsV0FFaEJoRixNQUFNLElBSUoxZixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTSsvQixFQUFnQi8vQixFQUFJd04sVUFBeUIsaUJBQ25ELElBQUt1eUIsRUFBZSxNQUFNLElBQUlqdkIsTUFBTSw0QkFFcEMsTUFBTW1vQixFQUFhbk8sR0FBaUIsQ0FBRTV1QixLQUFNNmpDLEVBQWM3akMsT0FDcERvOEIsRUFBVXhOLEdBQWlCLENBQUU1dUIsS0FBTTZqQyxFQUFjekgsU0FBVyxLQUNsRXlILEVBQWM3akMsS0FBTys4QixFQUNyQjhHLEVBQWM3RyxXQUFhNkcsRUFBYzdHLFdBQWEsSUFBSW44QixRQUFRLE1BQU8sSUFDekUsSUFDRSxNQUFNbTdCLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFDaEIsR0FBSTN6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU1pVSxFQUFjcFAsRUFBSW9QLGFBQWVqTyxPQUFPQyxLQUFLcEIsRUFBSTdFLFFBQVExRSxTQUFTLFVBQ2xFNkYsRUFBTyxDQUNYUyxRQUFTLG9CQUNUdytCLE9BQVFDLEVBQWNELE9BQ3RCRSxRQUFTcnNCLEVBQ1R6WCxLQUFNKzhCLEVBQWFuNkIsVUFBVXlGLEVBQUk5RSxXQUU3QjA0QixFQUFhTixHQUFZdHpCLEVBQUk5RSxTQUFVc2dDLEVBQWVsL0IsR0FDNUQsSUFDRSxNQUFNd3hCLFFBS0lyeUIsRUFBSU8sUUFBUTQzQixHQUN0QixJQUFJOUYsRUFRRixNQUFNLElBQUl2aEIsTUFBTSx5Q0FQVHZNLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYNkUsRUFBSW1RLE9BQVNxckIsRUFBYzdHLFVBQ3ZCLEdBQUc2RyxFQUFjN0csYUFBYS9OLEdBQVcsR0FBR21OLEdBQVdXLElBQWExMEIsRUFBSTlFLGNBQ3hFNHlCLEVBQUsyTixRQUFRQyxhQUNqQjE3QixFQUFJMjdCLEtBQU83TixFQUFLMk4sUUFBUUcsR0FJNUIsQ0FBRSxNQUFPaE8sR0FDUCxHQUF1QixNQUFuQkEsRUFBSXNELFdBQW9CLE1BQU10RCxTQUMzQjV0QixFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsT0FDWCxNQUFNWSxRQUFhTixFQUFJTyxRQUFRcy9CLEdBQVd0N0IsRUFBSTlFLFNBQVVzZ0MsSUFDeEQsSUFBSTdpQyxPQUFPQyxLQUFLbUQsR0FBS2xHLE9BTW5CLE1BQU0rM0IsRUFMTjV0QixFQUFJMjdCLEtBQU81L0IsRUFBSTYvQixJQUNmNTdCLEVBQUltUSxPQUFTcXJCLEVBQWM3RyxVQUN2QixHQUFHNkcsRUFBYzdHLGFBQWEvTixHQUFXLEdBQUdtTixHQUFXVyxJQUFhMTBCLEVBQUk5RSxjQUN4RWEsRUFBSTIvQixZQUlaLENBQ0YsQ0FFRixPQUFPamdDLENBQ1QsQ0FBRSxNQUFPbXlCLEdBS1AsTUFKQW55QixFQUFJd1EsS0FBSy9ELEdBQWN3bkIsYUFBYyxDQUNuQzdCLE1BQU9weUIsRUFBSXNQLEtBQUt5WixVQUF1QixpQkFDdkNzSixLQUFNcnlCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBRWxDb0osQ0FDUixHQUdJMXVCLEdBQVV6RCxJQUNkLE1BQU1ndEIsRUFBYWh0QixFQUFJd04sVUFBeUIsa0JBQW9CLENBQUEsRUEwRnBFLE1BekZnQyxDQUM5QixDQUNFNUwsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIscUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLHFCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXMlMsTUFBUSxHQUM1QmpVLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sU0FDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHVCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix1QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsK0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzhTLFFBQVUsU0FDOUJwVSxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFFBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsc0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzBMLE9BQVMsR0FDN0JoTixVQUFVLEdBRVosQ0FDRTlwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDZCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc5d0IsTUFBUSxHQUM1Qnd2QixVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLGdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdzTCxTQUFXLEdBQy9CNU0sVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxZQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsMEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDBCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixrQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXa00sV0FBYSxHQUNqQ3hOLFVBQVUsS0MxTGhCLE1BR01tTSxHQUFjdDRCLE1BQ2xCUyxFQUNBbUcsRUFDQTFHLEVBQ0EyZ0MsS0FFQSxNQUFNQyxFQUFXbDZCLEVBQVFrNkIsVUFBWSxHQUMvQnRILEVBQVc1eUIsRUFBUTR5QixVQUFZLEdBQy9CdUgsRUFYa0IsQ0FBQ0EsR0FDekJBLEVBQWVBLEVBQVlqL0IsV0FBVyxVQUFZaS9CLEVBQWMsVUFBVUEsSUFBaUIsR0FVdkVDLENBQWtCcDZCLEVBQVFtNkIsYUFBZSxJQUN2REUsRUFBUXI2QixFQUFRcTZCLE9BQVMsR0FDL0IsSUFBSUMsRUFDSixHQUFJMUgsR0FBWXVILEVBQ2RHLEVBQWdCSCxNQUNYLEtBQUlELEVBR1QsTUFBTSxJQUFJdnZCLE1BQU0sdUNBRmhCMnZCLEVBQWdCLGFBQWFKLEdBRy9CLENBQ0EsTUFBTUssRUFBaUMsQ0FDckNsZ0MsT0FBUSxPQUNSdEcsSUFBSyxnQ0FDTGs4QixRQUFTLENBQ1B1QyxjQUFlOEgsRUFDZixlQUFnQixzQkFDaEIzRixLQUFNLGdCQUNOLGFBQWMsV0FFaEIvRCxTQUFVLENBQ1I1eEIsTUFBT2k3QixFQUNQamhDLEtBQU0sU0FDTnlDLEtBQU1uQyxFQUNOc3FCLFlBQWEsMEJBR2pCLEdBQUlnUCxHQUFZdUgsR0FBZUUsRUFBTyxDQUNwQyxJQUNJbGdDLEVBREFxZ0MsRUFBWSxFQUVaQyxFQUFZLEdBQ2hCLEVBQUcsQ0FDRCxNQUFNQyxFQUFzQyxDQUMxQ3JnQyxPQUFRLE1BQ1J0RyxJQUFLLG1DQUFtQzYrQixZQUFtQjRILElBQzNEdkssUUFBUyxDQUNQdUMsY0FBZThILEdBRWpCL00sTUFBTSxFQUNOanpCLHlCQUF5QixFQUN6QnFnQyxRQUFTLEtBTVgsR0FKSTM2QixFQUFRdWtCLFFBQ1ZtVyxFQUFvQm5XLE1BQVF2a0IsRUFBUXVrQixPQUV0Q3BxQixRQUFhTixFQUFJTyxRQUFRc2dDLEdBQ0EsTUFBbkJ2Z0MsRUFBSW0xQixhQUFzQm4xQixFQUFJK3hCLEtBQUt4eUIsUUFDdkMsTUFBTSxJQUFJaVIsTUFBTSxrQ0FFbEIsTUFBTWl3QixFQUFZemdDLEVBQUkreEIsS0FBS3h4QixLQUMzQixJQUFLLE1BQU14RCxLQUFRMGpDLEVBQ2pCLEdBQUkxakMsRUFBSyswQixRQUFVb08sRUFBTyxDQUN4QkksRUFBWXZqQyxFQUFLd3hCLEdBQ2pCLEtBQ0YsQ0FFRjhSLEdBQ0YsT0FBU3JnQyxFQUFJK3hCLEtBQUt4eEIsS0FBS3pHLE9BQVMsR0FDNUJ3bUMsR0FBYUYsRUFBZTNKLFdBQzlCMkosRUFBZTNKLFNBQVN5SixNQUFRSSxFQUVwQyxDQUlBLE9BSEl6NkIsRUFBUXVrQixRQUNWZ1csRUFBZWhXLE1BQVF2a0IsRUFBUXVrQixPQUUxQmdXLEdBR0gxc0IsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1naEMsRUFBZWhoQyxFQUFJd04sVUFBd0IsZ0JBQ2pELElBQUt3ekIsRUFBYyxNQUFNLElBQUlsd0IsTUFBTSwyQkFDbkMsSUFDRSxNQUFNb25CLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFDaEIsR0FBSTN6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU1pVSxFQUFjcFAsRUFBSW9QLGFBQWVqTyxPQUFPQyxLQUFLcEIsRUFBSTdFLFFBQVExRSxTQUFTLFVBQ2xFbUwsUUFBZ0IweEIsR0FBWTczQixFQUFLZ2hDLEVBQWN6OEIsRUFBSTlFLFNBQVVrVSxHQUM3RHJULFFBQW9CTixFQUFJTyxRQUFRNEYsR0FDaENrc0IsRUFBc0IsaUJBQVIveEIsRUFBbUJ1RCxLQUFLQyxNQUFNeEQsR0FBT0EsRUFDekQsSUFBSSt4QixFQUFLeHlCLFFBTVAsTUFBTSxJQUFJaVIsTUFBTSx5Q0FMVHZNLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYNkUsRUFBSW1RLE9BQVMyZCxFQUFLeHhCLEtBQUtvZ0MsS0FDdkIxOEIsRUFBSTI3QixLQUFPN04sRUFBS3h4QixLQUFLcWdDLFVBSXpCLENBRUYsT0FBT2xoQyxDQUNULENBQUUsTUFBT215QixHQU1QLE1BTEFueUIsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTXJ5QixFQUFJc1AsS0FBS3laLFVBQXVCLDhCQUN0Q25rQixLQUFNLHFDQUVGdXRCLEdBQUtxRCxVQUFVMzBCLE1BQVFzeEIsQ0FDL0IsR0FHSTF1QixHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQXdCLGlCQUFtQixDQUFBLEVBOEVsRSxNQTdFZ0MsQ0FDOUIsQ0FDRTVMLEtBQU0sV0FDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3FULFVBQVksR0FDaEMzVSxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLGdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVcrTCxVQUFZLEdBQ2hDck4sVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxjQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixvQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXc1QsYUFBZSxHQUNuQzVVLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsNkJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3dULE9BQVMsR0FDN0I5VSxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFFBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDZCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVd0QyxPQUFTLEdBQzdCZ0IsVUFBVSxLQ3JMaEIsTUFBTTFYLEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNbWhDLEVBQWNuaEMsRUFBSXdOLFVBQXdCLGdCQUNoRCxJQUFLMnpCLEVBQWEsTUFBTSxJQUFJcndCLE1BQU0sOEJBRWxDLE1BQU1tb0IsRUFBYWtJLEVBQVlqbEMsTUFBUSxHQUNqQ2c5QixHQUFhaUksRUFBWWpJLFdBQWEsSUFBSW44QixRQUFRLE1BQU8sSUFDekR1N0IsRUFBVXhOLEdBQWlCLENBQy9CNXVCLEtBQU1pbEMsRUFBWTdJLFNBQVN2N0IsUUFBUSxNQUFPLE9BRXRDbTdCLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFDaEIsR0FBSTN6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlvUCxjQUNoQnhPLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxXQUV2QyxJQUNFLE1BQU15dEIsRUFBY2xsQyxFQUFLckIsS0FBS21GLEVBQUlxTixRQUFTLFVBQVcsU0FDaERnMEIsRUFBa0JubEMsRUFBS3JCLEtBQUt1bUMsRUFBYTc4QixFQUFJOUUsVUFDN0M2aEMsRUFBaUJwbEMsRUFBS3JCLEtBQUtvK0IsRUFBWTEwQixFQUFJOUUsVUFDakQ4TixFQUFjclIsRUFBS2xDLFFBQVFzbkMsSUFDM0IvekIsRUFBY3JSLEVBQUtsQyxRQUFRcW5DLElBQzNCMWhDLEVBQUdxTyxjQUFjc3pCLEVBQWdCbjhCLEdBQ2pDeEYsRUFBRzRoQyxhQUFhRCxFQUFnQkQsVUFDekI5OEIsRUFBSW9QLG1CQUNKcFAsRUFBSTdFLE9BRVQ2RSxFQUFJbVEsT0FERndrQixFQUNXLEdBQUdBLEtBQWEvTixHQUFXLEdBQUdtTixJQUFVL3pCLEVBQUk5RSxjQUU1Q3ZELEVBQUtyQixLQUFLbytCLEVBQVkxMEIsRUFBSTlFLFVBRXpDOEUsRUFBSTI3QixLQUFPaGtDLEVBQUtyQixLQUFLbytCLEVBQVkxMEIsRUFBSTlFLFVBQ3JDOEUsRUFBSWk5QixZQUFjLGdDQUFnQ3JXLEdBQVc1bUIsRUFBSTlFLFVBQVUxQyxRQUFRLE1BQU8sS0FDNUYsQ0FBRSxNQUFPNkIsR0FLUCxNQUpBb0IsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTSwyQkFFRixJQUFJdmhCLE1BQU0seUJBQ2xCLENBQ0YsQ0FFRixPQUFPOVEsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU1ndEIsRUFBYWh0QixFQUFJd04sVUFBd0IsaUJBQW1CLENBQUEsRUFnRGxFLE1BL0NnQyxDQUM5QixDQUNFNUwsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc5d0IsTUFBUSxHQUM1QixXQUFJb0YsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsRUFDQTJDLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix5QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXa00sV0FBYSxHQUNqQyxXQUFJNTNCLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUNBQ3pDLEVBQ0EyQyxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix1QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3NMLFNBQVcsR0FDL0I1TSxVQUFVLEVBQ1YsV0FBSXBxQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLCtCQUN6QyxLQ3ZFTixNQUFNOE8sR0FBYyxDQUFDMXhCLEVBQXNCMUcsRUFBOEIwRixLQUN2RSxJQUFJNndCLEVBQU83dkIsRUFBUTZ2QixLQUNuQkEsRUFBT0EsRUFBS2o1QixRQUFRLE1BQU8sSUFDM0IsTUFBTTBrQyxFQUEyQixPQUFwQnQ3QixFQUFRc3BCLFFBQ2ZpSixFQUFRdnlCLEVBQVF1eUIsTUFFaEJnSixFQUFZLENBQ2hCLGVBQWdCLHNCQUNoQixhQUFjLFVBQ2RDLFdBQVksYUFDWmpKLE1BQU9BLFFBQVN6N0IsR0FFWjJrQyxFQUFhLENBQ2pCejhCLE1BQU8sQ0FDTHVvQixNQUFPdm9CLEVBQ1BnQixRQUFTLENBQ1A2eEIsU0FBVXY0QixJQUdkb2lDLElBQUssUUFHREMsRUFBWSxDQUNoQixlQUFnQixzQkFDaEIsYUFBYyxVQUNkSCxXQUFZLGFBQ1pJLE9BQVEsbUJBQ1JwSixjQUFlRCxRQUFTejdCLEdBRXBCK2tDLEVBQWE3N0IsRUFBUTY3QixXQUNyQkMsRUFBVTk3QixFQUFRODdCLFFBQ3hCLElBQUlDLEVBQWtCLzdCLEVBQVErN0IsV0FBV3hVLFdBQ3RCendCLElBQWZpbEMsSUFDRkEsRUFBYS83QixFQUFRKzdCLFlBRXZCLE1BQU1DLEVBQTBCLENBQzlCbmpDLEtBQU0sQ0FDSjB1QixNQUFPdm9CLEVBQ1BnQixRQUFTLENBQ1A2eEIsU0FBVXY0QixJQUdkb2lDLElBQUssT0FDTE8sWUFBYUosRUFDYkssU0FBVUosRUFDVkMsY0FFR0YsVUFDSUcsRUFBV0MsWUFFZkgsVUFDSUUsRUFBV0UsU0FFQyxJQUFmSCxHQUFtQyxJQUFmQSxVQUNqQkMsRUFBV0QsV0FNcEIsTUFBTyxDQUNMMWhDLE9BQVEsT0FDUnRHLElBQUt1bkMsRUFBTyxHQUFHekwsa0JBQXVCLEdBQUdBLGVBQ3pDc00sTUFObUIsSUFBSXZOLEVBQU1DLE1BQU0sQ0FDbkNHLG9CQUFvQixJQU1wQmlCLFFBQVNxTCxFQUFPSyxFQUFZSixFQUM1QjNLLFNBQVUwSyxFQUFPVSxFQUFhUCxJQUk1QjV0QixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTXVpQyxFQUFjdmlDLEVBQUl3TixVQUF1QixvQkFDL0MsSUFBSyswQixFQUFhLE1BQU0sSUFBSXp4QixNQUFNLG1DQUVsQyxNQUFNb25CLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFBUyxDQUN6QixJQUFJL3lCLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSW9QLGNBQ2hCeE8sRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFdBRXZDLE1BQU13a0IsRUFBYU4sR0FBWTBLLEVBQWFoK0IsRUFBSTlFLFNBQVUwRixHQUMxRCxJQUFJa3RCLFFBQWNyeUIsRUFBSU8sUUFBUTQzQixHQUM5QjlGLEVBQXVCLGlCQUFUQSxFQUFvQnh1QixLQUFLQyxNQUFNdXVCLEdBQVFBLEVBQ3JELE1BQU1vUCxFQUErQixPQUF4QmMsRUFBWTlTLFFBRXpCLEtBRGtCZ1MsR0FBdUIsSUFBaEJwUCxFQUFLcUQsT0FBZ0MsTUFBZHJELEVBQUtILE1BYW5ELE1BSkFseUIsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPLGdCQUNQQyxLQUFNQSxFQUFLL3dCLFVBRVAsSUFBSXdQLE1BQU11aEIsRUFBSy93QixnQkFYZGlELEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYNkUsRUFBSW1RLE9BQVMrc0IsRUFBT3BQLEVBQUt4eEIsS0FBSzJoQyxNQUFNdG9DLElBQU1tNEIsRUFBS3h4QixLQUFLM0csSUFDaER1bkMsSUFDRmw5QixFQUFJMjdCLEtBQU83TixFQUFLeHhCLEtBQUs1QyxJQVMzQixDQUNBLE9BQU8rQixHQUdIeUQsR0FBVXpELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUF1QixxQkFBdUIsQ0FBQSxFQXdHckUsTUF2R2dDLENBQzlCLENBQ0U1TCxLQUFNLFVBQ056QyxLQUFNLE9BQ05rckIsUUFBUzJDLEVBQVd5QyxTQUFXLEtBQy9CLFVBQUk1RCxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsc0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDhCQUN6QyxFQUNBcUIsUUFBUyxDQUFDLEtBQU0sTUFDaEJzQixVQUFVLEdBRVosQ0FDRTlwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixtQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsbUJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDJCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdnSixNQUFRLEdBQzVCdEssVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxRQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0JBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXMEwsTUFDcEJoTixVQUFVLEdBRVosQ0FDRTlwQixLQUFNLGFBQ056QyxLQUFNLFFBQ05rckIsUUFBUzJDLEVBQVdnVixXQUNwQnRXLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QiwwQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsMEJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLGtDQUN6QyxHQUVGLENBQ0VubkIsS0FBTSxVQUNOekMsS0FBTSxRQUNOa3JCLFFBQVMyQyxFQUFXaVYsUUFDcEJ2VyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLHVCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QiwrQkFDekMsR0FFRixDQUNFbm5CLEtBQU0sYUFDTnpDLEtBQU0sT0FDTmtyQixRQUFTMkMsRUFBV2tWLFlBQWMsbUJBQ2xDOVgsUUFBUyxDQUNQLENBQ0V4b0IsS0FBTSxtQkFDTjhyQixNQUFPLEdBRVQsQ0FDRTlyQixLQUFNLFNBQ044ckIsTUFBTyxJQUdYaEMsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix5QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUNBQ3pDLEtDbk9OLE1BQU04TyxHQUFjLENBQUMxeEIsRUFBeUIxRyxFQUFrQjBGLEtBQzlELE1BQU02d0IsS0FBRUEsRUFBTyxZQUFXRSxLQUFFQSxFQUFPLEdBQUV1TSxPQUFFQSxFQUFTLEdBQUVwVixXQUFFQSxFQUFhLFVBQVNxVixVQUFFQSxFQUFZLElBQU92OEIsRUFDekZ3OEIsRUFBTzNNLEVBQUs1eUIsTUFBTSw4QkFDbEIreUIsRUFBV0gsRUFBSzMwQixXQUFXLFlBQWMsV0FBYSxVQUN0RHVoQyxFQUFhNU0sRUFBS2o1QixRQUFRLHlCQUEwQixJQU0xRCxNQUFPLENBQ0x5RCxPQUFRLE9BQ1J0RyxJQUhVLEdBSEt5b0MsRUFDYixHQUFHeE0sSUFBV3lNLEtBRkUxTSxHQUFRLFVBR3hCLEdBQUdDLElBQVd5TSxJQUFhMU0sRUFBTyxJQUFJQSxJQUFTLDBCQUNON0ksSUFBYW9WLEVBQVMsV0FBV0EsSUFBVyxLQUFLQyxFQUFZLFFBQVFBLElBQWMsS0FJOUh0TSxRQUFTLENBQ1AsZUFBZ0IsdUJBRWxCVyxTQUFVLENBQ1IvM0IsS0FBTSxDQUNKMHVCLE1BQU92b0IsRUFDUGdCLFFBQVMsQ0FDUDZ4QixTQUFVdjRCLEVBQ1Y0M0IsWUFBYWlELEVBQUtDLFFBQVE5NkIsSUFBYSw4QkFJN0NnQix5QkFBeUIsSUFJdkJ1VCxHQUFTelUsTUFBT1MsSUFDcEIsTUFBTTZpQyxFQUFpQjdpQyxFQUFJd04sVUFBMEIsa0JBQ3JELElBQUtxMUIsRUFDSCxNQUFNLElBQUkveEIsTUFBTSw2QkFFbEIsSUFDRSxNQUFNb25CLEVBQVVsNEIsRUFBSTZPLE9BQ3BCLElBQUssTUFBTXRLLEtBQU8yekIsRUFDaEIsR0FBSTN6QixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlvUCxjQUNoQnhPLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxXQUV2QyxNQUFNeE4sRUFBVTB4QixHQUFZZ0wsRUFBZ0J0K0IsRUFBSTlFLFNBQVUwRixHQUVwRDdFLFFBQVlOLEVBQ2ZPLFFBQVE0RixHQUNSeEYsS0FBTUwsR0FBYUEsR0FDbkJpQixNQUFPNHdCLElBQ0MsQ0FDTHNELFdBQVksSUFDWnBELEtBQU0sQ0FDSjdkLElBQUt4VSxFQUFJc1AsS0FBS3laLFVBQXVCLGVBQ3JDb0osVUFJUixHQUF1QixNQUFuQjd4QixFQUFJbTFCLGFBQXNCbjFCLEVBQUkreEIsTUFBTXh5QixRQU10QyxNQUFNLElBQUlpUixNQUFNeFEsRUFBSSt4QixLQUFLL3dCLGdCQUxsQmlELEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYNkUsRUFBSW1RLE9BQVNwVSxFQUFJK3hCLEtBQUs5QixPQUFPLEdBQzdCaHNCLEVBQUl1K0IsV0FBYXhpQyxFQUFJK3hCLEtBQUt5USxXQUFheGlDLEVBQUkreEIsS0FBS3lRLFdBQVcsR0FBSyxFQUlwRSxDQUVGLE9BQU85aUMsQ0FDVCxDQUFFLE1BQU9teUIsR0FLUCxNQUpBbnlCLEVBQUl3USxLQUFLL0QsR0FBY3duQixhQUFjLENBQ25DN0IsTUFBT3B5QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN2Q3NKLEtBQU1yeUIsRUFBSXNQLEtBQUt5WixVQUF1QixvQkFFbENvSixDQUNSLEdBR0kxdUIsR0FBVXpELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUEwQixtQkFBcUIsQ0FBQSxFQStEdEUsTUE5RGdDLENBQzlCLENBQ0U1TCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsc0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2dKLE1BQVEsWUFDNUJ0SyxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsc0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tKLE1BQVEsTUFDNUJ4SyxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFNBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3lWLFFBQVUsR0FDOUIvVyxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV0ssWUFBYyxHQUNsQzNCLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXMFYsV0FBYSxHQUNqQ2hYLFVBQVUsS0N4SWhCLFNBQVNtTSxHQUFZMXhCLEVBQXVCMUcsRUFBa0JpNUIsRUFBZTBILEdBQzNFLE1BQU12RixFQWlCUixTQUFvQkEsR0FDbEIsTUFBZ0IsT0FBVEEsRUFBZ0IsR0FBSyxJQUFNQSxDQUNwQyxDQW5CZWtJLENBQVc1OEIsRUFBUTAwQixNQUFRLE1BQ2xDMytCLEVBQU9pSyxFQUFRakssTUFBUSxHQUs3QixNQUFPLENBQ0xzRSxPQUFRLE9BQ1J0RyxJQUFLLGdCQUFnQjJnQyw4QkFOQW4xQixPQUFPQyxLQUFLekosRUFBT3VELEVBQVUsU0FDakR6RSxTQUFTLFVBQ1QrQixRQUFRLE1BQU8sS0FDZkEsUUFBUSxNQUFPLE9BSWhCcTVCLFFBQVMsQ0FDUHVDLGNBQWUsV0FBV0QsSUFDMUIsZUFBZ0I0QixFQUFLQyxRQUFROTZCLElBQWEsNEJBRTVDNHlCLEtBQU0rTixFQUVWLENBTUEsU0FBUzRDLEdBQVNDLEdBQ2hCLE1BQU1DLEVBQVlELEVBQWFDLFVBQ3pCQyxFQUFZRixFQUFhRSxVQUN6QkMsRUFBTSxJQUFJNVcsR0FBTTZXLEtBQUsvbkMsT0FBT2dvQyxJQUFJSixFQUFXQyxHQUMzQ2g5QixFQUFVLENBQ2Q5RCxNQUFPNGdDLEVBQWF6SSxRQUd0QixPQURrQixJQUFJaE8sR0FBTStXLEdBQUdDLFVBQVVyOUIsR0FDeEJzOUIsWUFBWUwsRUFDL0IsQ0FFQSxNQUFNcHZCLEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNaWpDLEVBQWVqakMsRUFBSXdOLFVBQXdCLGdCQUNqRCxJQUFLeTFCLEVBQ0gsTUFBTSxJQUFJbnlCLE1BQU0sMkJBRWxCLElBQ0UsTUFBTW9uQixFQUFVbDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPMnpCLEVBQ2hCLEdBQUkzekIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNaVUsRUFBY3BQLEVBQUlvUCxhQUFlak8sT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRW1MLEVBQVUweEIsR0FBWW9MLEVBQWMxK0IsRUFBSTlFLFNBQVV1akMsR0FBU0MsR0FBZXR2QixHQUMxRXJULFFBQVlOLEVBQUlPLFFBQVE0RixHQUN4QmtzQixFQUFPeHVCLEtBQUtDLE1BQU14RCxHQUN4QixJQUFJK3hCLEdBQU1wMEIsSUFZUixNQUxBK0IsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTUEsRUFBSzdkLE1BRWJ4VSxFQUFJNk4sSUFBSXpNLE1BQU0sY0FBZWl4QixHQUN2QixJQUFJdmhCLE1BQU0saUJBWkgsUUFDTnZNLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYLE1BQU1na0MsRUFBVVQsRUFBYS9vQyxJQUN2QjhnQyxFQUFhaUksRUFBYTk4QixTQUFXLEdBQzNDNUIsRUFBSW1RLE9BQVMsR0FBR2d2QixLQUFXclIsRUFBS3AwQixNQUFnQis4QixHQUNsRCxDQVFGLENBRUYsT0FBT2g3QixDQUNULENBQUUsTUFBT215QixHQUNQLEdBQW9CLGtCQUFoQkEsRUFBSTd3QixTQUVGNndCLEVBQUlxRCxTQUFVLENBQ2hCLE1BQU1wMEIsRUFBUSt3QixFQUFJcUQsU0FBU25ELEtBQzNCcnlCLEVBQUl3USxLQUFLL0QsR0FBY3duQixhQUFjLENBQ25DN0IsTUFBT3B5QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN2Q3NKLEtBQU1qeEIsRUFBTUEsT0FFaEIsQ0FFRixNQUFNK3dCLENBQ1IsR0FHSTF1QixHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQXdCLGlCQUFtQixDQUFBLEVBbUdsRSxNQWxHZ0MsQ0FDOUIsQ0FDRTVMLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix5QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXa1csV0FBYSxHQUNqQ3hYLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix5QkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXbVcsV0FBYSxHQUNqQ3pYLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sU0FDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHNCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsRUFDQXNCLFFBQVMyQyxFQUFXd04sUUFBVSxHQUM5QjlPLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sTUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLG1CQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixtQkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsMkJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzl5QixLQUFPLEdBQzNCd3hCLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixvQkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzZOLE1BQVEsR0FDNUJuUCxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix1QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLCtCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc3bUIsU0FBVyxHQUMvQnVsQixVQUFVLEdBRVosQ0FDRTlwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1QixvQkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc5d0IsTUFBUSxHQUM1Qnd2QixVQUFVLEtDaExoQixNQUFNaVksR0FDSWxWLGdCQUNBdU8sT0FBUyxJQUFJNEcsR0FDckJDLGFBQWMsRUFFZCxXQUFBMzJCLEdBQXVCLENBRWhCLGtCQUFPNDJCLEdBSVosT0FIS0gsR0FBVWxOLFdBQ2JrTixHQUFVbE4sU0FBVyxJQUFJa04sSUFFcEJBLEdBQVVsTixRQUNuQixDQUVRLCtCQUFPc04sQ0FBeUI3bkMsR0FDdEMsT0FBT0EsRUFBS2EsUUFBUSxNQUFPLElBQzdCLENBRU8sYUFBTWluQyxDQUFRdmdDLEdBQ25CLE1BQU11eUIsS0FBRUEsRUFBSUUsS0FBRUEsRUFBSTZDLFNBQUVBLEVBQVFDLFNBQUVBLEVBQVFpTCxXQUFFQSxFQUFVQyxXQUFFQSxHQUFlemdDLEVBQzdEMGdDLEVBQW9CRixFQUN0QixDQUNFbEwsV0FDQXFMLGVBQWdCSCxFQUNoQkMsV0FBWUEsUUFBY2puQyxHQUU1QixDQUFFODdCLFdBQVVDLFlBQ2hCLFVBQ1E1ckIsS0FBSzR2QixPQUFPZ0gsUUFBUSxDQUN4QmhPLE9BQ0FFLEtBQU1qeUIsT0FBT2l5QixJQUFTLE1BQ25CaU8sSUFFTC8yQixLQUFLeTJCLGFBQWMsQ0FDckIsQ0FBRSxNQUFPMVIsR0FDUCxNQUFNLElBQUlyaEIsTUFBTXFoQixFQUNsQixDQUNGLENBRU8sWUFBTXZpQixDQUFPeWMsRUFBZWdZLEVBQWdCNWdDLEdBQ2pELElBQUsySixLQUFLeTJCLFlBQ1IsTUFBTSxJQUFJL3lCLE1BQU0sK0JBRWxCLElBQ0V1ekIsRUFBU1YsR0FBVUkseUJBQXlCTSxTQUN0Q2ozQixLQUFLazNCLE1BQU1wb0MsRUFBS2xDLFFBQVFxcUMsR0FBUXRuQyxRQUFRLGFBQWMsSUFBSzBHLFNBQzNEMkosS0FBSzR2QixPQUFPdUgsUUFBUWxZLEVBQU9nWSxHQUNqQyxNQUFNRyxFQUFXL2dDLEVBQU8rZ0MsVUFBWSxPQUNuQixTQUFiQSxTQUNJcDNCLEtBQUtxM0IsS0FBSyxTQUFTRCxNQUFhSCxLQUUxQyxDQUFFLE1BQU9sUyxHQUNQLE1BQU0sSUFBSXJoQixNQUFNcWhCLEVBQ2xCLENBQ0YsQ0FFUSxXQUFNbVMsQ0FBTUksRUFBaUJqaEMsR0FDbkMsSUFBSzJKLEtBQUs0dkIsT0FBTzZHLGNBQ2YsTUFBTSxJQUFJL3lCLE1BQU0sZ0NBRWxCLE1BQU02ekIsRUFBZ0JsaEMsRUFBT21oQyxTQUFXLE9BQ3hDLEdBQXNCLFNBQWxCRCxFQUEwQixDQUM1QixNQUFNRSxFQUFPSCxFQUFRdG1DLE1BQU0sS0FDM0IsSUFBSTBtQyxFQUFjLEdBQ2xCLElBQUssTUFBTUMsS0FBT0YsRUFDaEIsR0FBSUUsRUFBSyxDQUNQRCxHQUFlLElBQUlDLElBQ25CLE1BQU1DLEVBQVMsVUFBVUYsZUFBeUJILE1BQWtCRyxXQUM5RDEzQixLQUFLcTNCLEtBQUtPLEVBQ2xCLENBRUosS0FBTyxDQUNMLE1BQU1BLEVBQVMscUJBQXFCTixXQUM5QnQzQixLQUFLcTNCLEtBQUtPLEVBQ2xCLENBQ0YsQ0FFTyxXQUFNQyxDQUFNWixFQUFnQmEsRUFBY0MsR0FDL0NkLEVBQVNWLEdBQVVJLHlCQUF5Qk0sR0FDNUMsTUFBT2UsRUFBT0MsR0FBVUYsRUFBUSxDQUFDRCxFQUFNQyxHQUFTRCxFQUFLNW5DLFNBQVMsS0FBTzRuQyxFQUFLOW1DLE1BQU0sS0FBTyxDQUFDOG1DLEVBQU1BLFNBRXhGOTNCLEtBQUtxM0IsS0FBSyxTQUFTVyxLQUFTQyxNQUFXaEIsS0FDL0MsQ0FFUSxVQUFNSSxDQUFLTyxHQUVqQixPQUEyQixXQURGNTNCLEtBQUs0dkIsT0FBTy9LLFlBQVkrUyxJQUMvQjlTLElBQ3BCLENBRU8sS0FBQW9ULEdBQ0xsNEIsS0FBSzR2QixPQUFPdUksVUFDWm40QixLQUFLeTJCLGFBQWMsQ0FDckIsRUN6RkYsTUFBTTd2QixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTXdsQyxFQUFrQnhsQyxFQUFJd04sVUFBNEIsb0JBQ3hELElBQUtnNEIsRUFDSCxNQUFNLElBQUkxMEIsTUFBTSxrQ0FFbEIwMEIsRUFBZ0J0UCxLQUFPanlCLE9BQU91aEMsRUFBZ0J0UCxPQUFTLElBQ25Ec1AsRUFBZ0J0UCxLQUFPLEdBQUtzUCxFQUFnQnRQLEtBQU8sU0FDckRzUCxFQUFnQnRQLEtBQU8sSUFFekJzUCxFQUFnQnZNLFdBQWFuTyxHQUFpQixDQUM1QzV1QixLQUFNc3BDLEVBQWdCdk0sV0FDdEJoTyxhQUFhLElBRWYsTUFBTXFOLEVBQVV4TixHQUFpQixDQUMvQjV1QixLQUFNc3BDLEVBQWdCbE4sUUFDdEJyTixhQUFhLElBRWYsSUFDRSxNQUFNaU4sRUFBVWw0QixFQUFJNk8sT0FDcEIsSUFBSyxNQUFNdEssS0FBTzJ6QixFQUNoQixHQUFJM3pCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSW9QLGNBQ2hCeE8sRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFdBRXZDLE1BQU04eEIsRUFBaUJ2cEMsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBUyxjQUN4Qyt6QixFQUFjbGxDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVMsVUFBVyxhQUN0REUsRUFBYzZ6QixHQUNkLE1BQU1wdkIsRUFBZTlWLEVBQUtyQixLQUFLNHFDLEVBQWdCbGhDLEVBQUk5RSxVQUNuRDhOLEVBQWNyUixFQUFLbEMsUUFBUWdZLElBQzNCMHpCLEVBQWUxekIsRUFBYzdNLEdBQzdCLE1BQU02M0IsRUFBUzJHLEdBQVVHLG9CQUNuQjlHLEVBQU9nSCxRQUFRd0IsR0FDckIsTUFBTUcsRUFBYXpwQyxFQUFLckIsS0FBSyxJQUFJMnFDLEVBQWdCdk0sYUFBYWw4QixRQUFRLFNBQVUsS0FBTXdILEVBQUk5RSxnQkFDcEZ1OUIsRUFBT3B0QixPQUFPb0MsRUFBYzJ6QixFQUFZSCxHQUM5Q0EsRUFBZ0JJLGdCQUFtQjVJLEVBQU9pSSxNQUFNVSxFQUFZSCxFQUFnQkksaUJBQ3JFcmhDLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUNYLE1BQU1na0MsRUFBVThCLEVBQWdCdE0sV0FBYXNNLEVBQWdCeFAsS0FDekR3UCxFQUFnQmxOLFFBQ2xCL3pCLEVBQUltUSxPQUFTLEdBQUdndkIsS0FBV3ZZLEdBQVcsR0FBZSxNQUFabU4sRUFBa0IsR0FBS0EsSUFBVS96QixFQUFJOUUsY0FFOUU4RSxFQUFJbVEsT0FBUyxHQUFHZ3ZCLEtBQVd2WSxHQUFXLEdBQWtDLE1BQS9CcWEsRUFBZ0J2TSxXQUFxQixHQUFLdU0sRUFBZ0J2TSxhQUFhMTBCLEVBQUk5RSxjQUV0SCxNQUFNb21DLEVBQWtCM3BDLEVBQUtyQixLQUFLdW1DLEVBQWE3OEIsRUFBSTlFLFVBQ25EOE4sRUFBY3JSLEVBQUtsQyxRQUFRNnJDLElBQzNCQyxFQUFXRCxHQUNYRSxFQUFTL3pCLEVBQWM5VixFQUFLckIsS0FBS3VtQyxFQUFhNzhCLEVBQUk5RSxXQUNsRDhFLEVBQUlpOUIsWUFBYyxvQ0FBb0NuVyxtQkFBbUI5bUIsRUFBSTlFLFlBQzdFdTlCLEVBQU9zSSxPQUNULENBRUYsT0FBT3RsQyxDQUNULENBQUUsTUFBT215QixHQUtQLE1BSkFueUIsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTXJ5QixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUVsQ29KLENBQ1IsR0FHSTF1QixHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQTRCLHFCQUF1QixDQUFBLEVBaUwxRSxNQWhMZ0MsQ0FDOUIsQ0FDRTVMLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2dKLE1BQVEsR0FDNUJ0SyxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLGdDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdrSixNQUFRLEdBQzVCeEssVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVcrTCxVQUFZLEdBQ2hDck4sVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdnTSxVQUFZLEdBQ2hDdE4sVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxhQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixzQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXaVgsWUFBYyxHQUNsQ3ZZLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sYUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLHlDQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qix5Q0FDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsaURBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV2tYLFlBQWMsR0FDbEN4WSxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qiw4QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsOEJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHNDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVdpTSxZQUFjLEdBQ2xDdk4sVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxZQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixxQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXa00sV0FBYSxHQUNqQ3hOLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLGdDQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsd0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBV3NMLFNBQVcsR0FDL0I1TSxVQUFVLEdBRVosQ0FDRTlwQixLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSTBzQixHQUNGLE9BQU83ckIsRUFBSXNQLEtBQUt5WixVQUF1Qiw2QkFDekMsRUFDQSxTQUFJMEIsR0FDRixPQUFPenFCLEVBQUlzUCxLQUFLeVosVUFBdUIsNkJBQ3pDLEVBQ0EsV0FBSXpuQixHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHFDQUN6QyxFQUNBc0IsUUFBUzJDLEVBQVc0WSxVQUFZLEdBQ2hDbGEsVUFBVSxHQUVaLENBQ0U5cEIsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkwc0IsR0FDRixPQUFPN3JCLEVBQUlzUCxLQUFLeVosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTBCLEdBQ0YsT0FBT3pxQixFQUFJc1AsS0FBS3laLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUl6bkIsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixxQ0FDekMsRUFDQXNCLFFBQVMyQyxFQUFXd1gsVUFBWSxHQUNoQzlZLFVBQVUsR0FFWixDQUNFOXBCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJMHNCLEdBQ0YsT0FBTzdyQixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUkwQixHQUNGLE9BQU96cUIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJem5CLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0NBQ3pDLEVBQ0FzQixRQUFTMkMsRUFBVzRYLFNBQVcsR0FDL0JsWixVQUFVLEtDaFBoQixNQUFNbU0sR0FBYyxDQUFDcDRCLEVBQWtCMEYsRUFBZTZnQyxFQUFrQkMsRUFBUyxNQUN4RSxDQUNMemxDLE9BQVEsT0FDUnRHLElBQUssV0FBVytyQyxrQkFDaEI3UCxRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHNCLGNBQWVxTixHQUVqQmpQLFNBQVUsQ0FDUm1QLE9BQVEsQ0FDTnhZLE1BQU92b0IsRUFDUGdCLFFBQVMsQ0FBRTZ4QixTQUFVdjRCLElBRXZCb2lDLElBQUssVUFLTDd0QixHQUFTelUsTUFBT1MsSUFDcEIsTUFBTW1tQyxFQUFhbm1DLEVBQUl3TixVQUF1QixlQUM5QyxJQUFLMjRCLEdBQVl6TixPQUFPbnFCLE9BQ3RCLE1BQU0sSUFBSXVDLE1BQU0sNEJBRWxCLE1BQU1tMUIsR0FBVUUsRUFBV0MsY0FBZ0IsU0FBU3JwQyxRQUFRLGVBQWdCLElBQUlBLFFBQVEsTUFBTyxJQUV6Rm03QixFQUFVbDRCLEVBQUk2TyxPQUNwQixJQUFLLE1BQU10SyxLQUFPMnpCLEVBQVMsQ0FDekIsSUFBSzN6QixFQUFJOUUsU0FBVSxTQUVuQixNQUFNNG1DLEVBQWM5aEMsRUFBSTdFLFNBQVc2RSxFQUFJb1AsWUFBY2pPLE9BQU9DLEtBQUtwQixFQUFJb1AsWUFBYSxlQUFZMVcsR0FDOUYsSUFBS29wQyxFQUFhLFNBRWxCLE1BQU1sTyxFQUFhTixHQUFZdHpCLEVBQUk5RSxTQUFVNG1DLEVBQWFGLEVBQVd6TixNQUFPdU4sR0FDdEUzbEMsUUFBb0JOLEVBQUlPLFFBQVE0M0IsR0FDaEM5RixFQUFPeHVCLEtBQUtDLE1BQU14RCxHQUV4QixHQUFrQixZQUFkK3hCLEVBQUtILEtBQ1AzdEIsRUFBSW1RLE9BQVMyZCxFQUFLeHhCLEtBQUszRyxJQUN2QnFLLEVBQUkyN0IsS0FBTzdOLEVBQUt4eEIsS0FBS3EvQixTQUNoQixJQUFrQixtQkFBZDdOLEVBQUtILE1BQW9ELGlCQUFoQkcsRUFBS2lVLE9BV2xELENBQ0wsTUFBTUMsRUFBV2xVLEVBQUsvd0IsU0FBVyxnQkFLakMsTUFKQXRCLEVBQUl3USxLQUFLL0QsR0FBY3duQixhQUFjLENBQ25DN0IsTUFBT3B5QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN2Q3NKLEtBQU1rVSxJQUVGLElBQUl6MUIsTUFBTXkxQixFQUNsQixDQWpCRWhpQyxFQUFJbVEsT0FBUzJkLEVBQUtpVSxPQUNsQixJQUNFLE1BQU1FLFFBQXNCejRCLEVBQU01TSxJQUFJLFdBQVc4a0MsMEJBQWdDLENBQy9FN1AsUUFBUyxDQUFFdUMsY0FBZXdOLEVBQVd6TixTQUVqQytOLEVBQWVELEVBQWMzbEMsTUFBTUEsTUFBTTZsQyxLQUFNdmhDLEdBQWVBLEVBQU1qTCxNQUFRbTRCLEVBQUtpVSxRQUNuRkcsSUFBY2xpQyxFQUFJMjdCLEtBQU91RyxFQUFhdkcsS0FDNUMsQ0FBRSxNQUVGLENBUUYsUUFFTzM3QixFQUFJb1AsbUJBQ0pwUCxFQUFJN0UsTUFDYixDQUNBLE9BQU9NLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNZ3RCLEVBQWFodEIsRUFBSXdOLFVBQXVCLGdCQUFrQixDQUFBLEVBQ2hFLE1BQU8sQ0FDTCtkLEdBQVl2ckIsRUFBSyxPQUFRLFFBQVMsUUFBU2d0QixFQUFXMEwsT0FBUyxJQUFJLE9BQU16N0IsRUFBVyxDQUNsRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qiw0QkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxPQUFRLGVBQWdCLFFBQVNndEIsRUFBV29aLGNBQWdCLElBQUksT0FBT25wQyxFQUFXLENBQ2pHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLG9DQUN6QyxNQ3BFTixNQUFNb1IsR0FBb0IsQ0FBQ2gwQixFQUF1QjFHLEtBQ2hELE1BQU1rbkMsU0FBRUEsRUFBUXhELFVBQUVBLEVBQVN5RCxNQUFFQSxFQUFLcE0sT0FBRUEsRUFBTS9LLFFBQUVBLEVBQU9vTCxLQUFFQSxFQUFJL0MsU0FBRUEsRUFBUTU3QixLQUFFQSxHQUFTaUssRUFHOUUsSUFBSXMwQixFQUNBb00sRUFBVyxHQUVmLElBTGNwWCxHQUF1QixPQUFaQSxFQUtmLENBQ1IsTUFBTTkwQixFQUFTRCxLQUFLc00sTUFBc0IsS0FBaEJ0TSxLQUFLQyxVQUN6Qm1zQyxFQUFVcHNDLEtBQUtzTSxNQUFNbEwsS0FBS0QsTUFBUSxLQUFRLEVBRTFDa3JDLEVBQWlCLEtBQUtILE9BQVdwTSxPQUFZbU0sT0FEbkNHLEVBQVUsVUFDb0RBLE9BQWFuc0MsT0FFckZxc0MsRUFBYTdyQyxFQUFPdS9CLFdBQVcsT0FBUXlJLEdBQVc5bkMsT0FBTzByQyxHQUFnQnpyQyxTQUN6RTJyQyxFQUFhdmhDLE9BQU9ndEIsT0FBTyxDQUFDc1UsRUFBWXRoQyxPQUFPQyxLQUFLb2hDLEtBQzFEdE0sRUFBWS8wQixPQUFPQyxLQUFLc2hDLEdBQVlqc0MsU0FBUyxTQUMvQyxLQUFPLENBQ0wsTUFBTWtzQyxFQUFReHNDLEtBQUtzTSxNQUFNbEwsS0FBS0QsTUFBUSxLQUN0Q2dyQyxFQUFXLEdBQUdLLEtBQVNBLEVBQVEsUUFDL0IsTUFBTUMsRUFBVWhzQyxFQUFPdS9CLFdBQVcsT0FBUXlJLEdBQVc5bkMsT0FBT3dyQyxHQUFVdnJDLE9BQU8sT0FFdkU4ckMsRUFBYSxTQUFTbHJDLElBQU91RCxhQUFvQis2QixLQUFVMUMsR0FEekMsT0FBTytDLHFCQUd6QndNLEVBQWUsU0FBU1IsTUFETDFyQyxFQUFPQyxXQUFXLFFBQVFDLE9BQU8rckMsR0FBWTlyQyxPQUFPLFdBRTdFbS9CLEVBQVl0L0IsRUFBT3UvQixXQUFXLE9BQVF5TSxHQUFTOXJDLE9BQU9nc0MsR0FBYy9yQyxPQUFPLE1BQzdFLENBRUEsTUFBTyxDQUFFbS9CLFlBQVdtTSxRQUFPcE0sU0FBUXFNLGFBRy9CaFAsR0FBYyxDQUNsQjF4QixFQUNBMUcsRUFDQWc3QixFQUNBdDFCLEVBQ0FzcUIsS0FFQSxNQUFNb0wsS0FBRUEsRUFBSTMrQixLQUFFQSxFQUFJcytCLE9BQUVBLEVBQU0xQyxTQUFFQSxFQUFRNk8sU0FBRUEsR0FBYXhnQyxFQUU3Q21oQyxFQUFZLFNBQVM3WCxjQUUzQixJQUhjdHBCLEVBQVFzcEIsU0FBK0IsT0FBcEJ0cEIsRUFBUXNwQixRQUl2QyxNQUFPLENBQ0xqdkIsT0FBUSxPQUNSdEcsSUFBSyxVQUFVMmdDLGdDQUFtQ0osRUFBVW1NLFNBQVNuTSxFQUFVRCxVQUFVMTdCLFVBQVU1QyxLQUFRdUQsSUFDM0cyMkIsUUFBUyxDQUNQMEUsS0FBTSxHQUFHRCxzQkFDVGxDLGNBQWU4QixFQUFVQSxVQUN6QnBELFlBQWEsc0JBQ2IsYUFBY2lRLEdBRWhCdlEsU0FBVSxDQUFFd1EsR0FBSSxTQUFVQyxZQUFhcmlDLEdBQ3ZDMUUseUJBQXlCLEdBSTdCLE1BQ011MUIsRUFBTyxHQUFHd0UsS0FBVTFDLEdBREYsT0FBTytDLG1CQUUvQixNQUFPLENBQ0xyNkIsT0FBUSxNQUNSdEcsSUFBSyxVQUFVODdCLEtBQVE3SyxHQUFXLEdBQUdqdkIsSUFBT3VELE9BQzVDMjJCLFFBQVMsQ0FDUDBFLEtBQU05RSxFQUNOMkMsY0FBZSw4QkFBOEJnTyxpQkFBd0JsTSxFQUFVb00sdUJBQXVCcE0sRUFBVW9NLDZEQUE2RHBNLEVBQVVBLFlBQ3ZMcEQsWUFBYWlELEVBQUtDLFFBQVE5NkIsSUFBYSwyQkFDdkMsYUFBYzZuQyxHQUVoQmpWLEtBQU1sdEIsRUFDTjFFLHlCQUF5QixJQUl2QnVULEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNeW5DLEVBQWV6bkMsRUFBSXdOLFVBQXdCLGdCQUNqRCxJQUFLaTZCLEVBQWMsTUFBTSxJQUFJMzJCLE1BQU0saUNBRW5DLElBQ0UsTUFBTW9uQixFQUFVbDRCLEVBQUk2TyxPQUNkcXFCLEdBQWF1TyxFQUFhdk8sV0FBYSxJQUFJbjhCLFFBQVEsTUFBTyxJQUMxRGIsRUFBTzR1QixHQUFpQixDQUFFNXVCLEtBQU11ckMsRUFBYXZyQyxPQUM3Q284QixFQUFVeE4sR0FBaUIsQ0FBRTV1QixLQUFNdXJDLEVBQWFuUCxVQUN0RG1QLEVBQWF2ckMsS0FBT0EsRUFDcEIsTUFBTXdyQyxHQUFTRCxFQUFhaFksU0FBb0MsT0FBekJnWSxFQUFhaFksUUFFcEQsSUFBSyxNQUFNbHJCLEtBQU8yekIsRUFBUyxDQUN6QixJQUFLM3pCLEVBQUk5RSxXQUFhOEUsRUFBSTdFLE9BQVEsU0FFbEMsTUFBTSs2QixFQUFZTixHQUFrQnNOLEVBQWNsakMsRUFBSTlFLFVBQ2hEMEYsRUFBUVosRUFBSTdFLFFBQVVnRyxPQUFPQyxLQUFLcEIsRUFBSW9QLFlBQWMsVUFDcER4TixFQUFVMHhCLEdBQVk0UCxFQUFjbGpDLEVBQUk5RSxTQUFVZzdCLEVBQVd0MUIsRUFBT25GLEVBQUlxUCxhQUFlclAsRUFBSW9QLFNBRTNGOU8sUUFBWU4sRUFBSU8sUUFBUTRGLEdBQVM1RSxNQUFPNHdCLElBQVUsQ0FDdERzRCxXQUFZLElBQ1pwRCxLQUFNLENBQUU3ZCxJQUFLeFUsRUFBSXNQLEtBQUt5WixVQUF1QixlQUFnQm9KLFVBR3pERSxFQUFPcVYsR0FBd0IsaUJBQVJwbkMsRUFBbUJ1RCxLQUFLQyxNQUFNeEQsR0FBT0EsRUFFbEUsR0FBd0IsTUFBcEIreEIsRUFBS29ELFdBQ1AsTUFBTXBELEdBQU1BLE1BQU1GLEtBQU8sSUFBSXJoQixNQUFNdWhCLEdBQU1BLE1BQU03ZCxLQUFPNmQsR0FBTUEsTUFBTS93QixTQUdwRSxNQUFNcW1DLEVBQVlGLEVBQWF0aEMsU0FBVyxHQUNwQ3loQyxJQUFTSCxFQUFhRyxLQUs1QixVQUhPcmpDLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUVQZ29DLEdBQTBCLFlBQWpCclYsRUFBSy93QixRQUNoQmlELEVBQUltUSxPQUFTd2tCLEVBQ1QsR0FBR0EsS0FBYS9OLEdBQVcsR0FBR21OLEdBQVdwOEIsSUFBT3FJLEVBQUk5RSxjQUFja29DLElBQ2xFLEdBQUd0VixFQUFLeHhCLEtBQUtnbkMsYUFBYUYsUUFDekIsSUFBS0QsR0FBOEIsTUFBckJyVixHQUFNb0QsV0FRekIsTUFBTSxJQUFJM2tCLE1BQU94USxFQUFZK3hCLE1BQU03ZCxLQUFPLGlCQVAxQyxHQUFJMGtCLEVBQ0YzMEIsRUFBSW1RLE9BQVMsR0FBR3drQixLQUFhL04sR0FBVyxHQUFHbU4sR0FBV3A4QixJQUFPcUksRUFBSTlFLGNBQWNrb0MsUUFDMUUsQ0FDTCxNQUFNN1AsRUFBVzJQLEVBQWEzUCxVQUFZLE9BQU8yUCxFQUFhNU0sb0JBQzlEdDJCLEVBQUltUSxPQUFTLFdBQVcreUIsRUFBYWpOLFVBQVUxQyxLQUFZM00sR0FBVyxHQUFHanZCLElBQU9xSSxFQUFJOUUsY0FBY2tvQyxHQUNwRyxDQUdGLENBRUlDLElBQ0ZyakMsRUFBSW1RLFFBQVVpekIsRUFBWSxhQUFlLGFBRTdDLENBQ0EsT0FBTzNuQyxDQUNULENBQUUsTUFBT215QixHQUNQLEtBQU1zVixFQUFhaFksU0FBb0MsT0FBekJnWSxFQUFhaFksVUFBcUIwQyxFQUFJL3dCLE1BQ2xFLElBQ0UsTUFBTWl4QixFQUFPeHVCLEtBQUtDLE1BQU1xdUIsRUFBSS93QixPQUM1QnBCLEVBQUl3USxLQUFLL0QsR0FBY3duQixhQUFjLENBQ25DN0IsTUFBT3B5QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN2Q3NKLEtBQU1yeUIsRUFBSXNQLEtBQUt5WixVQUF1Qix1QkFBd0IsQ0FBRW1KLEtBQU1HLEVBQUtILE9BQzNFdHRCLEtBQU0sdURBRVYsQ0FBRSxNQUFPaEcsR0FFVCxDQUVGLE1BQU11ekIsQ0FDUixHQUdJMXVCLEdBQVV6RCxJQUNkLE1BQU1ndEIsRUFBYWh0QixFQUFJd04sVUFBd0IsaUJBQW1CLENBQUEsRUFFbEUsTUFBTyxDQUNMK2QsR0FBWXZyQixFQUFLLGVBQWdCLFVBQVcsT0FBUSxNQUFNLE9BQU8vQyxFQUFXLENBQUVtdEIsUUFBUyxDQUFDLEtBQU0sUUFDOUZtQixHQUFZdnJCLEVBQUssZUFBZ0IsV0FBWSxRQUFTZ3RCLEVBQVcyWixVQUFZLElBQUksR0FDakZwYixHQUFZdnJCLEVBQUssZUFBZ0IsWUFBYSxRQUFTZ3RCLEVBQVdtVyxXQUFhLElBQUksR0FDbkY1WCxHQUFZdnJCLEVBQUssZUFBZ0IsU0FBVSxRQUFTZ3RCLEVBQVd3TixRQUFVLElBQUksR0FDN0VqUCxHQUFZdnJCLEVBQUssZUFBZ0IsUUFBUyxRQUFTZ3RCLEVBQVc0WixPQUFTLElBQUksT0FBTTNwQyxFQUFXLENBQzFGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLG9DQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLGVBQWdCLE9BQVEsUUFBU2d0QixFQUFXNk4sTUFBUSxJQUFJLE9BQU01OUIsRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixtQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxlQUFnQixXQUFZLFFBQVNndEIsRUFBVzhLLFVBQVksSUFBSSxPQUFPNzZCLEVBQVcsQ0FDakcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUNBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssZUFBZ0IsT0FBUSxRQUFTZ3RCLEVBQVc5d0IsTUFBUSxJQUFJLE9BQU9lLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsbUNBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssZUFBZ0IsVUFBVyxRQUFTZ3RCLEVBQVdzTCxTQUFXLElBQUksT0FBT3I3QixFQUFXLENBQy9GLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHNDQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLGVBQWdCLFlBQWEsUUFBU2d0QixFQUFXa00sV0FBYSxJQUFJLE9BQU9qOEIsRUFBVyxDQUNuRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1Qix3Q0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxlQUFnQixVQUFXLFFBQVNndEIsRUFBVzdtQixTQUFXLElBQUksT0FBT2xKLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsc0NBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssZUFBZ0IsT0FBUSxZQUFhZ3RCLEVBQVc0YSxNQUFNLE9BQU8zcUMsRUFBVyxDQUN2RixlQUFJNnFDLEdBQ0YsT0FBTzluQyxFQUFJc1AsS0FBS3laLFVBQXVCLG1DQUN6QyxFQUNBLGNBQUlnZixHQUNGLE9BQU8vbkMsRUFBSXNQLEtBQUt5WixVQUF1QixrQ0FDekMsRUFDQSxRQUFJaWYsR0FDRixPQUFPaG9DLEVBQUlzUCxLQUFLeVosVUFBdUIsK0JBQ3pDLE1DM01OLE1BQU1rZixHQUFtQiwyQkFJbkI1TSxHQUFPMkUsR0FBNEI3a0MsRUFBT0MsV0FBVyxPQUFPQyxPQUFPMmtDLEdBQVMxa0MsT0FBTyxPQW9EbkZnWCxHQUFlL1MsTUFBT1MsRUFBYXVFLEVBQVUyakMsRUFBNEJoc0MsS0FDN0UsSUFBS3FJLEVBQUk5RSxXQUFhOEUsRUFBSTdFLE9BQVEsT0FFbEMsTUFBTXlGLEVBQVFaLEVBQUk3RSxTQUFXNkUsRUFBSW9QLFlBQWNqTyxPQUFPQyxLQUFLcEIsRUFBSW9QLFlBQWEsVUFBWSxNQUN4RixJQUFLeE8sRUFBTyxPQUVaLE1BQU1zMUIsRUF4RGtCLEVBQUN0MEIsRUFBdUIxRyxLQUNoRCxNQUFNdkQsS0FBRUEsRUFBTyxHQUFFaXNDLFNBQUVBLEVBQVFuUCxTQUFFQSxFQUFRd0IsT0FBRUEsR0FBV3IwQixFQUM1Q2lpQyxFQUFjL00sR0FBSXJDLEdBQ2xCb0IsR0FBTyxJQUFJdCtCLE1BQU9vK0IsY0FFbEJ4TSxFQUFRLFFBREU4TSxLQUFVclAsR0FBVyxHQUFHanZCLElBQU91RCxRQUNuQjI2QixJQUU1QixNQUFPLFNBQVMrTixLQURIaHRDLEVBQU91L0IsV0FBVyxPQUFRME4sR0FBYS9zQyxPQUFPcXlCLEdBQU9weUIsT0FBTyxhQWtEdkQ2K0IsQ0FBa0IrTixFQUFjM2pDLEVBQUk5RSxVQUNoRDBHLEVBL0NZLEVBQ2xCQSxFQUNBMUcsRUFDQWc3QixFQUNBdDFCLEtBRUEsTUFBTXExQixPQUFFQSxFQUFNdCtCLEtBQUVBLEdBQVNpSyxFQUN6QixJQUFJMnhCLEdBQVkzeEIsRUFBUTJ4QixVQUFZbVEsSUFBa0JsckMsUUFBUSxRQUFTLElBS3ZFLE9BSksrNkIsRUFBU3oyQixXQUFXLFVBQ3ZCeTJCLEVBQVcsV0FBV0EsS0FHakIsQ0FDTHQzQixPQUFRLE1BQ1J0RyxJQUFLLEdBQUc0OUIsS0FBWTBDLEtBQVVyUCxHQUFXLEdBQUdqdkIsSUFBT3VELE9BQ25EMjJCLFFBQVMsQ0FDUHVDLGNBQWU4QixFQUNmMytCLE1BQU0sSUFBSUEsTUFBT28rQixjQUNqQixlQUFnQkksRUFBS0MsUUFBUTk2QixJQUFhLDRCQUU1QzR5QixLQUFNbHRCLEVBQ04xRSx5QkFBeUIsSUEwQlhvM0IsQ0FBWXFRLEVBQWMzakMsRUFBSTlFLFNBQVVnN0IsRUFBV3QxQixHQUduRSxHQWhFMEIsYUE4RFBuRixFQUFJTyxRQUFRNEYsSUFFdEJzdkIsV0FDUCxNQUFNLElBQUkza0IsTUFBTSx3QkFHWHZNLEVBQUlvUCxtQkFDSnBQLEVBQUk3RSxPQUVYLE1BQU0yb0MsRUFBU0gsRUFBYS9oQyxTQUFXLEdBQ2pDdTlCLEVBQVUsR0FBR3dFLEVBQWFodUMsT0FBT2l4QixHQUFXLEdBQUdqdkIsSUFBT3FJLEVBQUk5RSxjQUFjNG9DLElBRTlFOWpDLEVBQUltUSxPQUFTd3pCLEVBQWFJLGVBQWlCQyxHQUFrQjdFLEVBQVN3RSxFQUFjM2pDLEVBQUk5RSxVQUFZaWtDLEdBR2hHNkUsR0FBb0IsQ0FBQ3J1QyxFQUFhaU0sRUFBdUIxRyxLQUM3RCxNQUFNK29DLEVBdkNrQixFQUN4QkYsRUFDQUcsRUFDQXRpQyxFQUNBMUcsS0FFQSxNQUFNaXBDLEVBQU0sSUFBSXZpQyxFQUFRakssTUFBUSxLQUFLdUQsSUFBVzFDLFFBQVEsT0FBUSxLQUFLQSxRQUFRLFFBQVMsS0FDaEZsQixFQUFNbkIsS0FBSzZRLE1BQU16UCxLQUFLRCxNQUFRLEtBQzlCOHNDLEVBQVNGLEVBQWE1c0MsRUFBTWtDLFNBQVMwcUMsRUFBV3p0QyxXQUFZLElBQU1hLEVBaEQ5QyxLQW1EMUIsTUFBTyxRQUZNdy9CLEdBQUksR0FBR2lOLEtBQWtCSyxLQUFVRCxLQUNiRSxVQUFVLEdBQUksTUFBTUQsS0E2QjNDRSxDQUFrQjFpQyxFQUFRbWlDLGVBQWdCbmlDLEVBQVFzaUMsV0FBWXRpQyxFQUFTMUcsR0FDbkYsT0FBT3ZGLEVBQUlvRCxTQUFTLEtBQU8sR0FBR3BELEtBQU9zdUMsSUFBUSxHQUFHdHVDLEtBQU9zdUMsS0FHbkR4MEIsR0FBU3pVLE1BQU9TLElBQ3BCLE1BQU1rb0MsRUFBZWxvQyxFQUFJd04sVUFBd0IsZ0JBQ2pELElBQUswNkIsRUFBYyxNQUFNLElBQUlwM0IsTUFBTSwyQkFFbkMsSUFDRSxNQUFNb25CLEVBQVVsNEIsRUFBSTZPLE9BQ2QzUyxFQUFPNHVCLEdBQWlCLENBQUU1dUIsS0FBTWdzQyxFQUFhaHNDLE9BQ25EZ3NDLEVBQWFoc0MsS0FBT0EsRUFFcEIsSUFBSyxNQUFNcUksS0FBTzJ6QixRQUNWNWxCLEdBQWF0UyxFQUFLdUUsRUFBSzJqQyxFQUFjaHNDLEdBRzdDLE9BQU84RCxDQUNULENBQUUsTUFBT215QixHQUVQLE1BREEyVyxHQUFrQjlvQyxFQUFLbXlCLEdBQ2pCQSxDQUNSLEdBR0kyVyxHQUFvQixDQUFDOW9DLEVBQWFteUIsS0FHdEMsR0FGd0Msa0JBQWhCQSxFQUFJN3dCLFFBRzFCdEIsRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPcHlCLEVBQUlzUCxLQUFLeVosVUFBdUIsaUJBQ3ZDc0osS0FBTXJ5QixFQUFJc1AsS0FBS3laLFVBQXVCLHdCQUVuQyxDQUNMLE1BQU1nZ0IsRUFBWXBsQyxHQUE0Qnd1QixFQUFJL3dCLE9BQzVDNG5DLEVBQWlDLGlCQUFkRCxHQUEwQkEsRUFBWUEsRUFBVTdXLEtBQU82VyxHQUFhLGdCQUU3Ri9vQyxFQUFJd1EsS0FBSy9ELEdBQWN3bkIsYUFBYyxDQUNuQzdCLE1BQU9weUIsRUFBSXNQLEtBQUt5WixVQUF1QixpQkFDdkNzSixLQUFNcnlCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUJBQXdCLENBQUVtSixLQUFNOFcsSUFDdEVwa0MsS0FBTSxvQ0FFVixHQUdJbkIsR0FBVXpELElBQ2QsTUFBTWd0QixFQUFhaHRCLEVBQUl3TixVQUF3QixpQkFBbUIsQ0FBQSxFQUVsRSxNQUFPLENBQ0wrZCxHQUFZdnJCLEVBQUssUUFBUyxTQUFVLFFBQVNndEIsRUFBV3dOLFFBQVUsSUFBSSxHQUV0RWpQLEdBQVl2ckIsRUFBSyxRQUFTLFdBQVksUUFBU2d0QixFQUFXbWIsVUFBWSxJQUFJLE9BQU1sckMsRUFBVyxDQUN6RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFdBQVksUUFBU2d0QixFQUFXZ00sVUFBWSxJQUFJLE9BQU0vN0IsRUFBVyxDQUN6RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QixnQ0FDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLE1BQU8sUUFBU2d0QixFQUFXOXlCLEtBQU8sSUFBSSxPQUFNK0MsRUFBVyxDQUMvRSxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QiwyQkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLFVBQVcsUUFBU2d0QixFQUFXN21CLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXNQLEtBQUt5WixVQUF1QiwrQkFDekMsSUFFRndDLEdBQVl2ckIsRUFBSyxRQUFTLE9BQVEsUUFBU2d0QixFQUFXOXdCLE1BQVEsSUFBSSxPQUFPZSxFQUFXLENBQ2xGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLDRCQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLFFBQVMsaUJBQWtCLFFBQVNndEIsRUFBV3NiLGdCQUFrQixJQUFJLEdBQ3RGL2MsR0FBWXZyQixFQUFLLFFBQVMsYUFBYyxRQUFTZ3RCLEVBQVd5YixZQUFjLElBQUksR0FDOUVsZCxHQUFZdnJCLEVBQUssUUFBUyxXQUFZLFFBQVNndEIsRUFBVzhLLFVBQVltUSxJQUFrQixPQUFPaHJDLEVBQVcsQ0FDeEcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsZ0NBQ3pDLE1DL0pOLE1BQU1rZ0IsR0FBZ0IsV0F1QmhCQyxHQUFrQjNrQyxJQUN0QixHQUFJQSxFQUFJN0UsT0FBUSxPQUFPNkUsRUFBSTdFLE9BQzNCLEdBQUk2RSxFQUFJb1AsWUFBYSxPQUFPak8sT0FBT0MsS0FBS3BCLEVBQUlvUCxZQUFhLFVBQ3pELE1BQU0sSUFBSTdDLE1BQU0sd0JBR1pxNEIsR0FBZ0IsQ0FDcEJ6RixFQUNBekssRUFDQW1RLEVBQ0EzcEMsRUFDQTRvQyxFQUNBZ0IsSUFJTyxHQUFHM0YsS0FEVXZZLEdBQVcsR0FEYmtlLEVBQWFELEVBQVVuUSxJQUNLeDVCLEtBQVkxQyxRQUFRLFFBQVMsTUFDeENzckMsSUFHL0JpQixHQUFrQixDQUFDdHBDLEVBQWFQLEVBQWtCNG1DLEtBQ3RELE1BQU1qRixFQUFjbGxDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVMsVUFBVyxlQUNoRHc0QixFQUFrQjNwQyxFQUFLckIsS0FBS3VtQyxFQUFhM2hDLEdBQy9DOE4sRUFBY3JSLEVBQUtsQyxRQUFRNnJDLElBQzNCbG1DLEVBQUdxTyxjQUFjNjNCLEVBQWlCUSxJQUc5QmtELEdBQWNocUMsTUFDbEJ5OUIsRUFDQS9ELEVBQ0F4NUIsRUFDQTRtQyxLQUVBLE1BQU1tRCxFQUFvQnR0QyxFQUFLbEMsUUFBUSxHQUFHaS9CLElBQWF4NUIsS0FDakRncUMsRUFBcUMsTUFBdEJELEVBQTRCLEdBQUtBLEVBRWxEQyxTQUNJek0sRUFBTzBNLGdCQUFnQkQsRUFBYyxDQUFFRSxXQUFXLElBRzFELE1BQU1ucUMsRUFBVyxHQUFHeTVCLElBQWF4NUIsSUFBVzFDLFFBQVEsYUFBYyxJQUNsRSxhQUFhaWdDLEVBQU80TSxnQkFBZ0JwcUMsRUFBVTZtQyxFQUFhLENBQUV3RCxXQUFXLEtBR3BFNzFCLEdBQVN6VSxNQUFPUyxJQUNwQixNQUFNeUQsRUFBU3pELEVBQUl3TixVQUE4QixzQkFDakQsSUFBSy9KLEVBQVEsTUFBTSxJQUFJcU4sTUFBTSxpQ0FqRU4sSUFBQ2tsQixFQW1FeEJ2eUIsRUFBT3V5QixNQW5FaUJBLEVBbUVPdnlCLEVBQU91eUIsS0FqRS9CLEdBaUVxQ3Z5QixFQUFPeTRCLFdBakU1QixXQUFhLFlBRGxCbEcsRUFBS2o1QixRQUFRLHFCQUFzQixPQW1FckQwRyxFQUFPdkgsS0FBTzR1QixHQUFpQixDQUFFNXVCLEtBQU11SCxFQUFPdkgsS0FBTSt1QixhQUFhLElBRWpFLE1BQU1tZSxFQUFVdGUsR0FBaUIsQ0FBRTV1QixLQUFNdUgsRUFBTzJsQyxRQUFTbmUsYUFBYSxJQUNoRW9kLEVBQVM1a0MsRUFBTzBDLFNBQVcsR0FFakMsSUFDRSxNQUFNNjJCLEVBckVpQixDQUFDdjVCLElBQzFCLE1BQU1vNkIsRUFBcUMsQ0FDekM5RSxTQUFVdDFCLEVBQU9zMUIsU0FDakJDLFNBQVV2MUIsRUFBT3UxQixTQUNqQjNDLGNBQWU0UyxHQUNmMVMsaUJBQWtCMFMsSUFPcEIsTUFKd0IsV0FBcEJ4bEMsRUFBT3FtQyxXQUNUak0sRUFBY2lNLFNBQVdDLEdBQVNDLFFBRzdCQyxHQUFheG1DLEVBQU91eUIsS0FBTTZILElBeURoQnFNLENBQW1Cem1DLEdBQzVCaWdDLEVBQVVqZ0MsRUFBT3kxQixXQUFhejFCLEVBQU91eUIsS0FFM0MsSUFBSyxNQUFNenhCLEtBQU92RSxFQUFJNk8sT0FBUSxDQUM1QixJQUFLdEssRUFBSTlFLFNBQVUsU0FFbkIsTUFBTTRtQyxFQUFjNkMsR0FBZTNrQyxHQUduQyxVQUYyQmdsQyxHQUFZdk0sRUFBUXY1QixFQUFPdkgsS0FBTXFJLEVBQUk5RSxTQUFVNG1DLEdBR3hFLE1BQU0sSUFBSXYxQixNQUFNLGlCQUdsQnc0QixHQUFnQnRwQyxFQUFLdUUsRUFBSTlFLFNBQVU0bUMsVUFFNUI5aEMsRUFBSW9QLG1CQUNKcFAsRUFBSTdFLE9BRVg2RSxFQUFJbVEsT0FBU3kwQixHQUFjekYsRUFBU2pnQyxFQUFPdkgsS0FBTWt0QyxFQUFTN2tDLEVBQUk5RSxTQUFVNG9DLElBQVU1a0MsRUFBTzJsQyxTQUN6RjdrQyxFQUFJaTlCLFlBQWMsc0NBQWdEblcsbUJBQW1COW1CLEVBQUk5RSxXQUMzRixDQUVBLE9BQU9PLENBQ1QsQ0FBRSxNQUFPbXlCLEdBS1AsTUFKQW55QixFQUFJd1EsS0FBSy9ELEdBQWN3bkIsYUFBYyxDQUNuQzdCLE1BQU9weUIsRUFBSXNQLEtBQUt5WixVQUF1QixpQkFDdkNzSixLQUFNcnlCLEVBQUlzUCxLQUFLeVosVUFBdUIsb0JBRWxDb0osQ0FDUixHQUdJMXVCLEdBQVV6RCxJQUNkLE1BQU1ndEIsRUFBYWh0QixFQUFJd04sVUFBOEIsdUJBQXlCLENBQUEsRUFFOUUsTUFBTyxDQUNMK2QsR0FBWXZyQixFQUFLLGNBQWUsT0FBUSxRQUFTZ3RCLEVBQVdnSixNQUFRLElBQUksR0FDeEV6SyxHQUFZdnJCLEVBQUssY0FBZSxhQUFjLFlBQWFndEIsRUFBV2tQLFlBQVksT0FBT2ovQixFQUFXLENBQ2xHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHdDQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLGNBQWUsV0FBWSxRQUFTZ3RCLEVBQVcrTCxVQUFZLElBQUksT0FBTTk3QixFQUFXLENBQy9GLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHNDQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLGNBQWUsV0FBWSxRQUFTZ3RCLEVBQVdnTSxVQUFZLElBQUksT0FBTS83QixFQUFXLENBQy9GLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJc1AsS0FBS3laLFVBQXVCLHNDQUN6QyxJQUVGd0MsR0FBWXZyQixFQUFLLGNBQWUsT0FBUSxRQUFTZ3RCLEVBQVc5d0IsTUFBUSxJQUFJLE9BQU9lLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsa0NBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssY0FBZSxVQUFXLFFBQVNndEIsRUFBV29jLFNBQVcsSUFBSSxPQUFPbnNDLEVBQVcsQ0FDOUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsMENBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssY0FBZSxZQUFhLFFBQVNndEIsRUFBV2tNLFdBQWEsSUFBSSxPQUFPajhCLEVBQVcsQ0FDbEcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIsdUNBQ3pDLElBRUZ3QyxHQUFZdnJCLEVBQUssY0FBZSxXQUFZLE9BQVFndEIsRUFBVzhjLFVBQVksU0FBUyxPQUFPN3NDLEVBQVcsQ0FDcEdtdEIsUUFBUyxDQUFDLFFBQVMsWUFFckJtQixHQUFZdnJCLEVBQUssY0FBZSxVQUFXLFFBQVNndEIsRUFBVzdtQixTQUFXLElBQUksT0FBT2xKLEVBQVcsQ0FDOUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlzUCxLQUFLeVosVUFBdUIscUNBQ3pDLE1DaEpOLE1BQU1vaEIsR0FBbUIsS0FDaEIsQ0FDTCxRQUFBdmIsQ0FBUzV1QixJbEI2R0MsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBb0MsQ0FDL0QsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLHVCQUN6QyxTQUNBL1UsVUFDQXZRLElBRUosQ2tCcEhNMm1DLENBQXNCcHFDLEdqQnNMZCxTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3lhLFNBQVN0RCxHQUFpQyxDQUM1RCxRQUFJMXBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLeVosVUFBdUIscUJBQ3pDLFNBQ0EvVSxVQUNBdlEsSUFFSixDaUI3TE00bUMsQ0FBY3JxQyxHaEI0Rk4sU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBNkIsQ0FDeEQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGtCQUN6QyxTQUNBL1UsVUFDQXZRLElBRUosQ2dCbkdNNm1DLENBQWV0cUMsR2JnUVAsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBc0MsQ0FDakUsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLG9CQUN6QyxTQUNBL1UsVUFDQXZRLElBRUosQ2F2UU04bUMsQ0FBbUJ2cUMsR1o4S1gsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBNkIsQ0FDeEQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGdCQUN6QyxTQUNBL1UsVUFDQXZRLElBRUosQ1lyTE0rbUMsQ0FBZXhxQyxHWDZLUCxTQUFtQkEsR0FDL0JBLEVBQUltUCxPQUFPZ0YsU0FBU3lhLFNBQVN0RCxHQUE0QixDQUN2RCxRQUFJMXBCLEdBQ0YsT0FBTzVCLEVBQUlzUCxLQUFLeVosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0F2USxJQUVKLENXcExNZ25DLENBQWN6cUMsR1ZrRk4sU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBNEIsQ0FDdkQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGVBQ3pDLFNBQ0EvVSxVQUNBdlEsSUFFSixDVXpGTWluQyxDQUFjMXFDLEdUc05OLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTeWEsU0FBU3RELEdBQWdDLENBQzNELFFBQUkxcEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt5WixVQUF1QixvQkFDekMsU0FDQS9VLFVBQ0F2USxJQUVKLENTN05Na25DLENBQWEzcUMsR1IySEwsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBOEIsQ0FDekQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGlCQUN6QyxTQUNBL1UsVUFDQXZRLElBRUosQ1FsSU1tbkMsQ0FBZ0I1cUMsR1BpS1IsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBNEIsQ0FDdkQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGVBQ3pDLFNBQ0EvVSxVQUNBdlEsSUFFSixDT3hLTW9uQyxDQUFjN3FDLEdMZ09OLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTeWEsU0FBU3RELEdBQWdDLENBQzNELFFBQUkxcEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt5WixVQUF1QixtQkFDekMsU0FDQS9VLFVBQ0F2USxJQUVKLENLdk9NcW5DLENBQWE5cUMsR0oyREwsU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBMkIsQ0FDdEQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGNBQ3pDLFNBQ0EvVSxVQUNBdlEsSUFFSixDSWxFTXNuQyxDQUFhL3FDLEdIMkxMLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTeWEsU0FBU3RELEdBQTRCLENBQ3ZELFFBQUkxcEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt5WixVQUF1QixzQkFDekMsU0FDQS9VLFVBQ0F2USxJQUVKLENHbE1NdW5DLENBQWNockMsR0YrSU4sU0FBbUJBLEdBQy9CQSxFQUFJbVAsT0FBT2dGLFNBQVN5YSxTQUFTdEQsR0FBNEIsQ0FDdkQsUUFBSTFwQixHQUNGLE9BQU81QixFQUFJc1AsS0FBS3laLFVBQXVCLGVBQ3pDLFNBQ0EvVSxVQUNBdlEsSUFFSixDRXRKTXduQyxDQUFjanJDLEdEcUlOLFNBQW1CQSxHQUMvQkEsRUFBSW1QLE9BQU9nRixTQUFTeWEsU0FBU3RELEdBQWtDLENBQzdELFFBQUkxcEIsR0FDRixPQUFPNUIsRUFBSXNQLEtBQUt5WixVQUF1QixxQkFDekMsRUFDQS9VLFVBQ0F2USxXQUVKLENDNUlNeW5DLENBQW9CbHJDLEVBQ3RCLElDNUJKLE1BQU1tckMsR0FDYW5yQyxJQUNBb3JDLEdBQ2pCLFdBQUFsK0IsQ0FBWWxOLEdBSVYsR0FIQW9OLEtBQUtwTixJQUFNQSxFQUNYb04sS0FBS2crQixHQUFLLElBQUlDLEdBQVVqK0IsS0FBS3BOLElBQUkyTyxhQUU1QnZCLEtBQUtnK0IsR0FBRzE0QixJQUFJLFVBQ2YsSUFDRXRGLEtBQUtnK0IsR0FBR3JjLElBQUksU0FBVSxDQUNwQjVhLFNBQVUsT0FDVjJ5QixRQUFTLE9BQ1RwYSxLQUFNLENBQ0pnTSxNQUFPLEtBR2IsQ0FBRSxNQUFPOTVCLEdBRVAsTUFEQXdPLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU14QyxHQUNiQSxDQUNSLENBRUYsSUFBS3dPLEtBQUtnK0IsR0FBRzE0QixJQUFJLGdCQUNmLElBQ0V0RixLQUFLZytCLEdBQUdyYyxJQUFJLGVBQWdCLENBQUEsRUFDOUIsQ0FBRSxNQUFPbndCLEdBRVAsTUFEQXdPLEtBQUtwTixJQUFJNk4sSUFBSXpNLE1BQU14QyxHQUNiQSxDQUNSLENBRUosQ0FFQSxJQUFBMHNDLENBQUtDLEdBQ0gsT0FBT24rQixLQUFLZytCLEdBQUdFLEtBQUtDLEVBQ3RCLENBRUEsR0FBQXBxQyxDQUFJbEQsRUFBYyxJQUVoQixPQURBbVAsS0FBS2srQixNQUFLLEdBQ0hsK0IsS0FBS2crQixHQUFHanFDLElBQUlsRCxFQUNyQixDQUVBLEdBQUE4d0IsQ0FBSTl3QixFQUFheXZCLEdBQ2Z0Z0IsS0FBS2srQixNQUFLLEdBQ1ZsK0IsS0FBS2crQixHQUFHcmMsSUFBSTl3QixFQUFLeXZCLEVBQ25CLENBRUEsR0FBQWhiLENBQUl6VSxHQUVGLE9BREFtUCxLQUFLaytCLE1BQUssR0FDSGwrQixLQUFLZytCLEdBQUcxNEIsSUFBSXpVLEVBQ3JCLENBRUEsS0FBQXV0QyxDQUFNdnRDLEVBQWF5dkIsR0FFakIsT0FEQXRnQixLQUFLaytCLE1BQUssR0FDSGwrQixLQUFLZytCLEdBQUdJLE1BQU12dEMsRUFBS3l2QixFQUM1QixDQUVBLFVBQUFsZSxDQUFXL0wsR0FDVHZHLE9BQU9DLEtBQUtzRyxHQUFRNmtCLFFBQVMxbUIsSUFDM0J3TCxLQUFLMmhCLElBQUludEIsRUFBTTZCLEVBQU83QixLQUUxQixDQUVBLFlBQUE2TixDQUFhaE0sR0FDWHZHLE9BQU9DLEtBQUtzRyxHQUFRNmtCLFFBQVMxbUIsSUFDM0J3TCxLQUFLbytCLE1BQU01cEMsRUFBTTZCLEVBQU83QixLQUU1QixFQ3hFSyxNQUFNNnBDLEdBQXlCLDJCQ2dDaENDLEdBRUYsQ0FDRkMseWxDQUNBQyxpd0JBQ0FDLGc0Q0FDQUMsb2pDQUNBQyw4ckJBT0lDLEdBRUYsQ0FDRkwsT0FBUSxrQkFDUkMsTUFBTyxjQUNQQyxNQUFPLGdCQUNQQyxNQUFPLFdBQ1BDLElBQUssVUFTUCxNQUFNRSxHQUFvQjFzQyxNQUFPUyxLQU5qQyxTQUEyQkEsR0FDekIsTUFBTWtzQyxFQUFZaHdDLEVBQUtyQixLQUFLbUYsRUFBSXFOLFFBQVNvK0IsSUFDekNsK0IsRUFBYzIrQixFQUNoQixDQUlFQyxDQUFrQm5zQyxHQUVsQixNQUFNa3NDLEVBQVlod0MsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBU28rQixHQUF3QixHQUFHdGEsSUFBUWpwQixPQUFPLDRCQUNuRixhQUFhLElBQUkvSCxRQUF5QixDQUFDQyxFQUFjQyxLQUN2RCxNQUFNK3JDLEVBL0NpQixNQUN6QixNQUFNQSxFQUFXbnFDLFFBQVFtcUMsU0FDekIsT0FBSUMsR0FBYyxNQUNELFVBQWJELEVBQ29DLE9BQS9CRSxFQUFHQyxVQUFVbnVDLE1BQU0sS0FBSyxHQUFjLFFBQVUsUUFDakMsV0FBYmd1QyxFQUNGLFNBRUEsU0F1Q1VJLEdBQ1hDLEVBQWF2d0MsRUFBS3JCLEtBQUttRixFQUFJcU4sUUFBUzIrQixHQUF3QkksSUFLbEUsSUFBSU0sRUFIQy9zQyxFQUFHd0MsV0FBV3NxQyxJQUNqQjlzQyxFQUFHcU8sY0FBY3krQixFQUFZZixHQUF1QlUsR0FBVyxRQUkvRE0sRUFEZSxXQUFiTixFQUNVeFosR0FBTSxZQUFhLENBQUM2WixFQUFZUCxJQUN0QixVQUFiRSxHQUFxQyxVQUFiQSxFQUNyQnhaLEdBQU0sYUFBYyxDQUM5QixhQUNBLGtCQUNBLFVBQ0EsT0FDQSxtQkFDQSxlQUtBLFFBQ0E2WixFQUNBUCxJQUdVdFosR0FBTSxLQUFNLENBQUM2WixFQUFZUCxJQUd2Q1EsRUFBVTdaLE9BQU85aUIsR0FBRyxPQUFTbFAsSUFDM0IsR0FBaUIsVUFBYnVyQyxHQUM2Qiw2QkFBM0J2ckMsRUFBSzdGLFdBQVd1VCxPQUtsQixPQUpBdk8sRUFBSXdRLEtBQUsvRCxHQUFjd25CLGFBQWMsQ0FDbkM3QixNQUFPLGtDQUNQQyxLQUFNLGdGQUVEaHlCLEVBQU8sSUFBSXlRLE1BQU0sZ0ZBRzVCLE1BQU02N0IsRUFBVTlyQyxFQUFLN0YsV0FBV3VULE9BSWhDLElBQUlxK0IsR0FBMkIsRUFXL0IsR0FSSTF3QyxFQUFLQyxTQUFTd3dDLEtBQWF6d0MsRUFBS0MsU0FBUyt2QyxJQUd2Q3ZzQyxFQUFHd0MsV0FBV3dxQyxLQUNoQkMsR0FBMkIsR0FJZixhQUFaRCxJQUEyQmh0QyxFQUFHd0MsV0FBV3dxQyxHQUMzQyxPQUFPdHNDLEVBQU8sSUFBSXlRLE1BQU0sY0FBYzY3QixNQUd4Q3ZzQyxFQUFRLENBQ051c0MsVUFDQUMsa0NDNUZGLE1BQU9DLFdBQWM3L0IsRUFDakI4L0IsUUFDQUMsVUFDQTNCLEdBQ0E0QixjQUNScitCLFdBQ0F0QixRQUNBOEIsT0FDQXRCLElBQ0FlLElBQ0FDLE9BQ0EzVCxNQUNBNFQsU0FDQUMsZUFDQUUsY0FNQUMsUUFDQUksS0FDQUYsUUFBa0IsUUFDbEJDLFlBRUEsZ0JBQUlMLEdBQ0YsT0FBTzVCLEtBQUs0L0IsYUFDZCxDQUVBLFdBQUE5L0IsQ0FBWXlCLEVBQXFCLElBQy9CeEIsUUFDQUMsS0FBS3VCLFdBQWFBLEVBQ2xCdkIsS0FBS2xTLE1BQVEsR0FDYmtTLEtBQUswQixTQUFXLEdBQ2hCMUIsS0FBSzJCLGVBQWlCLEdBQ3RCM0IsS0FBS3lCLE9BQVMsR0FDZHpCLEtBQUsrQixPQUFTLENBQ1oyRSxZQUFhLElBQUkwYSxHQUFpQixlQUNsQ3JhLFNBQVUsSUFBSXFhLEdBQWlCLFlBQy9CM2EsdUJBQXdCLElBQUkyYSxHQUFpQiwwQkFDN0N0YSxvQkFBcUIsSUFBSXNhLEdBQWlCLHVCQUMxQ2phLG1CQUFvQixJQUFJaWEsR0FBaUIsdUJBRTNDcGhCLEtBQUs2L0IsaUJBQ0w3L0IsS0FBS1MsSUFBTSxJQUFJa2lCLEdBQU8zaUIsTUFDdEJBLEtBQUt3QixJQUFNLElBQUkwZ0IsR0FBVWxpQixNQUN6QkEsS0FBSzZCLGNBQWdCLElBQUl1aUIsR0FBY3BrQixNQUN2Q0EsS0FBSzgvQixZQUNQLENBRUEsbUJBQWF4VyxDQUFPL25CLEVBQXFCLElBQ3ZDLE1BQU0zTyxFQUFNLElBQUk2c0MsR0FBTWwrQixHQUV0QixhQURNM08sRUFBSXd2QixPQUNIeHZCLENBQ1QsQ0FFUSxjQUFBaXRDLEdBRU4sR0FEQTcvQixLQUFLdUIsV0FBYXZCLEtBQUt1QixZQUFjelMsRUFBS3JCLEtBQUtzeUMsSUFBVyx3QkFDTixVQUFoRGp4QyxFQUFLRSxRQUFRZ1IsS0FBS3VCLFlBQVltZCxjQUVoQyxNQURBMWUsS0FBS3VCLFdBQWEsR0FDWm1DLE1BQU0scURBRWQxRCxLQUFLQyxRQUFVblIsRUFBS2xDLFFBQVFvVCxLQUFLdUIsWUFDNUJtYSxFQUFlMWIsS0FBS3VCLGFBQ3ZCeStCLEVBQWUsR0FBR2hnQyxLQUFLdUIsYUFFM0IsQ0FFUSxVQUFBdStCLEdBQ045L0IsS0FBS2crQixHQUFLLElBQUlELEdBQUcvOUIsTUFDakJBLEtBQUswL0IsUUFBVTEvQixLQUFLZytCLEdBQUdFLE1BQUssRUFDOUIsQ0FFUSxVQUFNOWIsR0FDWixJQUVFcGlCLEtBQUtrQyxLQUFPLElBQUlvWSxHQUFZdGEsTUFDNUJBLEtBQUs4QixRQUFVLElBQUlBLEdBQVE5QixNQUMzQkEsS0FBSzQvQixjQUFnQixJQUFJaGEsR0FBYTVsQixNQUV0Q2lpQixHQUFxQixTQUNyQjhhLEtBQW1CdmIsU0FBU3hoQixNdkIvR3pCLENBQ0wsUUFBQXdoQixDQUFTNXVCLEdBQ1BBLEVBQUltUCxPQUFPMkUsWUFBWThhLFNBQVMsT0FBUTZJLElBQ3hDejNCLEVBQUltUCxPQUFPMkUsWUFBWThhLFNBQVMsU0FBVTJJLEdBQzVDLEd1QjRHd0IzSSxTQUFTeGhCLE1BQy9CaWlCLEdBQXFCLFVBRWZqaUIsS0FBSzQvQixjQUFjbmtCLE9BQ3pCemIsS0FBSzIvQixVQUFZLElBQUloZ0MsR0FBVUssS0FDakMsQ0FBRSxNQUFPeE8sR0FHUCxNQUZBd08sS0FBS29ELEtBQUsvRCxHQUFjb0YsaUJBQWlCLEdBQ3pDekUsS0FBS1MsSUFBSXpNLE1BQU14QyxHQUNUQSxDQUNSLENBQ0YsQ0FPQSxTQUFNMHZCLENBQUlsWixFQUFzQnhULEdBQzlCLE9BQUlBLFNBQ0l3TCxLQUFLNEIsYUFBYXNqQixlQUFlMXdCLEVBQU13VCxTQUMvQmhJLEtBQUs0QixhQUFhK2UsVUFBVW5zQixJQUVyQ3dULEVBQU9oSSxLQUNoQixDQUVBLGdCQUFBaWdDLEdBQzBCLEtBQXBCamdDLEtBQUt1QixhQUNQdkIsS0FBS3dCLElBQUk0Z0IsT0FDVHBpQixLQUFLd0IsSUFBSWtoQixlQUViLENBRUEsU0FBQXRpQixDQUFhNUwsR0FFWCxPQURBd0wsS0FBSzAvQixRQUFVMS9CLEtBQUtnK0IsR0FBR0UsTUFBSyxHQUN2QjFwQyxFQUdFVCxFQUFJaU0sS0FBSzAvQixRQUFTbHJDLEdBRmhCd0wsS0FBSzAvQixPQUdoQixDQUVBLFVBQUF0OUIsQ0FBVy9MLEdBQ0pELEdBQW1CQyxJQUl4QjJKLEtBQUtzQyxVQUFVak0sR0FDZjJKLEtBQUtnK0IsR0FBRzU3QixXQUFXL0wsSUFKakIySixLQUFLUyxJQUFJbkwsS0FBSyx5REFLbEIsQ0FFQSxZQUFBK00sQ0FBYXhSLEVBQWFxdkMsR0FDbkJydkMsR0FBUXF2QyxJQUNUaHFDLEdBQXVCckYsR0FDekJtUCxLQUFLUyxJQUFJbkwsS0FBSyxjQUFjekUsdUJBRzlCbVAsS0FBS3VDLFlBQVkxUixFQUFLcXZDLEdBQ3RCbGdDLEtBQUtnK0IsR0FBR0ksTUFBTXZ0QyxFQUFLcXZDLElBQ3JCLENBRUEsU0FBQTU5QixDQUFVak0sR0FDSEQsR0FBbUJDLEdBSXhCdkcsT0FBT0MsS0FBS3NHLEdBQVE2a0IsUUFBUzFtQixJQUN2QjBCLEdBQXVCMUIsS0FDekJ3TCxLQUFLUyxJQUFJbkwsS0FBSyxjQUFjZCw4QkFFckI2QixFQUFPN0IsSUFFaEJtdEIsRUFBSTNoQixLQUFLMC9CLFFBQVNsckMsRUFBTTZCLEVBQU83QixJQUMvQml6QixHQUFTcmtCLEtBQUs5RCxHQUFVbXBCLGNBQWUsQ0FDckN4SSxXQUFZenJCLEVBQ1o4ckIsTUFBT2pxQixFQUFPN0IsT0FaaEJ3TCxLQUFLUyxJQUFJbkwsS0FBSyx5REFlbEIsQ0FFQSxXQUFBaU4sQ0FBWTFSLEVBQWFxdkMsR0FDbEJydkMsR0FBUXF2QyxJQUNUaHFDLEdBQXVCckYsR0FDekJtUCxLQUFLUyxJQUFJbkwsS0FBSyxjQUFjekUsb0JBRzlCdXRDLEVBQU1wK0IsS0FBS0ksVUFBVXZQLEdBQU1xdkMsR0FDN0IsQ0FFQSxXQUFJL3NDLEdBQ0YsT0FBTzZNLEtBQUs4QixRQUFRM08sUUFBUWdQLEtBQUtuQyxLQUFLOEIsUUFDeEMsQ0FFQSxZQUFNVSxDQUFPMVUsR0FDWCxHQUF3QixLQUFwQmtTLEtBQUt1QixXQUVQLE9BREF2QixLQUFLUyxJQUFJek0sTUFBTSw0REFDUixHQUdULFFBQWNuRSxJQUFWL0IsR0FBd0MsSUFBakJBLEVBQU1kLE9Bc0IxQixDQUNMLE1BQU15VSxPQUFFQSxTQUFpQnpCLEtBQUsyL0IsVUFBVXIrQixNQUFNeFQsR0FDOUMsT0FBTzJULENBQ1QsQ0F4QkUsSUFDRSxNQUFNODlCLFFBQUVBLEVBQU9DLHlCQUFFQSxTQUFtQ1gsR0FBa0I3K0IsTUFDaEVtZ0MsRUFBVSxLQUNUWCxHQUNIWSxFQUFPYixHQUFTcHJDLE1BQU0zQyxJQUNwQndPLEtBQUtTLElBQUl6TSxNQUFNeEMsTUFJckIsR0FBZ0IsYUFBWit0QyxFQUNGLE1BQU0sSUFBSTc3QixNQUFNLGdDQUNYLENBQ0wxRCxLQUFLNEMsS0FBS3ZELEdBQWNtRixPQUFRMjdCLEdBQ2hDbmdDLEtBQUs0QyxLQUFLdkQsR0FBY2tJLFNBQVU0NEIsR0FDbEMsTUFBTTErQixPQUFFQSxTQUFpQnpCLEtBQUsyL0IsVUFBVXIrQixNQUFNLENBQUNpK0IsSUFDL0MsT0FBTzk5QixDQUNULENBQ0YsQ0FBRSxNQUFPalEsR0FFUCxNQURBd08sS0FBS29ELEtBQUsvRCxHQUFjbUYsT0FBUWhULEdBQzFCQSxDQUNSLENBS0osQ0FFQSxxQkFBTWlSLENBQWdCM1UsRUFBZWtULEdBQWMsR0FDakQsR0FBd0IsS0FBcEJoQixLQUFLdUIsV0FFUCxPQURBdkIsS0FBS1MsSUFBSXpNLE1BQU0sNERBQ1JnTSxLQUdULFFBQWNuUSxJQUFWL0IsR0FBd0MsSUFBakJBLEVBQU1kLE9Bc0IvQixhQUFhZ1QsS0FBSzIvQixVQUFVcitCLE1BQU14VCxFQUFPa1QsR0FyQnpDLElBQ0UsTUFBTXUrQixRQUFFQSxFQUFPQyx5QkFBRUEsU0FBbUNYLEdBQWtCNytCLE1BQ2hFbWdDLEVBQVUsS0FDVFgsR0FDSFksRUFBT2IsR0FBU3ByQyxNQUFNM0MsSUFDcEJ3TyxLQUFLUyxJQUFJek0sTUFBTXhDLE1BSXJCLEdBQWdCLGFBQVordEMsRUFDRixNQUFNLElBQUk3N0IsTUFBTSxnQ0FJaEIsT0FGQTFELEtBQUs0QyxLQUFLdkQsR0FBY21GLE9BQVEyN0IsR0FDaENuZ0MsS0FBSzRDLEtBQUt2RCxHQUFja0ksU0FBVTQ0QixTQUNyQm5nQyxLQUFLMi9CLFVBQVVyK0IsTUFBTSxDQUFDaStCLEdBQVV2K0IsRUFFakQsQ0FBRSxNQUFPeFAsR0FFUCxNQURBd08sS0FBS29ELEtBQUsvRCxHQUFjbUYsT0FBUWhULEdBQzFCQSxDQUNSLENBSUoifQ==
|