piclist 2.3.2 → 2.3.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 +17 -0
- package/dist/core/PicGo.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/types/index.d.ts +2 -1
- package/dist/utils/common.d.ts +1 -0
- package/package.json +2 -1
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 i from"axios";import n from"fs-extra";import{readJSONSync as a,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as l,moveSync as _,ensureFileSync as c,remove as P}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as g,get as A,set as C,unset as d}from"lodash-es";import T from"node:crypto";import D,{fileURLToPath as m,URL as f,pathToFileURL as L}from"node:url";import{imageSize as h}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as M}from"node:os";import O from"node:vm";import{ObjectAdapter as y,I18n as w}from"@piclist/i18n";import G from"js-yaml";import{Command as b}from"commander";import x from"inquirer";import W from"node:util";import $ from"chalk";import F from"dayjs";import{spawn as H}from"cross-spawn";import K from"resolve";import k from"node:https";import v from"form-data";import{httpsOverHttp as Y}from"tunnel";import V from"mime";import{S3Client as j,PutObjectCommand as z,GetObjectCommand as q}from"@aws-sdk/client-s3";import{getSignedUrl as X}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as Q}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Z}from"file-type";import{HttpsProxyAgent as J,HttpProxyAgent as ee}from"hpagent";import te from"qiniu";import{NodeSSH as re}from"node-ssh-no-cpu-features";import{AuthType as ie,createClient as ne}from"webdav";import{JSONStore as ae}from"@piclist/store";import{spawn as se}from"node:child_process";import oe from"is-wsl";const Ee=r(m(import.meta.url));function Se(e){const t=new Array(e);let r=0,i=0,n=0;for(;r<e;){if(n<6){i=i<<30|1073741824*Math.random()>>>0,n+=30;continue}const e=63&i;i>>>=6,n-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Ie(e){return 1===e.toString().length?`0${e}`:e.toString()}function le(e){return T.createHash("md5").update(e).digest("hex")}function _e(e){return T.createHash("sha256").update(e).digest("hex")}function ce(e,r,i,n){const a=new Date,s=a.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Ie(a.getMonth()+1),"{d}":()=>Ie(a.getDate()),"{h}":()=>Ie(a.getHours()),"{i}":()=>Ie(a.getMinutes()),"{s}":()=>Ie(a.getSeconds()),"{ms}":()=>a.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>le(n||o),"{sha256}":()=>_e(n||o),"{md5-16}":()=>le(n||o).slice(0,16),"{filename}":()=>i?t.basename(i,t.extname(i)):o,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>a.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)=>Se(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(n||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,i,n)=>{n=Math.max(1,n||0);return t.dirname(e).split(t.sep).slice(0-n).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const Pe=e=>/^https?:\/\//.test(e),ue=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},pe=e=>(ue(e)||(e=encodeURI(e)),e),ge=e=>{try{const{width:t=0,height:r=0,type:i}=h(e);return{real:!0,width:t,height:r,extname:i?`.${i}`:".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),filePath:e,buffer:await n.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},Ce=async(e,r)=>{let i;e=pe(e);const n=new Promise((n,a)=>{(async()=>{try{const a=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(i);const s=new f(e).pathname;let o="";try{o=new f(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){o=t.extname(s)||""}!o.startsWith(".")&&o&&(o=`.${o}`),n({buffer:a,fileName:t.basename(s),extname:o,success:!0})}catch(t){clearTimeout(i),n({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(a)}),a=new Promise(t=>{i=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([n,a])},de=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":Te(e)?"simple":"unknown",Te=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!n.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},De=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,me=(e,r=console)=>{switch(de(e)){case"normal":case"scope":return e;case"simple":return De(e);default:{let i=e;return t.isAbsolute(e)&&n.existsSync(e)?Le(i):(i=t.join(process.cwd(),e),n.existsSync(i)?Le(i):(r.warn(`Can't find plugin ${e}`),""))}}},fe=(e,r=console)=>{switch(de(e)){case"normal":return he(e);case"scope":return he(e,!0);case"simple":return he(De(e));default:{if(!n.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const i=t.posix.join(e,"package.json");if(n.existsSync(i)){const e=a(i)||{};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}`),""}}},Le=e=>e.split(t.sep).join("/"),he=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const i=e.match(r);return i?i[2]:(console.warn("can not remove plugin version"),e)}return e},Be=[],Ne=e=>Be.some(t=>e.startsWith(t)),Ue=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Re(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Me=(e=0)=>isNaN(Number(e))?0:Number(e),Oe=()=>"development"===process.env.NODE_ENV;const ye=t.join(Ee,"assets","piclist.png");async function we(e,t,r,i,n,a,s,o,E,S,I,l){o=!o||o<0||o>1?.15:o;const _=B(e,{animated:!0}),{width:c=200}=await _.metadata(),P=await async function(e,t,r,i,n,a,s,o=200,E=0,S=255){let I;"image"===e?(S=Me(S),s=s||ye,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,i){t=t||"测试",i=i||e;const n={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},a=N.loadSync(i).getSVG(t,n);return Buffer.from(a)}(t,r,a,i||t);const{width:l,height:_}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),c=Math.floor(o*Me(n)),P=Math.floor(c*_/l);return await B(I).resize(c,P,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,a,s,o,E,S,c,n,l);return await _.composite([{input:P,gravity:I||"southeast",tile:i}]).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)),be=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],xe=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],We=e=>be.includes(e);function $e(e,t,r,i){e=e||{};return{isAddWatermark:!!(t.isAddWatermark??e.isAddWatermarkMap?.[r]??e.isAddWatermark),watermarkType:(t.watermarkType??e.watermarkTypeMap?.[r]??e.watermarkType)||"text",isFullScreenWatermark:!!(t.isFullScreenWatermark??e.isFullScreenWatermarkMap?.[r]??e.isFullScreenWatermark),watermarkDegree:Me(t.watermarkDegree??e.watermarkDegreeMap?.[r]??e.watermarkDegree),watermarkText:(t.watermarkText??e.watermarkTextMap?.[r]??e.watermarkText)||"",watermarkFontPath:(t.watermarkFontPath??e.watermarkFontPath)||"",watermarkScaleRatio:Me(t.watermarkScaleRatio??e.watermarkScaleRatioMap?.[r]??e.watermarkScaleRatio),watermarkColor:(t.watermarkColor??e.watermarkColorMap?.[r]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(t.watermarkImagePath??e.watermarkImagePathMap?.[r]??e.watermarkImagePath)||"",watermarkPosition:(t.watermarkPosition??e.watermarkPositionMap?.[r]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Me(t.watermarkImageOpacity??e.watermarkImageOpacityMap?.[r]??e.watermarkImageOpacity),picBed:r,id:i}}function Fe(e,t,r,i){e=e||{};return{quality:Me(t.quality??e.qualityMap?.[r]??e.quality),isConvert:!!(t.isConvert??e.isConvertMap?.[r]??e.isConvert),convertFormat:(t.convertFormat??e.convertFormatMap?.[r]??e.convertFormat)||"jpg",isReSize:!!(t.isReSize??e.isReSizeMap?.[r]??e.isReSize),reSizeHeight:Me(t.reSizeHeight??e.reSizeHeightMap?.[r]??e.reSizeHeight),reSizeWidth:Me(t.reSizeWidth??e.reSizeWidthMap?.[r]??e.reSizeWidth),skipReSizeOfSmallImg:!!(t.skipReSizeOfSmallImg??e.skipReSizeOfSmallImgMap?.[r]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(t.isReSizeByPercent??e.isReSizeByPercentMap?.[r]??e.isReSizeByPercent),reSizePercent:Me(t.reSizePercent??e.reSizePercentMap?.[r]??e.reSizePercent),isRotate:!!(t.isRotate??e.isRotateMap?.[r]??e.isRotate),rotateDegree:Me(t.rotateDegree??e.rotateDegreeMap?.[r]??e.rotateDegree),isRemoveExif:!!(t.isRemoveExif??e.isRemoveExifMap?.[r]??e.isRemoveExif),isFlip:!!(t.isFlip??e.isFlipMap?.[r]??e.isFlip),isFlop:!!(t.isFlop??e.isFlopMap?.[r]??e.isFlop),formatConvertObj:(t.formatConvertObj??e.formatConvertObjMap?.[r]??e.formatConvertObj)||{},picBed:r,id:i}}async function He(e,t,r,i){try{let i=B(e,{animated:!0});return i=B(await we(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Me(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Me(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Me(t.watermarkImageOpacity)),{animated:!0}),await i.toBuffer()}catch(t){return i.error(`Image add watermark error: ${t}`),e}}function Ke(e){const t="string"==typeof e.formatConvertObj?Re(e.formatConvertObj):e.formatConvertObj;return{quality:Me(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Me(e.reSizeHeight),reSizeWidth:Me(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Me(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Me(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function ke(e,t,r,i){t=Ke(t);try{if(r=ve(r),!xe.includes(r)||"gif"===r)return e;let i=B(e,{animated:!0}),n=100;if(Ge(t.quality)&&t.quality<100&&(n=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(Ge(t.reSizePercent)){const e=await i.metadata().then(e=>e.width),r=await i.metadata().then(e=>e.height);e&&r&&(i=i.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)i=i.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 i.metadata().then(e=>e.width),r=await i.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const n=t.reSizeHeight/r;i=i.resize(Math.round(e*n),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await i.metadata().then(e=>e.width),r=await i.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const n=t.reSizeWidth/e;i=i.resize(t.reSizeWidth,Math.round(r*n),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(i=i.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(i=i.flip()),t.isFlop&&(i=i.flop()),t.isConvert){const e=Ye(t,r);e!==r&&(i=i.toFormat(e,{quality:n,mozjpeg:!0}))}else i=r&&We(r)?i.toFormat(r,{quality:n,mozjpeg:!0}):i.toFormat("jpg",{quality:n,mozjpeg:!0});return await i.toBuffer()}catch(t){return i.error(`Image process error: ${t}`),e}}const ve=e=>e.toLowerCase().replace(".","");function Ye(e,t){if(e=Ke(e||{}),"gif"===(t=ve(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const i=e.formatConvertObj;Object.keys(i).includes(t)&&(r=i[t],We(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ve=(e,t)=>(t=ve(t),!!e&&!!e.isAddWatermark&&xe.includes(t)&&"svg"!==t),je=(e,t)=>{if(!xe.includes(ve(t))||!e)return!1;const{quality:r,isReSizeByPercent:i,reSizePercent:n,isReSize:a,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:l,isFlip:_,isFlop:c}=Ke(e);if(Ge(r)&&r<100)return!0;if(i&&Ge(n))return!0;if(a&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(_||c)return!0;if(I){return t!==(l||"jpg")}return!1},ze=async(e,t)=>(t=ve(t),xe.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var qe=Object.freeze({__proto__:null,AddWatermark:we,configBlackList:Be,forceNumber:Me,getConvertedFormat:Ye,getFSFile:Ae,getImageSize:ge,getNormalPluginName:fe,getPluginNameType:de,getProcessPluginName:me,getTreatedCompressOptions:Fe,getTreatedWaterMarkOptions:$e,getURLFile:Ce,handleCompletePluginName:De,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:Le,handleUrlEncode:pe,imageAddWaterMark:He,imageCompress:ke,isConfigKeyInBlackList:Ne,isDev:Oe,isInputConfigValid:Ue,isNeedAddWatermark:Ve,isNeedCompress:je,isSimpleName:Te,isUrl:Pe,isUrlEncode:ue,randomStringGenerator:Se,removeExif:ze,removePluginVersion:he,renameFileNameWithCustomString:ce,renameFileNameWithRandomString:function(e,r=5){return`${Se(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Se(5)}${t.extname(e)}`},safeParse:Re});var Xe,Qe,Ze;function Je(e){if(e instanceof Error)return`${e.name}: ${e.message}\n${e.stack}`;try{return JSON.stringify(e)}catch{return String(e)}}!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(Xe||(Xe={})),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"}(Qe||(Qe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Ze||(Ze={}));class et{ctx;scriptCache=new Map;stages=["preProcess","beforeTransform","transform","beforeUpload","upload","afterUpload"];constructor(e){this.ctx=e}async refreshCache(){this.scriptCache.clear();const e=t.join(this.ctx.baseDir,"scripts"),r=this.ctx.getConfig()||{},i=r.scripts?.disabledList||[];await Promise.all(this.stages.map(async r=>{const a=r,s=t.join(e,r);try{const e=await n.readdir(s),o=[];for(const r of e)if(r.endsWith(".js")&&!i.includes(`${a}/${r}`)){const e=t.join(s,r),i=await n.readFile(e,"utf-8"),a=new O.Script(i,{filename:e});o.push({path:e,compiledScript:a})}this.scriptCache.set(r,o)}catch(e){this.scriptCache.set(r,[])}}))}async runStage(e,t={}){const r=this.scriptCache.get(e)||[];if(0!==r.length)for(const e of r)try{const r=this.createSandbox(t),i=O.createContext(r);if(e.compiledScript.runInContext(i),"function"==typeof i.main){const r=i.main(this.ctx,t);await(r instanceof Promise?r:Promise.resolve(r)),this.ctx.log.info(`[Script] ${e.path} executed successfully`)}}catch(t){this.ctx.log.error(`[Script] ${e.path} failed: ${t}`)}}createSandbox(e){return{ctx:this.ctx,extra:e,console:Object.freeze({log:(...e)=>this.ctx.log.info(e.map(Je).join(" ")),info:(...e)=>this.ctx.log.info(e.map(Je).join(" ")),error:(...e)=>this.ctx.log.error(e.map(Je).join(" ")),debug:(...e)=>this.ctx.log.debug(e.map(Je).join(" "))}),axios:i,crypto:T,fs:n,path:t,os:R,Buffer:Buffer,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,base64Decode:e=>Buffer.from(e,"base64").toString("utf-8"),base64Encode:e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64")}}}const tt="Add watermark to image",rt="Compress or convert image",it="Remove exif info",nt="Download ttf file",at="Download ttf file successfully",st="Download ttf file failed",ot="Download ttf file failed, skip add watermark",Et=0,St=30,It=60,lt=-1,_t=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],ct="smms";class Pt 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)),n.existsSync(this.ttfPath)&&n.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(nt);const e=await i.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return n.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(at),!0}catch(e){return this.ctx.log.error(st),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),i=e.getConfig("buildIn.list")||[],n=this.getUploaderType(e),a=i.find(e=>e.id===n.id)?.compress||{},s=i.find(e=>e.id===n.id)?.watermark||{};if(t){t.picBed=n.picBed,t.id=n.id;const e="string"==typeof t.formatConvertObj?Re(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=n.picBed,r.id=n.id);return{compressOptions:Fe(t,a,n.picBed,n.id),watermarkOptions:$e(r,s,n.picBed,n.id)}}getUploaderType(e){const t=e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||ct,r=e.getConfig(`picBed.${t}`)||{};return{picBed:t,id:r._id||"",config:r}}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=e.getConfig("buildIn.list")||[],i=this.getUploaderType(e),n=r.find(e=>e.id===i.id)?.skipProcess||{},a=n.skipProcessExtList?n.skipProcessExtList.split(",").map(e=>e.trim()):t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):_t;return new Set(a.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,configManager:e.configManager,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.processedInput=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){const t=new et(e);return await t.refreshCache(),e.output=e.input,await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}async executeLifecycle(e){const t=new et(e);return await t.refreshCache(),await this.preprocess(e),await t.runStage("preProcess"),await this.beforeTransform(e),await t.runStage("beforeTransform"),await this.doTransform(e),await t.runStage("transform"),await this.buildInRename(e),await this.beforeUpload(e),await t.runStage("beforeUpload"),e.processedInput=p(e.output),await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}handleError(e,t){if(e.log.warn(Qe.FAILED),e.emit(Qe.UPLOAD_PROGRESS,lt),e.emit(Qe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:i}=this.getProcessingOptions(e),n=this.getSkipExtensions(e);if(e.emit(Qe.UPLOAD_PROGRESS,Et),e.emit(Qe.BEFORE_TRANSFORM,e),e.log.info("Pre-processing images, please wait..."),r||i){const a=t.join(e.baseDir,"piclistTemp");await this.processImages(e,a,r,i,n)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,i,n){await Promise.allSettled(e.input.map(async(a,s)=>{await this.processImage(a,s,e,t,r,i,n)}))}async processImage(e,r,i,a,s,o,E){const S=Pe(e),I=S?await Ce(e,i):{success:!1};if(S&&(!I.success||!I.buffer))return;i.rawInputPath[r]=e;const l=S?I.extname||"":t.extname(e),_=E.has(l.toLowerCase()),c=S?I.buffer:n.readFileSync(e),P=await this.applyProcessing(c,l,s,o,_,e,a,i);P&&await this.saveProcessedImage(e,r,i,a,P,l,s,S,I)}async applyProcessing(e,t,r,i,n,a,s,o){let E;return je(r,t)&&!n&&(E=await this.compressImage(e,E,t,r,a,s,o)),Ve(i,t)&&!n&&(E=await this.addWatermark(e,i,o)),E||!r?.isRemoveExif||n||(o.log.info(it),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(ot)}return r.log.info(tt),await He(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,i,n,a,s){s.log.info(rt);const o=r.toLowerCase();return Pe(n)||".heic"!==o&&".heif"!==o?await ke(t??e,i,r,s.log):await this.convertHeicAndCompress(e,n,r,a,i,s)}async convertHeicAndCompress(e,r,i,a,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(a,`${t.basename(r,i)}.jpg`);return n.writeFileSync(S,Buffer.from(E)),await ke(n.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,i,a,s,o,E,S,I){let l=E?.isConvert?Ye(E,o):o;l=l.startsWith(".")?l:`.${l}`;const _=S?t.join(a,`${this.getFileBaseName(I)}${l}`):t.join(a,`${t.basename(e,o)}${l}`);i.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(_):`${t.basename(e,o)}${l}`),n.writeFileSync(_,s),i.input[r]=_}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=this.getUploaderType(e),r=e.getConfig("buildIn.rename")||{},i=e.getConfig("buildIn.list")||[],n={...r,...i.find(e=>e.id===t.id)?.rename||{}};if(!n.enable)return e;const a=n.format||"{filename}";return e.output=e.output.map((t,r)=>{let i=t.fileName;return i=ce(e.rawInputPath[r],a,void 0,t.base64Image?t.base64Image:t.buffer),i=i.replace(/\/+/g,"/"),"/"===i.slice(-1)&&(i+=r.toString()),t.fileName=i,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Qe.UPLOAD_PROGRESS,St);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),i=t;return r||(r=e.helper.transformer.get("path"),i="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${i}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Qe.UPLOAD_PROGRESS,It),e.log.info("Before upload"),e.emit(Qe.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.picBed),i=t.picBed;r||(e.log.warn(`Can't find uploader - ${i}, switch to default uploader - ${ct}`),i=ct,r=e.helper.uploader.get(ct)),e.log.info(`Uploading... Current uploader is [${i}] with config id [${t.id||"default"}]`),await(r?.handle(e));for(const t of e.output)t.type=i;return e}async afterUpload(e){e.emit(Qe.AFTER_UPLOAD,e),e.emit(Qe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,i=!0===e.getConfig("settings.encodeOutputURL");for(let n=0;n<r;n++)void 0!==e.output[n].imgUrl&&(t+=i?pe(e.output[n].imgUrl):e.output[n].imgUrl,n!==r-1&&(t+="\n")),delete e.output[n].base64Image,delete e.output[n].buffer;return e.emit(Qe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),i=e.getIdList(),n=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${n}: ${i[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${n}: ${i[r]} error`),e}})),t}}const ut={"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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"设定上传脚本名称",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"请输入存放在脚本目录中的上传脚本名称",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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"設定上傳腳本名稱",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"請輸入存放在腳本目錄中的上傳腳本名稱",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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"Set Upload Script Name",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"Please enter the upload script name stored in scripts dir",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 y(ut);let t=this.ctx.getConfig("settings.language")||"zh-CN";ut[t]||(t="zh-CN"),this.i18n=new w({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();n.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const i=t.join(e,r.name),a=n.readFileSync(i,"utf8");try{const e=G.load(a);ut[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 i=g(r,t);return this.objectAdapter.setLocale(e,i),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),ut[e]=t,!0)}getLanguageList(){return Object.keys(ut)}}const gt={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},At={handle:e=>{const t=e.cmd;t.program.command("config-list").description("list all configs names for an uploader").arguments("<uploader>").action(t=>{try{const r=e.configManager.getAllUploaderConfigs(t),i=e.configManager.getCurrentUploaderConfig(t);if(0===r.length)return void e.log.info(`No configs found for ${t}`);e.log.info(`Configs for ${t}:`),r.forEach(t=>{const r=i&&t._id===i._id?" (default)":"";e.log.info(` - ${t._configName}${r} [ID: ${t._id}]`)})}catch(t){e.log.error(t)}}),t.program.command("config-use").description("set a config as default for an uploader").arguments("<uploader> <configName>").action((t,r)=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.setDefaultConfig(t,i._id)?e.log.success(`Set "${r}" as default config for ${t}`):e.log.error(`Failed to set "${r}" as default`)}catch(t){e.log.error(t)}}),t.program.command("config-remove").description("remove a config for an uploader").arguments("<uploader> <configName>").action((t,r)=>{(async()=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);const n=[{type:"confirm",name:"confirm",message:`Are you sure you want to delete config "${r}"?`,default:!1}];if(!(await e.cmd.inquirer.prompt(n)).confirm)return void e.log.info("Cancelled");e.configManager.deleteUploaderConfig(t,i._id)?e.log.success(`Deleted config "${r}" for ${t}`):e.log.error(`Failed to delete config "${r}"`)}catch(t){e.log.error(t)}})().catch(t=>{e.log.error(t)})}),t.program.command("config-rename").description("rename a config for an uploader").arguments("<uploader> <oldName> <newName>").action((t,r,i)=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.renameConfig(t,n._id,i)?e.log.success(`Renamed config from "${r}" to "${i}"`):e.log.error("Failed to rename config")}catch(t){e.log.error(t)}}),t.program.command("config-show").description("show details of a config").arguments("<uploader> [configName]").action((t,r)=>{try{if(!r){const r=e.configManager.getAllUploaderConfigs(t);return r&&0!==r.length?void r.forEach(t=>{e.log.info(`Config details for "${t._configName}":`),e.log.info(` ID: ${t._id}`),e.log.info(` Created: ${new Date(t._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(t._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(t).forEach(r=>{if(!r.startsWith("_")){const i=t[r],n="string"==typeof i&&(r.includes("password")||r.includes("token")||r.includes("key"))?"***":JSON.stringify(i);e.log.info(` ${r}: ${n}`)}})}):void e.log.info(`No configs found for ${t}`)}const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.log.info(`Config details for "${r}":`),e.log.info(` ID: ${i._id}`),e.log.info(` Created: ${new Date(i._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(i._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(i).forEach(t=>{if(!t.startsWith("_")){const r=i[t],n="string"==typeof r&&(t.includes("password")||t.includes("token")||t.includes("key"))?"***":JSON.stringify(r);e.log.info(` ${t}: ${n}`)}})}catch(t){e.log.error(t)}})}},Ct={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 i=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(i)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},dt=(e,t,r,i,n,a)=>{let s=e.program.command(t).description(r).alias(i);a?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),a?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(n)},Tt={handle:e=>{const t=e.cmd;dt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:i,registry:n}=r,a={proxy:i,registry:n};e.pluginHandler.install(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),dt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),dt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:i,registry:n}=r,a={proxy:i,registry:n};e.pluginHandler.update(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Dt={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function mt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:i=!0}){const n=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return n?`${t?"/":""}${n}${r?"/":""}`:i?"":"/"}function ft(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const Lt="advancedplist",ht="alistplist",Bt="aliyun",Nt="aws-s3-plist",Ut="github",Rt="imgur",Mt="local",Ot="lskyplist",yt="piclist",wt="qiniu",Gt="sftpplist",bt="smms",xt="tcyun",Wt="upyun",$t="webdavplist",Ft=(e,t,r,i,n,a,s="PICBED",o)=>({name:r,type:i,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:n,required:a,...o});const Ht=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")}),Kt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[Ft(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),Ft(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),Ft(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"]}),Ft(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),Ft(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),Ft(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),Ft(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),Ft(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),Ft(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),Ft(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),Ft(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),Ft(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),Ft(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),Ft(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[Ft(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),Ft(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),Ft(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),Ft(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),Ft(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),Ft(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),Ft(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),Ft(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),Ft(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),Ft(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),Ft(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[Ft(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),Ft(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[Ft(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},kt=async(e,t,r,i,n,a)=>{const s=await e.cmd.inquirer.prompt(t),o=vt(r,i);if("uploader"===r){const t=n||"Default",r=e.configManager.getConfigByName(i,t);if(r)e.configManager.updateUploaderConfig(i,r._id,s),e.log.success(`Updated config "${t}" for ${i}`);else{const r=e.configManager.addUploaderConfig(i,t,s);e.log.success(`Created new config "${t}" for ${i}`),e.configManager.setDefaultConfig(i,r._id)}e.saveConfig({"picBed.current":i,"picBed.uploader":i})}else if("buildin"===r)if(a){const t=e.getConfig(`uploader.${a}`)||{};if(!t.configList||0===t.configList.length)return void e.log.error(`No config found for uploader ${a}`);const r=t.configList.find(e=>e._configName===(n||"Default"))?._id;if(!r)return void e.log.error(`No config named "${n||"Default"}" found for uploader ${a}`);const o=e.getConfig("buildIn.list")||[],E=o.findIndex(e=>e.id===r);-1!==E?o[E]={...o[E],[i]:s}:o.push({id:r,[i]:s}),e.saveConfig({"buildIn.list":o})}else e.saveConfig({[o]:s});else e.saveConfig({[o]:s}),"transformer"===r&&e.saveConfig({"picBed.transformer":i})},vt=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Yt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name] [configName] [uploaderName]").description('configure config of picgo modules, uploader|transformer|plugin|buildin. For uploader and buildin, configName is optional (defaults to "Default"). For buildin module, uploaderName is the uploader name to which the buildin module config will be linked.').action((t,r,i,n)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t,r,i)=>{if(t&&t in Kt){const n=Kt[t];return void await kt(e,n.config(e),"buildin",t,r,i)}if(t&&!(t in Kt))return e.log.error(`No buildin module named ${t}`),void e.log.warn("Available buildin modules are: compress|watermark|rename|skipProcess");const n=[{type:"list",name:"buildin",choices:Object.entries(Kt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],a=await e.cmd.inquirer.prompt(n),s=Kt[a.buildin];await kt(e,s.config(e),"buildin",a.buildin,r,i)})(e,r,i,n);break;case"uploader":case"transformer":await(async(e,t,r,i)=>{if(r){const n=e.helper[t].get(r);return n?void(n.config&&await kt(e,n.config(e),t,r,i)):void e.log.error(`No ${t} named ${r}`)}const n=e.helper[t].getIdList().map(t=>({name:Ht(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:n,message:`Choose a(n) ${t}`}],s=await e.cmd.inquirer.prompt(a),o=e.helper[t].get(s[t]);o?.config&&await kt(e,o.config(e),t,s[t],i)})(e,t,r,i);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 i=await e.pluginLoader.getPlugin(r);return void(i?.config&&await kt(e,i.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],i=await e.cmd.inquirer.prompt(r),n=await e.pluginLoader.getPlugin(i.plugin);n?.config&&await kt(e,n.config(e),"plugin",i.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 done"),"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)})})}},Vt={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const i=r.map(e=>Pe(e)?e:t.resolve(e)).filter(t=>{const r=n.existsSync(t)||Pe(t);return r||e.log.warn(`${t} does not exist.`),r});await e.uploadReturnCtx(i)})().catch(t=>{e.log.error(t)})})}},jt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let i=[];const n={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:Ht(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(!n[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");i.push(n[r])}else i=Object.keys(n).map(e=>n[e]);const a=await t.inquirer.prompt(i);if(a.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{a.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":a.uploader||e.getConfig("picBed.current"),"picBed.uploader":a.uploader||e.getConfig("picBed.current"),"picBed.transformer":a.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 zt{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),zt.currentPlugin&&(this.pluginIdMap.has(zt.currentPlugin)?this.pluginIdMap.get(zt.currentPlugin)?.push(e):this.pluginIdMap.set(zt.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 qt=(e=null)=>{zt.currentPlugin=e};class Xt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new b,this.inquirer=x,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.3.2","-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",Tt),e.cmd.register("config",gt),e.cmd.register("configManager",At),e.cmd.register("setting",Yt),e.cmd.register("upload",Vt),e.cmd.register("use",jt),e.cmd.register("proxy",Dt),e.cmd.register("i18n",Ct)}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=zt.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 Qt{level={[Xe.success]:"green",[Xe.info]:"blue",[Xe.warn]:"yellow",[Xe.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 i=$[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(i,...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($.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(n.existsSync(e)){const t=n.statSync(e).size,r=1024*Me(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){n.existsSync(e)&&(n.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let i=`${F().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?i+=`\n------Error Stack Begin------\n${W.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),i+=`${e} `)}),i+="\n",n.appendFileSync(e,i)}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(Xe.success,...e)}info(...e){this.handleLog(Xe.info,...e)}error(...e){this.handleLog(Xe.error,...e)}warn(...e){this.handleLog(Xe.warn,...e)}debug(...e){Oe()&&this.handleLog(Xe.info,...e)}}class Zt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const i=[],n=e.map(e=>Jt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(i.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),a=n.map(e=>e.fullName),s=n.map(e=>e.pkgName);if(a.length>0){const e=await this.execCommand("install",a,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 a)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,...i]});return{success:!0,body:[...s,...i]}}if(0===i.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,...i]});return{success:!0,body:[...s,...i]}}async uninstall(e){const t=e.map(e=>Jt(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 i=e.map(e=>Jt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(i.length>0){const e=await this.execCommand("update",i,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:i});return{success:!0,body:i}}{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,i={},n={}){const a=i.registry||this.ctx.getConfig("settings.registry"),s=i.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(i=>{let o=[e].concat(t).concat("--color=always").concat("--save");a&&(o=o.concat(`--registry=${a}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=H("npm",o,{cwd:r,env:{...process.env,...n}});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=>{i(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(Qe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Qe.FAILED,e)}})}}const Jt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},i=me(t,e.log);if(!i)return r;const n=fe(i,e.log);return n?{success:!0,fullName:i,pkgName:n}:r};class er{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(!n.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};n.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return K.sync(r,{basedir:e.baseDir})}catch(i){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!n.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),i=a(r),s=Object.keys(i.dependencies||{}),o=Object.keys(i.devDependencies||{}),E=s.concat(o).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return n.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),qt(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),qt(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(Qe.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),qt(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(i){const s=t.join(this.ctx.baseDir,"node_modules",e),o=t.join(s,"package.json");if(!n.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=a(o),i=e.main||e.module||"index.js";r=t.join(s,i)}catch{const i=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of i){const i=t.join(s,e);if(n.existsSync(i)){r=i;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const i=L(r).href,s=await import(i),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 tr=new e,rr=new k.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function ir(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function nr(e){return{...e,statusCode:e.status,body:e.data}}function ar(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 sr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),tr.on(Ze.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 f(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=Y({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=rr;const t=i.create(this.options);t.interceptors.response.use(nr,ar);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let i=e.proxy;if("string"==typeof i){try{i=new f(e.proxy)}catch(e){i=!1,r.proxy=!1,console.error(e)}t=!0}i&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=Y({proxy:{host:i?.hostname,port:parseInt(i?.port,10)}})):r.proxy={host:i.hostname,port:parseInt(i.port,10),protocol:"http"})}if("formData"in e){const i=new v;for(const t in e.formData)ir(i,t,e.formData[t]);r.data=i,r.headers=Object.assign(r.headers||{},i.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 or={handle:async e=>(e.output.push(...e.input),e)};const Er=(e,t,r)=>{const i=ge(t);return i.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")),i};var Sr={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,i)=>{let n;if(n=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:Pe(r)?await Ce(r,e):await Ae(r),n.success&&n.buffer){const a=Er(e,n.buffer,r),s=n.extname||a.extname||".png";t[i]={buffer:n.buffer,fileName:n.fileName||`${F().format("YYYYMMDDHHmmssSSS")}${s}`,width:a.width,height:a.height,filePath:n.filePath,extname:n.extname,mimeType:V.getType(s)||"application/octet-stream"}}else e.log.error(n.reason)})),e.output=t.filter(e=>e),e}};const Ir=(e,t,r,i,n,a,s)=>({method:i.toUpperCase(),url:r||"",headers:{contentType:"multipart/form-data","User-Agent":"PicList",...n},formData:{[s]:{value:e,options:{filename:t}},...a},json:!0}),lr=async e=>{const r=e.getConfig("picBed.advancedplist");if(!r)throw new Error("Can not find advancedplist config");if(r.uploadScriptName)try{const a=r.uploadScriptName,s=t.join(e.baseDir,"scripts","uploader","advancedplist",`${a.endsWith(".js")?a:a+".js"}`),o=await n.readFile(s,"utf-8");return e=await async function(e,r,a){try{const s=e=>Buffer.from(e,"base64").toString("utf-8"),o=e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64"),E={ctx:e,extra:a,console:Object.freeze({log:(...t)=>e.log.info(t.map(Je).join(" ")),info:(...t)=>e.log.info(t.map(Je).join(" ")),error:(...t)=>e.log.error(t.map(Je).join(" ")),debug:(...t)=>e.log.debug(t.map(Je).join(" "))}),axios:i,crypto:T,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,fs:n,path:t,base64Decode:s,base64Encode:o,os:R,Buffer:Buffer};O.createContext(E),e.log.info("start to run script"),O.runInContext(r,E);const S=O.runInContext("(async () => {\n const result = main(ctx, extra)\n if (result instanceof Promise) return await result\n return result\n })()",E),I=await S;return e.log.info("script executed successfully"),I}catch(t){throw e.log.error(`script execution failed: ${t}`),t}}(e,o,{})}catch(t){throw e.log.error("AdvancedPlist upload script error:",t),new Error(`AdvancedPlist upload script error: ${t}`)}const a=e.output;for(const t of a)if(t.fileName&&t.buffer){const i=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!i)continue;const n=Ir(i,t.fileName,r.endpoint,r.method||"POST",JSON.parse(r.headers||"{}"),JSON.parse(r.body||"{}"),r.formDataKey||"file");let a=await e.request(n);a="string"==typeof a?JSON.parse(a):a;let s=a;const o=r.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(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:a.message}),console.error("AdvancedPlist upload failed:",a),new Error(a.message);if(delete t.base64Image,delete t.buffer,r.webPath){const e=s.split("/").pop()||s;s=(r.webPath.endsWith("/")?r.webPath:r.webPath+"/")+e}t.imgUrl=r.customPrefix?r.customPrefix+s:s}return e},_r=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,i,n,a=!1,s)=>({name:r,type:i,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]||n,required:a,...s});return[r("uploadScriptName","input",""),r("endpoint","input","",!1),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 cr=(e,t,r,i,n)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(i)},formData:{file:{value:n,options:{filename:r}}},resolveWithFullResponse:!0}),Pr=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},ur=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),pr=e=>{const{url:t,token:r,username:i,password:n,uploadPath:a,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:i||"",password:n||"",uploadPath:mt({path:a||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?mt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},gr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:n,username:a,password:s,uploadPath:o,webPath:E,customUrl:S}=pr(r);let{token:I}=pr(r);if(I||(I=await(async(e,t,r,n)=>{const a=e.getConfig("picgo-plugin-buildin-alistplist");if(a&&a.refreshedAt&&Date.now()-a.refreshedAt<36e5&&a.token)return a.token;const s=await i.post(`${t}/api/auth/login`,{username:r,password:n});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,n,a,s)),!n||!(I||a&&s))throw new Error("Please check your alist config!");const l=e.output;for(const r of l)if(r.fileName&&r.buffer){let i=r.buffer;!i&&r.base64Image&&(i=Buffer.from(r.base64Image,"base64"));const a=`${o}${r.fileName}`,s=cr(n,I,r.fileName,a,i),l=await e.request(s);Pr(e,l);const _=await e.request(ur(`${n}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(a)}));Pr(e,_);const c=await e.request(ur(`${n}/api/fs/get`,I,{password:"",path:a,page:1,per_page:1,refresh:!0}));Pr(e,c);const P=c.body.data.sign,u=ft(`${E||o}${r.fileName}`);r.imgUrl=`${S||n}${S&&S!==n?"":"/d"}${u}`,r.imgUrl+=S&&S!==n||!P?"":`?sign=${P}`,delete r.base64Image,delete r.buffer}return e},Ar=e=>{const t=e.getConfig("picBed.alistplist")||{};return[Ft(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),Ft(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),Ft(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),Ft(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),Ft(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),Ft(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),Ft(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const Cr=()=>(new Date).toUTCString(),dr=(e,t)=>{const r=Cr(),i=`PUT\n\n${V.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,n=T.createHmac("sha1",e.accessKeySecret).update(i).digest("base64");return`OSS ${e.accessKeyId}:${n}`},Tr=(e,t,r,i)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${ft(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:Cr(),"Content-Type":V.getType(t)||"application/octet-stream"},body:i,resolveWithFullResponse:!0}),Dr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=mt({path:t.path});const r=mt({path:t.webPath});try{const{output:i}=e,n=(t.customUrl||"").replace(/\/$/,""),{path:a,bucket:s,area:o,options:E=""}=t;for(const S of i)if(S.fileName&&S.buffer){const i=dr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),l=Tr(t,S.fileName,i,I);if(200!==(await e.request(l)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=ft(`${r||a}${S.fileName}`);S.imgUrl=n?`${n}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},mr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[Ft(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),Ft(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),Ft(e,"alicloud","bucket","input",t.bucket||"",!0),Ft(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),Ft(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),Ft(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),Ft(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),Ft(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class fr{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 T.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return T.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return T.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 Lr(e,t){if(!t)return e.fileName;const r=new fr(e);let i=t;for(const e of fr.fields){const t=new RegExp(`{${e}}`,"g");i=i.replace(t,r[e]())}return i}function hr(e,t,r){const i=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:i}=new f(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${i}`}catch(e){return""}}(e);if(!i)return;return new(t?J:ee)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:i})}async function Br(e,t,r){const i=await X(e.client,new q({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),n=new D.URL(i);return n.search="",n.href}var Nr={createS3Client:function(e){let t=!0;try{t="https:"===new D.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=hr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=hr(e.proxy,!1,!!e.rejectUnauthorized);const i={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new Q(r)};return new j(i)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:i}=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=V.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Z(t.body);t.contentType=e?.mime}return t}(e.item),n=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:i}),a=await e.client.send(n);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await Br(e,a.ETag,a.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:a.VersionId,eTag:a.ETag}}catch(e){return Promise.reject(e)}}};function Ur(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const Rr=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=Ur(t.disableBucketPrefixToURL);let i=t.urlPrefix;i&&(i=i.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(i+="/"+t.bucketName));const n=Nr.createS3Client(t),a=e.output;for(const e of a){const r=await Nr.createUploadTask({client:n,bucketName:t.bucketName,path:Lr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:i,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Mr=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:Ur(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 Or(e,t,r,i=""){return`https://api.github.com/repos/${e}/contents/${ft(`${t}${r}`)}${i}`}const yr=(e,t,r)=>{const{token:i,repo:n}=t,a=V.getType(e)||"application/octet-stream";return{method:"PUT",url:Or(n,t.path,e),headers:{Authorization:`token ${i}`,"User-Agent":"PicList","Content-Type":a},body:r,json:!0}},wr=(e,t)=>{const{token:r,repo:i,branch:n}=t;return{method:"GET",url:Or(i,t.path,e,`?ref=${n}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Gr=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=mt({path:t.path}),i=mt({path:t.webPath||""});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"),s={message:"Upload by PicList",branch:t.branch,content:n,path:r+encodeURI(a.fileName)},o=yr(a.fileName,t,s);try{const n=await e.request(o);if(!n)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${ft(`${i||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 s=await e.request(wr(a.fileName,t));if(!Object.keys(s).length)throw n;a.hash=s.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${ft(`${i||r}${a.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},br=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 xr=async(e,t,r,i)=>{const n=t.clientId||"",a=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(a&&s)E=s;else{if(!n)throw new Error("clientId or accessToken is required");E=`Client-ID ${n}`}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:i,type:"base64",name:r,description:"Uploaded with PicList"}};if(a&&s&&o){let r,i=0,n="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${a}/albums/${i}`,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){n=e.id;break}i++}while(r.body.data.length>0);n&&S.formData&&(S.formData.album=n)}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 i of r)if(i.fileName&&i.buffer){const r=i.base64Image||Buffer.from(i.buffer).toString("base64"),n=await xr(e,t,i.fileName,r),a=await e.request(n),s="string"==typeof a?JSON.parse(a):a;if(!s.success)throw new Error("Server error, please try again");delete i.base64Image,delete i.buffer,i.imgUrl=s.data.link,i.hash=s.data.deletehash}return e}catch(t){throw e.emit(Qe.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}},$r=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 Fr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const i=r.path||"",a=(r.customUrl||"").replace(/\/$/,""),o=mt({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),l=t.join(i,r.fileName);try{s(t.dirname(l)),s(t.dirname(I))}catch(e){}n.writeFileSync(l,E),n.copyFileSync(l,I),delete r.base64Image,delete r.buffer,r.imgUrl=a?`${a}/${ft(`${o}${r.fileName}`)}`:t.join(i,r.fileName),r.hash=t.join(i,r.fileName),r.galleryPath=`http://localhost:36699/local/${ft(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},Hr=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 Kr=(e,t,r)=>{let i=e.host;i=i.replace(/\/$/,"");const n="V2"===e.version,a=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:a||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:a||void 0},S=e.strategyId,I=e.albumId;let l=e.permission.value;void 0===l&&(l=e.permission);const _={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:l};S||delete _.strategy_id,I||delete _.album_id,0!==l&&1!==l&&delete _.permission;return{method:"POST",url:n?`${i}/api/v1/upload`:`${i}/api/upload`,agent:new k.Agent({rejectUnauthorized:!1}),headers:n?E:s,formData:n?_:o}},kr=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 i of r){let r=i.buffer;!r&&i.base64Image&&(r=Buffer.from(i.base64Image,"base64"));const n=Kr(t,i.fileName,r);let a=await e.request(n);a="string"==typeof a?JSON.parse(a):a;const s="V2"===t.version;if(!(s?!0===a.status:200===a.code))throw e.emit(Qe.NOTIFICATION,{title:"upload failed",body:a.message}),new Error(a.message);delete i.base64Image,delete i.buffer,i.imgUrl=s?a.data.links.url:a.data.url,s&&(i.hash=a.data.key)}return e},vr=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 Yr=(e,t,r)=>{const{host:i="127.0.0.1",port:n="",picbed:a="",configName:s="Default",serverKey:o=""}=e,E=i.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=i.startsWith("https://")?"https://":"http://",I=i.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${E?`${S}${I}:${n||"36677"}`:`${S}${I}${n?`:${n}`:""}`}/upload?configName=${s}${a?`&picbed=${a}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:V.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},Vr=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 i of r)if(i.fileName&&i.buffer){let r=i.buffer;!r&&i.base64Image&&(r=Buffer.from(i.base64Image,"base64"));const n=Yr(t,i.fileName,r),a=await e.request(n).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==a.statusCode||!a.body?.success)throw new Error(a.body.message);delete i.base64Image,delete i.buffer,i.imgUrl=a.body.result[0],i.fullResult=a.body.fullResult?a.body.fullResult[0]:""}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},jr=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 zr(e,t,r,i){const n=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),a=e.path||"";return{method:"POST",url:`http://upload${n}.qiniup.com/putb64/-1/key/${Buffer.from(a+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":V.getType(t)||"application/octet-stream"},body:i}}function qr(e){const t=e.accessKey,r=e.secretKey,i=new te.auth.digest.Mac(t,r),n={scope:e.bucket};return new te.rs.PutPolicy(n).uploadToken(i)}const Xr=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 i of r)if(i.fileName&&i.buffer){const r=i.base64Image||Buffer.from(i.buffer).toString("base64"),n=zr(t,i.fileName,qr(t),r),a=await e.request(n),s=JSON.parse(a);if(!s?.key)throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete i.base64Image,delete i.buffer;const e=t.url,r=t.options||"";i.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},Qr=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 Zr{static instance;client=new re;isConnected=!1;constructor(){}static getInstance(){return Zr.instance||(Zr.instance=new Zr),Zr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:i,password:n,privateKey:a,passphrase:s}=e,o=a?{username:i,privateKeyPath:a,passphrase:s||void 0}:{username:i,password:n};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,i){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=Zr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),i),await this.client.putFile(e,r);const n=i.fileMode||"0644";"0644"!==n&&await this.exec(`chmod ${n} "${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 i="";for(const e of t)if(e){i+=`/${e}`;const t=`mkdir "${i}" && chmod ${r} "${i}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=Zr.changeWinStylePathToUnix(e);const[i,n]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${i}:${n} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const Jr=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=mt({path:r.uploadPath,rootToEmpty:!1});const i=mt({path:r.webPath,rootToEmpty:!1});try{const n=e.output;for(const a of n)if(a.fileName&&a.buffer){let n=a.buffer;!n&&a.base64Image&&(n=Buffer.from(a.base64Image,"base64"));const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,a.fileName);s(t.dirname(S)),I(S,n);const c=Zr.getInstance();await c.connect(r);const P=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),a.fileName);await c.upload(S,P,r),r.fileUser&&await c.chown(P,r.fileUser),delete a.base64Image,delete a.buffer;const u=r.customUrl||r.host;r.webPath?a.imgUrl=`${u}/${ft(`${"/"===i?"":i}${a.fileName}`)}`:a.imgUrl=`${u}/${ft(`${"/"===r.uploadPath?"":r.uploadPath}${a.fileName}`)}`;const p=t.join(E,a.fileName);s(t.dirname(p)),l(p),_(S,t.join(E,a.fileName)),a.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(a.fileName)}`,c.close()}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},ei=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 ti=(e,t,r,i="")=>({method:"POST",url:`https://${i}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),ri=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(/\/$/,""),n=e.output;for(const a of n){if(!a.fileName)continue;const n=a.buffer||(a.base64Image?Buffer.from(a.base64Image,"base64"):void 0);if(!n)continue;const s=ti(a.fileName,n,t.token,r),o=await e.request(s),E=JSON.parse(o);if("success"===E.code)a.imgUrl=E.data.url,a.hash=E.data.hash;else{if("image_repeated"!==E.code||"string"!=typeof E.images){const t=E.message||"Upload failed";throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}a.imgUrl=E.images;try{const e=await i.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),n=e.data?.data?.find(e=>e.url===E.images);n&&(a.hash=n.hash)}catch{}}delete a.base64Image,delete a.buffer}return e},ii=e=>{const t=e.getConfig("picBed.smms")||{};return[Ft(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),Ft(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const ni=(e,t)=>{const{secretId:r,secretKey:i,appId:n,bucket:a,version:s,area:o,endpoint:E,path:S}=e;let I,l="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${n}&b=${a}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=T.createHmac("sha1",i).update(s).digest(),E=Buffer.concat([o,Buffer.from(s)]);I=Buffer.from(E).toString("base64")}else{const e=Math.floor(Date.now()/1e3);l=`${e};${e+86400}`;const r=T.createHmac("sha1",i).update(l).digest("hex"),n=`put\n/${S}${t}\n\nhost=${a}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${l}\n${T.createHash("sha1").update(n).digest("hex")}\n`;I=T.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:n,bucket:a,signTime:l}},ai=(e,t,r,i,n)=>{const{area:a,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${n};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${a}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${a}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:i},resolveWithFullResponse:!0};const l=`${o}.${E||`cos.${a}.myqcloud.com`}`;return{method:"PUT",url:`http://${l}/${ft(`${s}${t}`)}`,headers:{Host:l,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:V.getType(t)||"application/octet-stream","User-Agent":I},body:i,resolveWithFullResponse:!0}},si=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,i=(t.customUrl||"").replace(/\/$/,""),n=mt({path:t.path}),a=mt({path:t.webPath});t.path=n;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=ni(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=ai(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}})),l=s&&"string"==typeof I?JSON.parse(I):I;if(400===l.statusCode)throw l?.body?.err||new Error(l?.body?.msg||l?.body?.message);const _=t.options||"",c=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===l.message)o.imgUrl=i?`${i}/${ft(`${a||n}${o.fileName}`)}${_}`:`${l.data.source_url}${_}`;else{if(s||200!==l?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(i)o.imgUrl=`${i}/${ft(`${a||n}${o.fileName}`)}${_}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${ft(`${n}${o.fileName}`)}${_}`}}c&&(o.imgUrl+=_?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Qe.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}},oi=e=>{const t=e.getConfig("picBed.tcyun")||{};return[Ft(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),Ft(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),Ft(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),Ft(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),Ft(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),Ft(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),Ft(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),Ft(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),Ft(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),Ft(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),Ft(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),Ft(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 Ei="https://v0.api.upyun.com",Si=e=>T.createHash("md5").update(e).digest("hex"),Ii=async(e,t,r,i)=>{if(!t.fileName||!t.buffer)return;const n=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!n)return;const a=((e,t)=>{const{path:r="",operator:i,password:n,bucket:a}=e,s=Si(n),o=(new Date).toUTCString(),E=`PUT&/${a}/${ft(`${r}${t}`)}&${o}`;return`UPYUN ${i}:${T.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,i)=>{const{bucket:n,path:a}=e;let s=(e.endpoint||Ei).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${n}/${ft(`${a}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":V.getType(t)||"application/octet-stream"},body:i,resolveWithFullResponse:!0}})(r,t.fileName,a,n);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}/${ft(`${i}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?li(E,r,t.fileName):E},li=(e,t,r)=>{const i=((e,t,r,i)=>{const n=`/${r.path||""}${i}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),a=Math.round(Date.now()/1e3),s=t?a+parseInt(t.toString(),10):a+1800;return`_upt=${Si(`${e}&${s}&${n}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${i}`:`${e}?${i}`},_i=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,i=mt({path:t.path});t.path=i;for(const n of r)await Ii(e,n,t,i);return e}catch(t){throw ci(e,t),t}},ci=(e,t)=>{if("Upload failed"===t.message)e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Re(t.error),i="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:i}),text:"http://docs.upyun.com/api/errno/"})}},Pi=e=>{const t=e.getConfig("picBed.upyun")||{};return[Ft(e,"upyun","bucket","input",t.bucket||"",!0),Ft(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),Ft(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),Ft(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),Ft(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),Ft(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),Ft(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),Ft(e,"upyun","expireTime","input",t.expireTime||"",!1),Ft(e,"upyun","endpoint","input",t.endpoint||Ei,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const ui=4294967296,pi=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},gi=(e,t,r,i,n,a)=>`${e}/${ft(`${a?r:t}${i}`).replace(/^\/+/g,"")}${n}`,Ai=(e,r,i)=>{const a=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(a,r);s(t.dirname(o)),n.writeFileSync(o,i)},Ci=async(e,r,i,n)=>{const a=t.dirname(`${r}${i}`),s="/"===a?"":a;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${i}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,n,{overwrite:!0})},di=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=mt({path:t.path,rootToEmpty:!1});const i=mt({path:t.webpath,rootToEmpty:!1}),n=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:ui,maxContentLength:ui};return"digest"===e.authType&&(t.authType=ie.Digest),ne(e.host,t)})(t),a=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=pi(s);if(!await Ci(r,t.path,s.fileName,o))throw new Error("Upload failed");Ai(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=gi(a,t.path,i,s.fileName,n,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Ti=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[Ft(e,"webdavplist","host","input",t.host||"",!0),Ft(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),Ft(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),Ft(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),Ft(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),Ft(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),Ft(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),Ft(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),Ft(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const Di=()=>({register(e){!function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:lr,config:_r})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:gr,config:Ar})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Dr,config:mr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:Rr,config:Mr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Gr,config:br})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Wr,config:$r})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:Fr,config:Hr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:kr,config:vr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:Vr,config:jr})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Xr,config:Qr})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:Jr,config:ei})}(e),function(e){e.helper.uploader.register(bt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:ri,config:ii})}(e),function(e){e.helper.uploader.register(xt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:si,config:oi})}(e),function(e){e.helper.uploader.register(Wt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:_i,config:Pi})}(e),function(e){e.helper.uploader.register($t,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:di,config:Ti})}(e)}});class mi{ctx;constructor(e){this.ctx=e}migrateToMultiConfig(e){const t=this.ctx.getConfig(),r=this.ctx.getConfig(`picBed.${e}`);if(!t.uploader||!t.uploader[e])if(t.uploader||(t.uploader={}),r&&Object.keys(r).length>0){const i={...r,_id:r._id||U(),_configName:r._configName||"Default",_createdAt:r._createdAt||Date.now(),_updatedAt:r._updatedAt||Date.now()};t.uploader[e]={configList:[i],defaultId:i._id},this.ctx.saveConfig({uploader:t.uploader}),this.ctx.saveConfig({[`picBed.${e}`]:i})}else t.uploader[e]={configList:[],defaultId:""},this.ctx.saveConfig({uploader:t.uploader})}getCurrentUploaderConfig(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);if(!t||!t.defaultId)return null;return t.configList.find(e=>e._id===t.defaultId)||null}getAllUploaderConfigs(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);return t?.configList||[]}addUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const i=this.ctx.getConfig(`uploader.${e}`),n={...r,_id:U(),_configName:t,_createdAt:Date.now(),_updatedAt:Date.now()};return i.configList.push(n),1===i.configList.length&&(i.defaultId=n._id),this.ctx.saveConfig({[`uploader.${e}`]:i}),i.defaultId===n._id&&this.syncConfigToPicBed(e,n),n}updateUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const i=this.ctx.getConfig(`uploader.${e}`),n=i.configList.findIndex(e=>e._id===t);if(-1===n)return!1;const a=i.configList[n];return i.configList[n]={...r,_id:a._id,_configName:r._configName||a._configName,_createdAt:a._createdAt,_updatedAt:Date.now()},this.ctx.saveConfig({[`uploader.${e}`]:i}),i.defaultId===t&&this.syncConfigToPicBed(e,i.configList[n]),!0}deleteUploaderConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),i=this.ctx.getConfig("picBed.uploader")||this.ctx.getConfig("picBed.current")||"smms";if(1===r.configList.length&&e===i)return this.ctx.log.warn("Cannot delete the only config of the current uploader."),!1;const n=r.configList.findIndex(e=>e._id===t);return-1!==n&&(r.defaultId===t&&r.configList.length>1?(this.ctx.log.warn("Cannot delete the default config. Please set another config as default first."),!1):(r.configList.splice(n,1),r.defaultId===t&&(r.defaultId=r.configList.length>0?r.configList[0]._id:""),this.ctx.saveConfig({[`uploader.${e}`]:r}),0===r.configList.length&&this.ctx.removeConfig("picBed",e),this.ctx.log.info(`${e} is deleted everywhere.`),!0))}setDefaultConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),i=r.configList.find(e=>e._id===t);return!!i&&(r.defaultId=t,this.ctx.saveConfig({[`uploader.${e}`]:r}),this.syncConfigToPicBed(e,i),!0)}syncConfigToPicBed(e,t){this.ctx.saveConfig({[`picBed.${e}`]:t})}getConfigByName(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`)||{};return r?.configList?.find(e=>e._configName===t)||null}renameConfig(e,t,r){this.migrateToMultiConfig(e);const i=this.ctx.getConfig(`uploader.${e}`),n=i.configList.find(e=>e._id===t);return!!n&&(n._configName=r,n._updatedAt=Date.now(),this.ctx.saveConfig({[`uploader.${e}`]:i}),i.defaultId===t&&this.syncConfigToPicBed(e,n),!0)}}class fi{ctx;db;constructor(e){if(this.ctx=e,this.db=new ae(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{current:"smms",uploader:"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}this.read(!0)}read(e){return this.db.read(e)}getSingle(e=""){return""===e?this.db.read(!0):(this.read(!0),this.db.get(e))}get(e=""){return Array.isArray(e)?e.map(e=>this.getSingle(e)):this.getSingle(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])})}getConfigPath(){return this.ctx.configPath}}const Li="piclist-clipboard-images",hi={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'},Bi={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const Ni=async e=>{!function(e){const r=t.join(e.baseDir,Li);s(r)}(e);const r=t.join(e.baseDir,Li,`${F().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((i,a)=>{const s=(()=>{const e=process.platform;return oe?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,Bi[s]);let E;n.existsSync(o)||n.writeFileSync(o,hi[s],"utf8"),E="darwin"===s?se("osascript",[o,r]):"win32"===s||"win10"===s?se("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):se("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Qe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),a(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)&&n.existsSync(E)&&(S=!0),"no image"!==E&&!n.existsSync(E))return a(new Error(`Can't find ${E}`));i({imgPath:E,shouldKeepAfterUploading:S})})})};class Ui extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;configManager;Request;i18n;VERSION="2.3.2";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 zt("transformer"),uploader:new zt("uploader"),beforeTransformPlugins:new zt("beforeTransformPlugins"),beforeUploadPlugins:new zt("beforeUploadPlugins"),afterUploadPlugins:new zt("afterUploadPlugins")},this.initConfigPath(),this.log=new Qt(this),this.cmd=new Xt(this),this.pluginHandler=new Zt(this),this.configManager=new mi(this),this.initConfig()}static async create(e=""){const t=new Ui(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(M(),".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)||c(`${this.configPath}`)}initConfig(){this.db=new fi(this),this.configManager=new mi(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new pt(this),this.Request=new sr(this),this._pluginLoader=new er(this),qt("picgo"),Di().register(this),{register(e){e.helper.transformer.register("path",Sr),e.helper.transformer.register("base64",or)}}.register(this),qt(""),await this._pluginLoader.load(),this.lifecycle=new Pt(this)}catch(e){throw this.emit(Qe.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?A(this._config,e):this._config}saveConfig(e){Ue(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&&(Ne(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ue(e)?Object.keys(e).forEach(t=>{Ne(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),C(this._config,t,e[t]),tr.emit(Ze.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Ne(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 Ni(this),r=()=>{t||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Qe.FAILED,r),this.once(Qe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Qe.FAILED,e),e}}changeCurrentUploader(e,t){this.saveConfig({[`picBed.${e}`]:t,"picBed.uploader":e,"picBed.current":e})}async uploadReturnCtx(e){const t={ctx:this,backupCtx:void 0};if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),t;const r=p(e||[]);let i=this.getConfig("settings.enableSecondUploader")||!1;const n=this.getConfig("picBed.secondUploader")||"",a=this.getConfig("picBed.secondUploaderConfig")||{};a&&0!==Object.keys(a).length||(i=!1);const s=this.lifecycle.getUploaderType(this);if(!s.config||0===Object.keys(s.config).length)return this.log.error("Current uploader config is empty, please check your settings"),t;a._id===s.id&&(this.log.info("The second uploader config is the same as the first uploader, skipping second upload."),i=!1);let o,E="",S="",I={imgPath:"",shouldKeepAfterUploading:!1},l=!1;if(void 0!==e&&0!==e.length)E="file",o=await this.lifecycle.start(e,!1),t.ctx=o;else{E="clipboard";try{I=await Ni(this),S=I.imgPath,l=I.shouldKeepAfterUploading,i&&(l=!0);const e=()=>{l||P(S).catch(e=>{this.log.error(e)})};if("no image"===S)throw new Error("image not found in clipboard");this.once(Qe.FAILED,e),this.once(Qe.FINISHED,e),o=await this.lifecycle.start([S],!1),t.ctx=o}catch(e){throw this.emit(Qe.FAILED,e),e}}if(!i)return t;const _=this.getConfig("settings.secondPicBedMode");let c;if(!a||0===Object.keys(a).length)return this.log.error("Second uploader config is empty, please check your settings"),t;this.changeCurrentUploader(n,a);try{if("seperate"===_){if("clipboard"===E){const e=()=>{I.shouldKeepAfterUploading||P(S).catch(e=>{this.log.error(e)})};this.once(Qe.FAILED,e),this.once(Qe.FINISHED,e)}c=await this.lifecycle.start("file"===E?r:[I.imgPath],!1)}else c=await this.lifecycle.start(o.processedInput,!0);t.backupCtx=c}catch(e){this.log.error("Failed to upload to second uploader:",e)}finally{this.changeCurrentUploader(s.picBed,s.config||{})}return t}}export{Xt as Commander,Pt as Lifecycle,zt as LifecyclePlugins,Qt as Logger,Ui as PicGo,qe as PicGoUtils,Zt as PluginHandler,er as PluginLoader,sr as Request};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy91dGlscy9ydW5TY3JpcHRzLnRzIiwiLi4vc3JjL2NvcmUvTGlmZWN5Y2xlLnRzIiwiLi4vc3JjL3V0aWxzL2NyZWF0ZUNvbnRleHQudHMiLCIuLi9zcmMvaTE4bi9lbi50cyIsIi4uL3NyYy9pMThuL2luZGV4LnRzIiwiLi4vc3JjL2kxOG4vemgtQ04udHMiLCIuLi9zcmMvaTE4bi96aC1UVy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9jb25maWcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnTWFuYWdlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pMThuLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcHJveHkudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9zZXR0aW5nLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvY29tcHJlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci93YXRlcm1hcmsudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV1cGxvYWQvYnVpbGRJblJlbmFtZS50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3NraXBQcm9jZXNzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VwbG9hZC50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91c2UudHMiLCIuLi9zcmMvbGliL0xpZmVjeWNsZVBsdWdpbnMudHMiLCIuLi9zcmMvbGliL0NvbW1hbmRlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pbmRleC50cyIsIi4uL3NyYy9saWIvTG9nZ2VyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5IYW5kbGVyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5Mb2FkZXIudHMiLCIuLi9zcmMvdXRpbHMvZXZlbnRCdXMudHMiLCIuLi9zcmMvbGliL1JlcXVlc3QudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9iYXNlNjQudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9wYXRoLnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvaW5kZXgudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hZHZhbmNlZHBsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGl5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zMy91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3VwbG9hZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYXdzczNwbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2dpdGh1Yi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2ltZ3VyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvbG9jYWwudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sc2t5LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcGljbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3Fpbml1LnRzIiwiLi4vc3JjL3V0aWxzL3NzaENsaWVudC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NmdHAudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zbW1zLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdGN5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91cHl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3dlYmRhdi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2luZGV4LnRzIiwiLi4vc3JjL3V0aWxzL2NvbmZpZ01hbmFnZXIudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiX2UiLCJoYW5kbGVVcmxFbmNvZGUiLCJlbmNvZGVVUkkiLCJnZXRJbWFnZVNpemUiLCJmaWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ0eXBlIiwiaW1hZ2VTaXplIiwicmVhbCIsImdldEZTRmlsZSIsImFzeW5jIiwiZmlsZVBhdGgiLCJmaWxlTmFtZSIsImJ1ZmZlciIsImZzIiwicmVhZEZpbGUiLCJzdWNjZXNzIiwicmVhc29uIiwiZ2V0VVJMRmlsZSIsImN0eCIsInRpbWVvdXRJZCIsInJlcXVlc3RGbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVzIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicmVzcG9uc2VUeXBlIiwidGhlbiIsInJlc3AiLCJkYXRhIiwiY2xlYXJUaW1lb3V0IiwidXJsUGF0aCIsIlVSTCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwiZ2V0Iiwic3RhcnRzV2l0aCIsImVycm9yIiwibWVzc2FnZSIsImNhdGNoIiwidGltZW91dFByb21pc2UiLCJzZXRUaW1lb3V0IiwicmFjZSIsImdldFBsdWdpbk5hbWVUeXBlIiwibmFtZSIsImlzU2ltcGxlTmFtZSIsIm5hbWVPclBhdGgiLCJpc0Fic29sdXRlIiwicGx1Z2luUGF0aCIsInByb2Nlc3MiLCJjd2QiLCJleGlzdHNTeW5jIiwiaGFuZGxlQ29tcGxldGVQbHVnaW5OYW1lIiwic2NvcGUiLCJnZXRQcm9jZXNzUGx1Z2luTmFtZSIsImxvZ2dlciIsImNvbnNvbGUiLCJoYW5kbGVVbml4U3R5bGVQYXRoIiwid2FybiIsImdldE5vcm1hbFBsdWdpbk5hbWUiLCJyZW1vdmVQbHVnaW5WZXJzaW9uIiwicGFja2FnZUpTT05QYXRoIiwicG9zaXgiLCJwa2ciLCJyZWFkSlNPTlN5bmMiLCJwYXRoU3RyIiwicmVnIiwibWF0Y2hBcnIiLCJtYXRjaCIsImNvbmZpZ0JsYWNrTGlzdCIsImlzQ29uZmlnS2V5SW5CbGFja0xpc3QiLCJibGFja0l0ZW0iLCJpc0lucHV0Q29uZmlnVmFsaWQiLCJjb25maWciLCJpc0FycmF5Iiwic2FmZVBhcnNlIiwic3RyIiwiSlNPTiIsInBhcnNlIiwiZm9yY2VOdW1iZXIiLCJpc05hTiIsIk51bWJlciIsImlzRGV2IiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0V2F0ZXJtYXJrSW1hZ2VQYXRoIiwiQWRkV2F0ZXJtYXJrIiwiaW1nIiwid2F0ZXJtYXJrVHlwZSIsImRlZmF1bHRXYXRlcm1hcmtGb250UGF0aCIsImlzRnVsbFNjcmVlbldhdGVybWFyayIsIndhdGVybWFya0RlZ3JlZSIsInRleHQiLCJ3YXRlcm1hcmtGb250UGF0aCIsIndhdGVybWFya1NjYWxlUmF0aW8iLCJ3YXRlcm1hcmtDb2xvciIsIndhdGVybWFya0ltYWdlUGF0aCIsInBvc2l0aW9uIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5IiwiaW1hZ2UiLCJzaGFycCIsImFuaW1hdGVkIiwiaW1nV2lkdGgiLCJtZXRhZGF0YSIsIndhdGVybWFyayIsImNvbXBvc2l0ZSIsIkJ1ZmZlciIsImZyb20iLCJyYXciLCJjaGFubmVscyIsInRpbGUiLCJibGVuZCIsInRvQnVmZmVyIiwiY29sb3IiLCJmb250RmFtaWx5Iiwib3B0aW9ucyIsImFuY2hvciIsImF0dHJpYnV0ZXMiLCJmaWxsIiwidGV4dFNWRyIsIlRleHRUb1NWRyIsImxvYWRTeW5jIiwiZ2V0U1ZHIiwidGV4dDJTVkciLCJ3YXRlcm1hcmtXaWR0aCIsIndhdGVybWFya0hlaWdodCIsImdldFNpemUiLCJ3YXRlcm1hcmtSZXNpemVXaWR0aCIsImZsb29yIiwid2F0ZXJtYXJrUmVzaXplSGVpZ2h0IiwicmVzaXplIiwiZml0Iiwicm90YXRlIiwiYmFja2dyb3VuZCIsInIiLCJnIiwiYWxwaGEiLCJjcmVhdGVXYXRlcm1hcmsiLCJncmF2aXR5IiwidmFsaWRQYXJhbSIsInBhcmFtcyIsImV2ZXJ5IiwicGFyYW0iLCJhdmFpbGFibGVDb252ZXJ0Rm9ybWF0TGlzdCIsImltYWdlRm9ybWF0TGlzdCIsInZhbGlkT3V0cHV0Rm9ybWF0IiwiZm9ybWF0IiwiZ2V0VHJlYXRlZFdhdGVyTWFya09wdGlvbnMiLCJnbG9iYWwiLCJpZFNwZWNpZmljQ29uZmlnIiwicGljQmVkIiwiaWQiLCJpc0FkZFdhdGVybWFyayIsImlzQWRkV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrVHlwZU1hcCIsImlzRnVsbFNjcmVlbldhdGVybWFya01hcCIsIndhdGVybWFya0RlZ3JlZU1hcCIsIndhdGVybWFya1RleHQiLCJ3YXRlcm1hcmtUZXh0TWFwIiwid2F0ZXJtYXJrU2NhbGVSYXRpb01hcCIsIndhdGVybWFya0NvbG9yTWFwIiwid2F0ZXJtYXJrSW1hZ2VQYXRoTWFwIiwid2F0ZXJtYXJrUG9zaXRpb24iLCJ3YXRlcm1hcmtQb3NpdGlvbk1hcCIsIndhdGVybWFya0ltYWdlT3BhY2l0eU1hcCIsImdldFRyZWF0ZWRDb21wcmVzc09wdGlvbnMiLCJxdWFsaXR5IiwicXVhbGl0eU1hcCIsImlzQ29udmVydCIsImlzQ29udmVydE1hcCIsImNvbnZlcnRGb3JtYXQiLCJjb252ZXJ0Rm9ybWF0TWFwIiwiaXNSZVNpemUiLCJpc1JlU2l6ZU1hcCIsInJlU2l6ZUhlaWdodCIsInJlU2l6ZUhlaWdodE1hcCIsInJlU2l6ZVdpZHRoIiwicmVTaXplV2lkdGhNYXAiLCJza2lwUmVTaXplT2ZTbWFsbEltZyIsInNraXBSZVNpemVPZlNtYWxsSW1nTWFwIiwiaXNSZVNpemVCeVBlcmNlbnQiLCJpc1JlU2l6ZUJ5UGVyY2VudE1hcCIsInJlU2l6ZVBlcmNlbnQiLCJyZVNpemVQZXJjZW50TWFwIiwiaXNSb3RhdGUiLCJpc1JvdGF0ZU1hcCIsInJvdGF0ZURlZ3JlZSIsInJvdGF0ZURlZ3JlZU1hcCIsImlzUmVtb3ZlRXhpZiIsImlzUmVtb3ZlRXhpZk1hcCIsImlzRmxpcCIsImlzRmxpcE1hcCIsImlzRmxvcCIsImlzRmxvcE1hcCIsImZvcm1hdENvbnZlcnRPYmoiLCJmb3JtYXRDb252ZXJ0T2JqTWFwIiwiaW1hZ2VBZGRXYXRlck1hcmsiLCJmb3JtYXRPcHRpb25zIiwiaW1hZ2VDb21wcmVzcyIsInJhd0Zvcm1hdCIsIm5vcm1hbGl6ZUltYWdlRXh0IiwibWluIiwicm91bmQiLCJpbWFnZVdpZHRoIiwiaW1hZ2VIZWlnaHQiLCJzY2FsZVJhdGlvIiwiZmxpcCIsImZsb3AiLCJuZXdGb3JtYXQiLCJnZXRDb252ZXJ0ZWRGb3JtYXQiLCJ0b0Zvcm1hdCIsIm1vempwZWciLCJ0b0xvd2VyQ2FzZSIsImlzTmVlZEFkZFdhdGVybWFyayIsIndhdGVybWFya09wdGlvbnMiLCJmaWxlRXh0IiwiaXNOZWVkQ29tcHJlc3MiLCJjb21wcmVzc09wdGlvbnMiLCJyZW1vdmVFeGlmIiwiSUxvZ1R5cGUiLCJJQnVpbGRJbkV2ZW50IiwiSUJ1c0V2ZW50IiwiRXJyb3IiLCJzdGFjayIsInN0cmluZ2lmeSIsIlN0cmluZyIsIlNjcmlwdEhhbmRsZXIiLCJzY3JpcHRDYWNoZSIsIk1hcCIsInN0YWdlcyIsImNvbnN0cnVjdG9yIiwidGhpcyIsInJlZnJlc2hDYWNoZSIsImNsZWFyIiwiYmFzZURpciIsImFsbENvbmZpZyIsImdldENvbmZpZyIsImRpc2FibGVkTGlzdCIsInNjcmlwdHMiLCJhbGwiLCJtYXAiLCJzdGFnZSIsImNvbmZpZ0tleSIsInNjcmlwdERpciIsImZpbGVzIiwicmVhZGRpciIsInN0YWdlU2NyaXB0cyIsImVuZHNXaXRoIiwiY29udGVudCIsImNvbXBpbGVkU2NyaXB0Iiwidm0iLCJTY3JpcHQiLCJmaWxlbmFtZSIsInB1c2giLCJzZXQiLCJydW5TdGFnZSIsImV4dHJhIiwic2NyaXB0T2JqIiwiZXhwb3NlZEFQSSIsImNyZWF0ZVNhbmRib3giLCJjb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsInJ1bkluQ29udGV4dCIsIm1haW4iLCJyZXN1bHQiLCJsb2ciLCJpbmZvIiwiZSIsImZyZWV6ZSIsImFyZ3MiLCJkZWJ1ZyIsImF4aW9zIiwib3MiLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJiYXNlNjREZWNvZGUiLCJiYXNlNjRFbmNvZGUiLCJpc0J1ZmZlciIsIk1FU1NBR0VTIiwiUFJPR1JFU1MiLCJERUZBVUxUX1NLSVBfRVhURU5TSU9OUyIsIkRFRkFVTFRfVVBMT0FERVIiLCJMaWZlY3ljbGUiLCJFdmVudEVtaXR0ZXIiLCJ0dGZQYXRoIiwic3VwZXIiLCJpbml0aWFsaXplRGlycyIsImVuc3VyZURpclN5bmMiLCJlbXB0eURpclN5bmMiLCJkb3dubG9hZFRURiIsInN0YXRTeW5jIiwic2l6ZSIsIndyaXRlRmlsZVN5bmMiLCJnZXRQcm9jZXNzaW5nT3B0aW9ucyIsImNvbXByZXNzT3B0aW9uc0dsb2JhbCIsIndhdGVybWFya09wdGlvbnNHbG9iYWwiLCJidWlsZEluTGlzdCIsInVwbG9hZGVyVHlwZSIsImdldFVwbG9hZGVyVHlwZSIsImlkU3BlY2lmaWNDb21wcmVzc0NvbmZpZyIsImZpbmQiLCJjb21wcmVzcyIsImlkU3BlY2lmaWNXYXRlcm1hcmtDb25maWciLCJwaWNCZWRDb25maWciLCJfaWQiLCJnZXRTa2lwRXh0ZW5zaW9ucyIsInNraXBQcm9jZXNzR2xvYmFsIiwiaWRTcGVjaWZpY1NraXBQcm9jZXNzQ29uZmlnIiwic2tpcFByb2Nlc3MiLCJza2lwUHJvY2Vzc0V4dExpc3QiLCJ0cmltIiwiU2V0IiwiZm9ybWF0dGVkSXRlbSIsInN0YXJ0IiwiY29uZmlnUGF0aCIsImNtZCIsIm91dHB1dCIsInJhd0lucHV0IiwicHJvY2Vzc2VkSW5wdXQiLCJwbHVnaW5Mb2FkZXIiLCJwbHVnaW5IYW5kbGVyIiwiUmVxdWVzdCIsImhlbHBlciIsIlZFUlNJT04iLCJHVUlfVkVSU0lPTiIsImkxOG4iLCJjb25maWdNYW5hZ2VyIiwiYmluZCIsInNhdmVDb25maWciLCJyZW1vdmVDb25maWciLCJzZXRDb25maWciLCJ1bnNldENvbmZpZyIsInVwbG9hZCIsInVwbG9hZFJldHVybkN0eCIsImFkZExpc3RlbmVyIiwib24iLCJvbmNlIiwicmVtb3ZlTGlzdGVuZXIiLCJvZmYiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzZXRNYXhMaXN0ZW5lcnMiLCJnZXRNYXhMaXN0ZW5lcnMiLCJsaXN0ZW5lcnMiLCJyYXdMaXN0ZW5lcnMiLCJlbWl0IiwibGlzdGVuZXJDb3VudCIsInByZXBlbmRMaXN0ZW5lciIsInByZXBlbmRPbmNlTGlzdGVuZXIiLCJldmVudE5hbWVzIiwiaW5pdGlhbGl6ZUNvbnRleHQiLCJoYW5kbGVTa2lwUHJvY2VzcyIsImV4ZWN1dGVMaWZlY3ljbGUiLCJoYW5kbGVFcnJvciIsInJhd0lucHV0UGF0aCIsImNsb25lRGVlcCIsImhhbmRsZXIiLCJkb1VwbG9hZCIsImFmdGVyVXBsb2FkIiwicHJlcHJvY2VzcyIsImJlZm9yZVRyYW5zZm9ybSIsImRvVHJhbnNmb3JtIiwiYnVpbGRJblJlbmFtZSIsImJlZm9yZVVwbG9hZCIsIkZBSUxFRCIsIlVQTE9BRF9QUk9HUkVTUyIsInNraXBFeHRlbnNpb25zIiwiQkVGT1JFX1RSQU5TRk9STSIsInRlbXBGaWxlUGF0aCIsInByb2Nlc3NJbWFnZXMiLCJpbml0aWFsaXplUmF3SW5wdXRQYXRocyIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJyZWFkRmlsZVN5bmMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsImdsb2JhbFJlbmFtZUNvbmZpZyIsInJlbmFtZUNvbmZpZyIsInJlbmFtZSIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwidXBsb2FkZXIiLCJjdXJyZW50VXBsb2FkZXIiLCJvdXRwdXRJbWciLCJBRlRFUl9VUExPQUQiLCJhZnRlclVwbG9hZFBsdWdpbnMiLCJtc2ciLCJpc0VuY29kZU91dHB1dFVSTCIsImltZ1VybCIsIkZJTklTSEVEIiwibGlmZUN5Y2xlUGx1Z2lucyIsInBsdWdpbnMiLCJnZXRMaXN0IiwicGx1Z2luTmFtZXMiLCJnZXRJZExpc3QiLCJsaWZlQ3ljbGVOYW1lIiwiZ2V0TmFtZSIsInBsdWdpbiIsImxhbmd1YWdlTGlzdCIsIlVQTE9BRF9GQUlMRUQiLCJDSEVDS19TRVRUSU5HUyIsIkNIRUNLX1NFVFRJTkdTX0FORF9ORVRXT1JLIiwiVVBMT0FEX0ZBSUxFRF9SRUFTT04iLCJTRVJWRVJfRVJST1IiLCJBVVRIX0ZBSUxFRCIsIlBJQ0JFRF9TTU1TIiwiUElDQkVEX1NNTVNfVE9LRU4iLCJQSUNCRURfU01NU19NRVNTQUdFX1RPS0VOIiwiUElDQkVEX1NNTVNfQkFDS1VQRE9NQUlOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9CQUNLVVBfRE9NQUlOIiwiUElDQkVEX0FEVkFOQ0VEUExJU1QiLCJQSUNCRURfQURWQU5DRURQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfUkVTREFUQVBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1JFU0RBVEFQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfVVBMT0FEU0NSSVBUTkFNRSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfVVBMT0FEU0NSSVBUTkFNRSIsIlBJQ0JFRF9MT0NBTCIsIlBJQ0JFRF9MT0NBTF9QQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9MT0NBTF9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfV0VCUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfUExJU1QiLCJQSUNCRURfQUxJU1RfVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVJMIiwiUElDQkVEX0FMSVNUX1RPS0VOIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfQUxJU1RfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUExPQURfUEFUSCIsIlBJQ0JFRF9BTElTVF9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfV0VCX1BBVEgiLCJQSUNCRURfQUxJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWVNFQ1JFVCIsIlBJQ0JFRF9BTElDTE9VRF9CVUNLRVQiLCJQSUNCRURfQUxJQ0xPVURfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfVkVSU0lPTiIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9USVAiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ09ORklSTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DQU5DRUwiLCJQSUNCRURfR0lUSFVCIiwiUElDQkVEX0dJVEhVQl9UT0tFTiIsIlBJQ0JFRF9HSVRIVUJfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfV0VCUEFUSCIsIlBJQ0JFRF9HSVRIVUJfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9DVVNUT01VUkwiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9RSU5JVSIsIlBJQ0JFRF9RSU5JVV9BQ0NFU1NLRVkiLCJQSUNCRURfUUlOSVVfU0VDUkVUS0VZIiwiUElDQkVEX1FJTklVX0JVQ0tFVCIsIlBJQ0JFRF9RSU5JVV9QQVRIIiwiUElDQkVEX1FJTklVX1VSTCIsIlBJQ0JFRF9RSU5JVV9PUFRJT05TIiwiUElDQkVEX1FJTklVX0FSRUEiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1FJTklVX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9VUkwiLCJQSUNCRURfSU1HVVIiLCJQSUNCRURfSU1HVVJfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfVVNFUk5BTUUiLCJQSUNCRURfSU1HVVJfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX0FMQlVNIiwiUElDQkVEX0lNR1VSX1BST1hZIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FDQ0VTU19UT0tFTiIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FMQlVNIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfVVBZVU4iLCJQSUNCRURfVVBZVU5fQlVDS0VUIiwiUElDQkVEX1VQWVVOX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX1BBU1NXT1JEIiwiUElDQkVEX1VQWVVOX1BBVEgiLCJQSUNCRURfVVBZVU5fVVJMIiwiUElDQkVEX1VQWVVOX09QVElPTlMiLCJQSUNCRURfVVBZVU5fRU5EUE9JTlQiLCJQSUNCRURfVVBZVU5fQU5USUxFRUNIVE9LRU4iLCJQSUNCRURfVVBZVU5fRVhQSVJFVElNRSIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9VUkwiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1dFQkRBVlBMSVNUIiwiUElDQkVEX1dFQkRBVlBMSVNUX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX1dFQlBBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX0FVVEhUWVBFIiwiUElDQkVEX1dFQkRBVlBMSVNUX09QVElPTlMiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9IT1NUIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfV0VCU0lURV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9TRlRQUExJU1QiLCJQSUNCRURfU0ZUUFBMSVNUX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX1BPUlQiLCJQSUNCRURfU0ZUUFBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1NGVFBQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWSIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfU0ZUUFBMSVNUX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX0RJUl9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVlfUEFTU1BIUkFTRSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9ESVJfTU9ERSIsIlBJQ0JFRF9QSUNMSVNUIiwiUElDQkVEX1BJQ0xJU1RfSE9TVCIsIlBJQ0JFRF9QSUNMSVNUX1BPUlQiLCJQSUNCRURfUElDTElTVF9QSUNCRUQiLCJQSUNCRURfUElDTElTVF9DT05GSUdOQU1FIiwiUElDQkVEX1BJQ0xJU1RfS0VZIiwiUElDQkVEX0xTS1lfUExJU1QiLCJQSUNCRURfTFNLWV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfSE9TVCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9MU0tZX1RPS0VOIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9MU0tZX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9TVFJBVEVHWV9JRCIsIlBJQ0JFRF9MU0tZX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9BTEJVTV9JRCIsIlBJQ0JFRF9MU0tZX1BFUk1JU1NJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1BFUk1JU1NJT04iLCJQSUNCRURfQVdTUzNQTElTVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FXU1MzUExJU1RfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFR0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BST1hZIiwiUElDQkVEX0FXU1MzUExJU1RfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BBVEhTVFlMRUFDQ0VTUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0RJU0FCTEVCVUNLRVRQUkVGSVhUT1VSTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1NFQ1JFVF9BQ0NFU1NLRVkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VSTFBSRUZJWCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUpFQ1RVTkFVVEhPUklaRUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiQlVJTERJTl9XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfSVNBRERXQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfSVNGVUxMU0NSRUVOV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktERUdSRUUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVFBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktTQ0FMRVJBVElPIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktDT0xPUiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVENPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLSU1BR0VQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLUE9TSVRJT04iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRU9QQUNJVFkiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fU0tJUFBST0NFU1MiLCJCVUlMRElOX1NLSVBQUk9DRVNTX1NLSVBQUk9DRVNTRVhUTElTVCIsIkJVSUxESU5fUkVOQU1FIiwiQlVJTERJTl9SRU5BTUVfRk9STUFUIiwiQlVJTERJTl9SRU5BTUVfRU5BQkxFIiwiQlVJTERJTl9DT01QUkVTUyIsIkJVSUxESU5fQ09NUFJFU1NfUVVBTElUWSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNDT05WRVJUIiwiQlVJTERJTl9DT01QUkVTU19DT05WRVJURk9STUFUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRUhFSUdIVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX0lTRkxJUCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTE9QIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX1NLSVBSRVNJWkVPRlNNQUxMSU1HIiwiQlVJTERJTl9DT01QUkVTU19JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JPVEFURURFR1JFRSIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRU1PVkVFWElGIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVNT1ZFRVhJRiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEX1BBVEgiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1ZBTElEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9WQUxJRCIsImVuIiwiSTE4bk1hbmFnZXIiLCJvYmplY3RBZGFwdGVyIiwiT2JqZWN0QWRhcHRlciIsImxhbmd1YWdlIiwiSTE4biIsImFkYXB0ZXIiLCJkZWZhdWx0TGFuZ3VhZ2UiLCJsb2FkT3V0dGVySTE4biIsImkxOG5Gb2xkZXIiLCJnZXRPdXR0ZXJJMThuRm9sZGVyIiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZm9yRWFjaCIsImlzRmlsZSIsImkxOG5GaWxlUGF0aCIsImkxOG5GaWxlIiwiaTE4bkZpbGVPYmoiLCJ5YW1sIiwibG9hZCIsInBhdGhFeGlzdHNTeW5jIiwidHJhbnNsYXRlIiwic2V0TGFuZ3VhZ2UiLCJhZGRMb2NhbGUiLCJsb2NhbGVzIiwib3JpZ2luTG9jYWxlcyIsImdldExvY2FsZSIsIm5ld0xvY2FsZXMiLCJtZXJnZSIsInNldExvY2FsZSIsImFkZExhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2VMaXN0IiwicHJvZ3JhbSIsIm9wdGlvbiIsImNvbmZpZ0NtZCIsImNvbW1hbmQiLCJkZXNjcmlwdGlvbiIsImFyZ3VtZW50cyIsImFjdGlvbiIsImNvbmZpZ3MiLCJnZXRBbGxVcGxvYWRlckNvbmZpZ3MiLCJkZWZhdWx0Q29uZmlnIiwiZ2V0Q3VycmVudFVwbG9hZGVyQ29uZmlnIiwibWFya2VyIiwiX2NvbmZpZ05hbWUiLCJjb25maWdOYW1lIiwiZ2V0Q29uZmlnQnlOYW1lIiwic2V0RGVmYXVsdENvbmZpZyIsInByb21wdHMiLCJkZWZhdWx0IiwiaW5xdWlyZXIiLCJwcm9tcHQiLCJjb25maXJtIiwiZGVsZXRlVXBsb2FkZXJDb25maWciLCJfY3JlYXRlZEF0IiwidG9Mb2NhbGVTdHJpbmciLCJfdXBkYXRlZEF0IiwidmFsdWUiLCJkaXNwbGF5VmFsdWUiLCJsYW5nIiwibGlzdCIsImNob2ljZXMiLCJjcmVhdGVDb21tYW5kIiwiYWxpYXMiLCJwcm94eSIsInJlZ2lzdHJ5IiwiaW5zdGFsbCIsInVuaW5zdGFsbCIsImZvcm1hdFBhdGhIZWxwZXIiLCJzdGFydFNsYXNoIiwiZW5kU2xhc2giLCJyb290VG9FbXB0eSIsImNsZWFuUGF0aCIsImVuY29kZVBhdGgiLCJwIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiYnVpbGRJblVwbG9hZGVyTmFtZXMiLCJjcmVhdGVGaWVsZCIsInBpY0JlZE5hbWUiLCJkZWZhdWx0VmFsdWUiLCJyZXF1aXJlZCIsImkxOG5QcmVmaXgiLCJleHRyYXMiLCJwcmVmaXgiLCJ0b1VwcGVyQ2FzZSIsInVwbG9hZGVyVHJhbnNsYXRvcnMiLCJhZHZhbmNlZHBsaXN0IiwiYWxpc3RwbGlzdCIsImFsaXl1biIsImdpdGh1YiIsImltZ3VyIiwibG9jYWwiLCJsc2t5cGxpc3QiLCJwaWNsaXN0IiwicWluaXUiLCJzZnRwcGxpc3QiLCJzbW1zIiwidGN5dW4iLCJ1cHl1biIsIndlYmRhdnBsaXN0IiwiQlVJTERJTl9NT0RVTEVTIiwidXNlckNvbmZpZyIsImhhbmRsZUNvbmZpZyIsIm1vZHVsZSIsInVwbG9hZGVyTmFtZSIsImFuc3dlciIsImdldENvbmZpZ05hbWUiLCJhY3R1YWxDb25maWdOYW1lIiwiZXhpc3RpbmdDb25maWciLCJ1cGRhdGVVcGxvYWRlckNvbmZpZyIsIm5ld0NvbmZpZyIsImFkZFVwbG9hZGVyQ29uZmlnIiwiY29uZmlnTGlzdCIsImlkT2ZDb25maWdOYW1lIiwiZXhpc3RpbmdFbnRyeUluZGV4IiwiZmluZEluZGV4IiwiYnVpbGRpbiIsInNldHRpbmciLCJlbnRyaWVzIiwic2VsZWN0ZWRNb2R1bGUiLCJoYW5kbGVCdWlsZGluTW9kdWxlIiwiaGFuZGxlVXBsb2FkZXJPclRyYW5zZm9ybWVyIiwicGx1Z2luTmFtZSIsImdldFBsdWdpbiIsImdldEZ1bGxMaXN0IiwiaGFuZGxlUGx1Z2luIiwiYXJndiIsImlucHV0TGlzdCIsImZpbHRlciIsImV4aXN0IiwidXNlIiwicGljZ29QbHVnaW5zIiwiTGlmZWN5Y2xlUGx1Z2lucyIsInN0YXRpYyIsInBsdWdpbklkTWFwIiwicmVnaXN0ZXIiLCJUeXBlRXJyb3IiLCJjdXJyZW50UGx1Z2luIiwidW5yZWdpc3RlciIsInBsdWdpbkxpc3QiLCJkZWxldGUiLCJ2YWx1ZXMiLCJzZXRDdXJyZW50UGx1Z2luTmFtZSIsIkNvbW1hbmRlciIsIkNvbW1hbmQiLCJpbml0IiwidmVyc2lvbiIsInNpbGVudCIsImV4aXQiLCJjdXJyZW50UGx1Z2luTmFtZSIsImxvYWRDb21tYW5kcyIsIkxvZ2dlciIsImxldmVsIiwibG9nTGV2ZWwiLCJsb2dQYXRoIiwiaGFuZGxlTG9nIiwiY2hlY2tMb2dMZXZlbCIsImxvZ0hlYWRlciIsImNoYWxrIiwiY2hlY2tMb2dGaWxlSXNMYXJnZSIsImlzTGFyZ2UiLCJ3YXJuaW5nTXNnIiwibG9nRmlsZVNpemVMaW1pdCIsInllbGxvdyIsInJlY3JlYXRlTG9nRmlsZSIsInVuc2hpZnQiLCJoYW5kbGVXcml0ZUxvZyIsImxvZ0ZpbGVTaXplIiwidW5saW5rU3luYyIsImNyZWF0ZUZpbGVTeW5jIiwiZGF5anMiLCJ1dGlsIiwiYXBwZW5kRmlsZVN5bmMiLCJQbHVnaW5IYW5kbGVyIiwiaW5zdGFsbGVkUGx1Z2lucyIsInByb2Nlc3NQbHVnaW5zIiwiaGFuZGxlUGx1Z2luTmFtZVByb2Nlc3MiLCJoYXNQbHVnaW4iLCJwa2dOYW1lIiwiZnVsbE5hbWVMaXN0IiwiZnVsbE5hbWUiLCJwa2dOYW1lTGlzdCIsImV4ZWNDb21tYW5kIiwiY29kZSIsImVyciIsInRpdGxlIiwiYm9keSIsInJlZ2lzdGVyUGx1Z2luIiwidW5yZWdpc3RlclBsdWdpbiIsIm1vZHVsZXMiLCJ3aGVyZSIsImNvbmNhdCIsIm5wbSIsInNwYXduIiwic3Rkb3V0IiwicGlwZSIsInN0ZGVyciIsIlBsdWdpbkxvYWRlciIsImZ1bGxMaXN0IiwicGx1Z2luTWFwIiwicGFja2FnZVBhdGgiLCJyZXBvc2l0b3J5IiwibGljZW5zZSIsInJlc29sdmVQbHVnaW4iLCJzeW5jIiwiYmFzZWRpciIsInBsdWdpbkRpciIsImpzb24iLCJkZXBzIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImFkZCIsInBsdWdpbkludGVyZmFjZSIsIk5PVElGSUNBVElPTiIsInBhY2thZ2VKc29uUGF0aCIsInBhY2thZ2VKc29uIiwicG9zc2libGVFbnRyaWVzIiwiZW50cnkiLCJlbnRyeVBhdGgiLCJwbHVnaW5VcmwiLCJwYXRoVG9GaWxlVVJMIiwiaHJlZiIsIm1vZCIsImltcG9ydCIsImV2ZW50QnVzIiwiaHR0cHNBZ2VudCIsImh0dHBzIiwiQWdlbnQiLCJtYXhWZXJzaW9uIiwibWluVmVyc2lvbiIsInJlamVjdFVuYXV0aG9yaXplZCIsImFwcGVuZEZvcm1EYXRhIiwiZm9ybSIsImFwcGVuZCIsInJlc3BvbnNlSW50ZXJjZXB0b3IiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJzdGF0dXMiLCJyZXNwb25zZUVycm9ySGFuZGxlciIsImVycm9yT2JqIiwiQ09ORklHX0NIQU5HRSIsImhhbmRsZVByb3h5IiwicHJveHlPcHRpb25zIiwiaG9zdCIsImhvc3RuYW1lIiwicG9ydCIsInByb3RvY29sIiwiaGVhZGVycyIsIm1heEJvZHlMZW5ndGgiLCJJbmZpbml0eSIsIm1heENvbnRlbnRMZW5ndGgiLCJodHRwc092ZXJIdHRwIiwiaW5zdGFuY2UiLCJjcmVhdGUiLCJpbnRlcmNlcHRvcnMiLCJvcHQiLCJfX2lzT2xkT3B0aW9ucyIsIkZvcm1EYXRhIiwiZm9ybURhdGEiLCJhc3NpZ24iLCJnZXRIZWFkZXJzIiwicXMiLCJyZXF1ZXN0SW50ZXJjZXB0b3IiLCJvYmoiLCJjb250ZW50VHlwZSIsIkNvbnRlbnRUeXBlIiwiSW1nRnJvbUJhc2U2NCIsImdldEltZ1NpemUiLCJJbWdGcm9tUGF0aCIsInJlc3VsdHMiLCJpbWdTaXplIiwibWltZVR5cGUiLCJtaW1lIiwiZ2V0VHlwZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImFkdmFuY2VkcGxpc3RDb25maWciLCJ1cGxvYWRTY3JpcHROYW1lIiwic2NyaXB0TmFtZSIsInNjcmlwdFBhdGgiLCJzY3JpcHRDb250ZW50Iiwic2NyaXB0IiwicHJvbWlzZSIsInJ1blNjcmlwdCIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZ2V0T3B0aW9ucyIsImJyYW5jaCIsImdpdGh1Yk9wdGlvbnMiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJpbWFnZXMiLCJlcnJvck1zZyIsInVwbG9hZEhpc3RvcnkiLCJtYXRjaGVkSW1hZ2UiLCJzZWNyZXRJZCIsImFwcElkIiwic2lnblRpbWUiLCJjdXJyZW50IiwibXVsdGlTaWduYXR1cmUiLCJzaWduSGV4S2V5IiwidGVtcFN0cmluZyIsInRvZGF5Iiwic2lnbktleSIsImh0dHBTdHJpbmciLCJzdHJpbmdUb1NpZ24iLCJ1c2VyQWdlbnQiLCJvcCIsImZpbGVjb250ZW50IiwidGNZdW5PcHRpb25zIiwidXNlVjQiLCJvcHRpb25VcmwiLCJzbGltIiwic291cmNlX3VybCIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsInRpcHMiLCJERUZBVUxUX0VORFBPSU5UIiwidXB5dW5PcHRpb25zIiwib3BlcmF0b3IiLCJtZDVQYXNzd29yZCIsInN1ZmZpeCIsImFudGlMZWVjaFRva2VuIiwiYWRkQW50aUxlZWNoVG9rZW4iLCJ1cHQiLCJleHBpcmVUaW1lIiwidXJpIiwiZXhwaXJlIiwic3Vic3RyaW5nIiwiZ2V0QW50aUxlZWNoUGFyYW0iLCJoYW5kbGVVcGxvYWRFcnJvciIsImVycm9yQm9keSIsImVycm9yQ29kZSIsIk1BWF9GSUxFX1NJWkUiLCJnZXRJbWFnZUJ1ZmZlciIsImJ1aWxkSW1hZ2VVcmwiLCJ3ZWJwYXRoIiwidXNlV2VicGF0aCIsInNhdmVJbWFnZVRvVGVtcCIsInVwbG9hZEltYWdlIiwiZnVsbFVwbG9hZERpclBhdGgiLCJwYXRoVG9DcmVhdGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZWN1cnNpdmUiLCJwdXRGaWxlQ29udGVudHMiLCJvdmVyd3JpdGUiLCJhdXRoVHlwZSIsIkF1dGhUeXBlIiwiRGlnZXN0IiwiY3JlYXRlQ2xpZW50IiwiY3JlYXRlV2ViREFWQ2xpZW50IiwiYnVpbGRJblVwbG9hZGVycyIsImFkdmFuY2VkcGxpc3RVcGxvYWRlciIsImFsaXN0VXBsb2FkZXIiLCJhbGlZdW5VcGxvYWRlciIsImF3c3MzcGxpc3RVcGxvYWRlciIsImdpdGh1YlVwbG9hZGVyIiwiaW1ndXJVcGxvYWRlciIsImxvY2FsVXBsb2FkZXIiLCJsc2t5VXBsb2FkZXIiLCJwaWNsaXN0VXBsb2FkZXIiLCJxaW5pdVVwbG9hZGVyIiwic2Z0cFVwbG9hZGVyIiwic21tc1VwbG9hZGVyIiwidGNZdW5VcGxvYWRlciIsInVwWXVuVXBsb2FkZXIiLCJ3ZWJkYXZwbGlzdFVwbG9hZGVyIiwiQ29uZmlnTWFuYWdlciIsIm1pZ3JhdGVUb011bHRpQ29uZmlnIiwidXBsb2FkZXJDb25maWciLCJjb25maWdJdGVtIiwidXVpZCIsImRlZmF1bHRJZCIsInVwbG9hZGVyRGF0YSIsImNvbmZpZ0RhdGEiLCJzeW5jQ29uZmlnVG9QaWNCZWQiLCJjb25maWdJZCIsImNvbmZpZ0luZGV4Iiwic3BsaWNlIiwiREIiLCJkYiIsIkpTT05TdG9yZSIsInJlYWQiLCJmbHVzaCIsImdldFNpbmdsZSIsImsiLCJ1bnNldCIsImdldENvbmZpZ1BhdGgiLCJDTElQQk9BUkRfSU1BR0VfRk9MREVSIiwicGxhdGZvcm0yU2NyaXB0Q29udGVudCIsImRhcndpbiIsIndpbjMyIiwid2luMTAiLCJsaW51eCIsIndzbCIsInBsYXRmb3JtMlNjcmlwdEZpbGVuYW1lIiwiZ2V0Q2xpcGJvYXJkSW1hZ2UiLCJpbWFnZVBhdGgiLCJjcmVhdGVJbWFnZUZvbGRlciIsInBsYXRmb3JtIiwiaXNXc2wiLCJyZWxlYXNlIiwiZ2V0Q3VycmVudFBsYXRmb3JtIiwiZXhlY3V0aW9uIiwiaW1nUGF0aCIsInNob3VsZEtlZXBBZnRlclVwbG9hZGluZyIsIlBpY0dvIiwiX2NvbmZpZyIsImxpZmVjeWNsZSIsIl9wbHVnaW5Mb2FkZXIiLCJpbml0Q29uZmlnUGF0aCIsImluaXRDb25maWciLCJob21lZGlyIiwiZW5zdXJlRmlsZVN5bmMiLCJyZWdpc3RlckNvbW1hbmRzIiwicHJvcE5hbWUiLCJjbGVhbnVwIiwicmVtb3ZlIiwiY2hhbmdlQ3VycmVudFVwbG9hZGVyIiwiY3R4UmVzdWx0IiwiYmFja3VwQ3R4IiwiZW5hYmxlU2Vjb25kVXBsb2FkZXIiLCJzZWNvbmRhcnlVcGxvYWRlclR5cGUiLCJzZWNvbmRVcGxvYWRlckNvbmZpZyIsImN0eFAiLCJpbml0aWFsVXBsb2FkVHlwZSIsImdldENsaXBib2FyZFJlc3VsdCIsInNlY29uZFBpY0JlZE1vZGUiLCJjdHhPb2ZTZWNvbmQiLCJjbGVhbnVwRm9yU2Vjb25kIl0sIm1hcHBpbmdzIjoiMm1EQVdBLE1BQ01BLEdBQVlDLEVBRENDLGNBQTBCQyxNQW1CdkMsU0FBVUMsR0FBc0JDLEdBQ3BDLE1BQU1DLEVBQU0sSUFBSUMsTUFBTUYsR0FDdEIsSUFBSUcsRUFBSSxFQUNKQyxFQUFPLEVBQ1BDLEVBQU8sRUFDWCxLQUFPRixFQUFJSCxHQUFRLENBQ2pCLEdBQUlLLEVBQU8sRUFBRyxDQUNaRCxFQUFRQSxHQUFRLEdBQXdCLFdBQWhCRSxLQUFLQyxXQUEyQixFQUN4REYsR0FBUSxHQUNSLFFBQ0YsQ0FDQSxNQUFNRyxFQWZHLEdBZUdKLEVBQ1pBLEtBQVUsRUFDVkMsR0FBUSxFQUNKRyxFQUFNLEtBQUlQLEVBQUlFLEtBakJSLGlFQWlCcUJLLEdBQ2pDLENBQ0EsT0FBT1AsRUFBSVEsS0FBSyxHQUNsQixDQVVBLFNBQVNDLEdBQWFDLEdBQ3BCLE9BQWlDLElBQTFCQSxFQUFJQyxXQUFXWixPQUFlLElBQUlXLElBQVFBLEVBQUlDLFVBQ3ZELENBRUEsU0FBU0MsR0FBT0MsR0FDZCxPQUFPQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9ILEdBQU9JLE9BQU8sTUFDdkQsQ0FFQSxTQUFTQyxHQUFVTCxHQUNqQixPQUFPQyxFQUFPQyxXQUFXLFVBQVVDLE9BQU9ILEdBQU9JLE9BQU8sTUFDMUQsQ0FFTSxTQUFVRSxHQUNkQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBLE1BQU1DLEVBQU0sSUFBSUMsS0FDVkMsRUFBT0YsRUFBSUcsY0FBY2hCLFdBQ3pCaUIsRUFBZUMsRUFBS0MsU0FBU1YsRUFBU1MsRUFBS0UsUUFBUVgsSUFDbkRZLEVBQThDLENBQ2xELE1BQU8sSUFBTU4sRUFDYixNQUFPLElBQU1B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
|
|
1
|
+
import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import i from"fs-extra";import{readJSONSync as a,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as l,moveSync as _,ensureFileSync as c,remove as P}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as g,get as A,set as C,unset as d}from"lodash-es";import T from"node:crypto";import D,{fileURLToPath as f,URL as m,pathToFileURL as L}from"node:url";import{imageSize as h}from"image-size";import B from"mime";import N from"sharp";import U from"text-to-svg";import{v4 as R}from"uuid";import M,{homedir as O}from"node:os";import y from"node:vm";import w from"dotenv";import{ObjectAdapter as G,I18n as b}from"@piclist/i18n";import x from"js-yaml";import{Command as W}from"commander";import $ from"inquirer";import F from"node:util";import H from"chalk";import K from"dayjs";import{spawn as k}from"cross-spawn";import v from"resolve";import Y from"node:https";import V from"form-data";import{httpsOverHttp as j}from"tunnel";import{S3Client as z,PutObjectCommand as q,GetObjectCommand as X}from"@aws-sdk/client-s3";import{getSignedUrl as Q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as Z}from"@smithy/node-http-handler";import{fileTypeFromBuffer as J}from"file-type";import{HttpsProxyAgent as ee,HttpProxyAgent as te}from"hpagent";import re from"qiniu";import{NodeSSH as ne}from"node-ssh-no-cpu-features";import{AuthType as ie,createClient as ae}from"webdav";import{JSONStore as se}from"@piclist/store";import{spawn as oe}from"node:child_process";import Ee from"is-wsl";const Se=r(f(import.meta.url));function Ie(e){const t=new Array(e);let r=0,n=0,i=0;for(;r<e;){if(i<6){n=n<<30|1073741824*Math.random()>>>0,i+=30;continue}const e=63&n;n>>>=6,i-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function le(e){return 1===e.toString().length?`0${e}`:e.toString()}function _e(e){return T.createHash("md5").update(e).digest("hex")}function ce(e){return T.createHash("sha256").update(e).digest("hex")}function Pe(e,r,n,i){const a=new Date,s=a.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>le(a.getMonth()+1),"{d}":()=>le(a.getDate()),"{h}":()=>le(a.getHours()),"{i}":()=>le(a.getMinutes()),"{s}":()=>le(a.getSeconds()),"{ms}":()=>a.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>_e(i||o),"{sha256}":()=>ce(i||o),"{md5-16}":()=>_e(i||o).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):o,"{uuid}":()=>R().replace(/-/g,""),"{timestamp}":()=>a.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)=>Ie(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return ce(i||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,i)=>{i=Math.max(1,i||0);return t.dirname(e).split(t.sep).slice(0-i).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const ue=e=>/^https?:\/\//.test(e),pe=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ge=e=>(pe(e)||(e=encodeURI(e)),e),Ae=e=>{try{const{width:t=0,height:r=0,type:n}=h(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ce=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),filePath:e,buffer:await i.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}};function de(e){if(!e||e.length<4)return"";const t=(t,r)=>Array.from(e.subarray(t,r)).map(e=>e.toString(16).padStart(2,"0")).join("").toUpperCase(),r=t(0,4),n=t(0,3),i=t(0,2);if("FFD8FF"===n)return".jpg";if("89504E47"===r)return".png";if("47494638"===r)return".gif";if("424D"===i)return".bmp";if("52494646"===r){if("57454250"===t(8,12))return".webp"}return""}const Te=async(e,r)=>{let n;e=ge(e);const i=new Promise((i,a)=>{(async()=>{try{const{res:a,headers:s}=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>({res:e.data,headers:e.headers}));clearTimeout(n);const o=new m(e).pathname;let E="";try{E=new m(e).searchParams.get("wx_fmt")||t.extname(o)||""}catch(e){E=t.extname(o)||""}const S=s["content-type"]||s["Content-Type"]||"";!E&&S&&(E=function(e){if(!e)return"";const t=e.toLocaleLowerCase().split(";")[0].trim();if(!t.startsWith("image/"))return"";const r=B.getExtension(t);return r?`.${r}`:""}(S)),E||(E=de(a)),!E.startsWith(".")&&E&&(E=`.${E}`),i({buffer:a,fileName:t.basename(o),extname:E,success:!0})}catch(t){clearTimeout(n),i({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(a)}),a=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([i,a])},De=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":fe(e)?"simple":"unknown",fe=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!i.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},me=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,Le=(e,r=console)=>{switch(De(e)){case"normal":case"scope":return e;case"simple":return me(e);default:{let n=e;return t.isAbsolute(e)&&i.existsSync(e)?Be(n):(n=t.join(process.cwd(),e),i.existsSync(n)?Be(n):(r.warn(`Can't find plugin ${e}`),""))}}},he=(e,r=console)=>{switch(De(e)){case"normal":return Ne(e);case"scope":return Ne(e,!0);case"simple":return Ne(me(e));default:{if(!i.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(i.existsSync(n)){const e=a(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}`),""}}},Be=e=>e.split(t.sep).join("/"),Ne=(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},Ue=[],Re=e=>Ue.some(t=>e.startsWith(t)),Me=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Oe(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const ye=(e=0)=>isNaN(Number(e))?0:Number(e),we=()=>"development"===process.env.NODE_ENV;const Ge=t.join(Se,"assets","piclist.png");async function be(e,t,r,n,i,a,s,o,E,S,I,l){o=!o||o<0||o>1?.15:o;const _=N(e,{animated:!0}),{width:c=200}=await _.metadata(),P=await async function(e,t,r,n,i,a,s,o=200,E=0,S=255){let I;"image"===e?(S=ye(S),s=s||Ge,I=await N(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 i={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},a=U.loadSync(n).getSVG(t,i);return Buffer.from(a)}(t,r,a,n||t);const{width:l,height:_}=await async function(e){const{width:t,height:r}=await N(e).metadata();return{width:t||200,height:r||200}}(I),c=Math.floor(o*ye(i)),P=Math.floor(c*_/l);return await N(I).resize(c,P,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,a,s,o,E,S,c,i,l);return await _.composite([{input:P,gravity:I||"southeast",tile:n}]).toBuffer()}const xe=(...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"],$e=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],Fe=e=>We.includes(e);function He(e,t,r,n){e=e||{};return{isAddWatermark:!!(t.isAddWatermark??e.isAddWatermarkMap?.[r]??e.isAddWatermark),watermarkType:(t.watermarkType??e.watermarkTypeMap?.[r]??e.watermarkType)||"text",isFullScreenWatermark:!!(t.isFullScreenWatermark??e.isFullScreenWatermarkMap?.[r]??e.isFullScreenWatermark),watermarkDegree:ye(t.watermarkDegree??e.watermarkDegreeMap?.[r]??e.watermarkDegree),watermarkText:(t.watermarkText??e.watermarkTextMap?.[r]??e.watermarkText)||"",watermarkFontPath:(t.watermarkFontPath??e.watermarkFontPath)||"",watermarkScaleRatio:ye(t.watermarkScaleRatio??e.watermarkScaleRatioMap?.[r]??e.watermarkScaleRatio),watermarkColor:(t.watermarkColor??e.watermarkColorMap?.[r]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(t.watermarkImagePath??e.watermarkImagePathMap?.[r]??e.watermarkImagePath)||"",watermarkPosition:(t.watermarkPosition??e.watermarkPositionMap?.[r]??e.watermarkPosition)||"southeast",watermarkImageOpacity:ye(t.watermarkImageOpacity??e.watermarkImageOpacityMap?.[r]??e.watermarkImageOpacity),picBed:r,id:n}}function Ke(e,t,r,n){e=e||{};return{quality:ye(t.quality??e.qualityMap?.[r]??e.quality),isConvert:!!(t.isConvert??e.isConvertMap?.[r]??e.isConvert),convertFormat:(t.convertFormat??e.convertFormatMap?.[r]??e.convertFormat)||"jpg",isReSize:!!(t.isReSize??e.isReSizeMap?.[r]??e.isReSize),reSizeHeight:ye(t.reSizeHeight??e.reSizeHeightMap?.[r]??e.reSizeHeight),reSizeWidth:ye(t.reSizeWidth??e.reSizeWidthMap?.[r]??e.reSizeWidth),skipReSizeOfSmallImg:!!(t.skipReSizeOfSmallImg??e.skipReSizeOfSmallImgMap?.[r]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(t.isReSizeByPercent??e.isReSizeByPercentMap?.[r]??e.isReSizeByPercent),reSizePercent:ye(t.reSizePercent??e.reSizePercentMap?.[r]??e.reSizePercent),isRotate:!!(t.isRotate??e.isRotateMap?.[r]??e.isRotate),rotateDegree:ye(t.rotateDegree??e.rotateDegreeMap?.[r]??e.rotateDegree),isRemoveExif:!!(t.isRemoveExif??e.isRemoveExifMap?.[r]??e.isRemoveExif),isFlip:!!(t.isFlip??e.isFlipMap?.[r]??e.isFlip),isFlop:!!(t.isFlop??e.isFlopMap?.[r]??e.isFlop),formatConvertObj:(t.formatConvertObj??e.formatConvertObjMap?.[r]??e.formatConvertObj)||{},picBed:r,id:n}}async function ke(e,t,r,n){try{let n=N(e,{animated:!0});return n=N(await be(e,t.watermarkType||"text",r,t.isFullScreenWatermark,ye(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,ye(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,ye(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function ve(e){const t="string"==typeof e.formatConvertObj?Oe(e.formatConvertObj):e.formatConvertObj;return{quality:ye(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:ye(e.reSizeHeight),reSizeWidth:ye(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:ye(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:ye(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function Ye(e,t,r,n){t=ve(t);try{if(r=Ve(r),!$e.includes(r)||"gif"===r)return e;let n=N(e,{animated:!0}),i=100;if(xe(t.quality)&&t.quality<100&&(i=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(xe(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 i=t.reSizeHeight/r;n=n.resize(Math.round(e*i),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 i=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*i),{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=je(t,r);e!==r&&(n=n.toFormat(e,{quality:i,mozjpeg:!0}))}else n=r&&Fe(r)?n.toFormat(r,{quality:i,mozjpeg:!0}):n.toFormat("jpg",{quality:i,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const Ve=e=>e.toLowerCase().replace(".","");function je(e,t){if(e=ve(e||{}),"gif"===(t=Ve(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],Fe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const ze=(e,t)=>(t=Ve(t),!!e&&!!e.isAddWatermark&&$e.includes(t)&&"svg"!==t),qe=(e,t)=>{if(!$e.includes(Ve(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:i,isReSize:a,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:l,isFlip:_,isFlop:c}=ve(e);if(xe(r)&&r<100)return!0;if(n&&xe(i))return!0;if(a&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(_||c)return!0;if(I){return t!==(l||"jpg")}return!1},Xe=async(e,t)=>(t=Ve(t),$e.includes(t)&&"svg"!==t?await N(e,{animated:!0}).toBuffer():e);var Qe=Object.freeze({__proto__:null,AddWatermark:be,configBlackList:Ue,forceNumber:ye,getConvertedFormat:je,getFSFile:Ce,getImageSize:Ae,getImageTypeByMagicNumber:de,getNormalPluginName:he,getPluginNameType:De,getProcessPluginName:Le,getTreatedCompressOptions:Ke,getTreatedWaterMarkOptions:He,getURLFile:Te,handleCompletePluginName:me,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:Be,handleUrlEncode:ge,imageAddWaterMark:ke,imageCompress:Ye,isConfigKeyInBlackList:Re,isDev:we,isInputConfigValid:Me,isNeedAddWatermark:ze,isNeedCompress:qe,isSimpleName:fe,isUrl:ue,isUrlEncode:pe,randomStringGenerator:Ie,removeExif:Xe,removePluginVersion:Ne,renameFileNameWithCustomString:Pe,renameFileNameWithRandomString:function(e,r=5){return`${Ie(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Ie(5)}${t.extname(e)}`},safeParse:Oe});var Ze,Je,et;function tt(e){if(e instanceof Error)return`${e.name}: ${e.message}\n${e.stack}`;try{return JSON.stringify(e)}catch{return String(e)}}!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(Ze||(Ze={})),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"}(Je||(Je={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(et||(et={}));class rt{ctx;scriptCache=new Map;stages=["preProcess","beforeTransform","transform","beforeUpload","upload","afterUpload"];constructor(e){this.ctx=e}async refreshCache(){this.scriptCache.clear();const e=t.join(this.ctx.baseDir,"scripts"),r=this.ctx.getConfig()||{},n=r.scripts?.disabledList||[];await Promise.all(this.stages.map(async r=>{const a=r,s=t.join(e,r);try{const e=await i.readdir(s),o=[];for(const r of e)if(r.endsWith(".js")&&!n.includes(`${a}/${r}`)){const e=t.join(s,r),n=await i.readFile(e,"utf-8"),a=new y.Script(n,{filename:e});o.push({path:e,compiledScript:a})}this.scriptCache.set(r,o)}catch(e){this.scriptCache.set(r,[])}}))}async runStage(e,t={}){const r=this.scriptCache.get(e)||[];if(0!==r.length)for(const e of r)try{const r=this.createSandbox(t),n=y.createContext(r);if(e.compiledScript.runInContext(n),"function"==typeof n.main){const r=n.main(this.ctx,t);await(r instanceof Promise?r:Promise.resolve(r)),this.ctx.log.info(`[Script] ${e.path} executed successfully`)}}catch(t){this.ctx.log.error(`[Script] ${e.path} failed: ${t}`)}}createSandbox(e){const r=function(e){if(i.existsSync(e)){const t=i.readFileSync(e),r=w.parse(t);for(const e in r)process.env[e]=r[e];return r}return{}}(t.join(this.ctx.baseDir,".env"));return{ctx:this.ctx,extra:e,console:Object.freeze({log:(...e)=>this.ctx.log.info(e.map(tt).join(" ")),info:(...e)=>this.ctx.log.info(e.map(tt).join(" ")),error:(...e)=>this.ctx.log.error(e.map(tt).join(" ")),debug:(...e)=>this.ctx.log.debug(e.map(tt).join(" "))}),axios:n,crypto:T,fs:i,path:t,os:M,Buffer:Buffer,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,base64Decode:e=>Buffer.from(e,"base64").toString("utf-8"),base64Encode:e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64"),env:r}}}const nt="Add watermark to image",it="Compress or convert image",at="Remove exif info",st="Download ttf file",ot="Download ttf file successfully",Et="Download ttf file failed",St="Download ttf file failed, skip add watermark",It=0,lt=30,_t=60,ct=-1,Pt=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],ut="smms";class pt 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)),i.existsSync(this.ttfPath)&&i.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(st);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return i.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(ot),!0}catch(e){return this.ctx.log.error(Et),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=e.getConfig("buildIn.list")||[],i=this.getUploaderType(e),a=n.find(e=>e.id===i.id)?.compress||{},s=n.find(e=>e.id===i.id)?.watermark||{};if(t){t.picBed=i.picBed,t.id=i.id;const e="string"==typeof t.formatConvertObj?Oe(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=i.picBed,r.id=i.id);return{compressOptions:Ke(t,a,i.picBed,i.id),watermarkOptions:He(r,s,i.picBed,i.id)}}getUploaderType(e){const t=e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||ut,r=e.getConfig(`picBed.${t}`)||{};return{picBed:t,id:r._id||"",config:r}}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=e.getConfig("buildIn.list")||[],n=this.getUploaderType(e),i=r.find(e=>e.id===n.id)?.skipProcess||{},a=i.skipProcessExtList?i.skipProcessExtList.split(",").map(e=>e.trim()):t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):Pt;return new Set(a.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:[],rawInputPath:[],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,configManager:e.configManager,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),changeCurrentUploader:e.changeCurrentUploader.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.processedInput=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){const t=new rt(e);return await t.refreshCache(),e.output=e.input,await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}async executeLifecycle(e){const t=new rt(e);return await t.refreshCache(),await this.preprocess(e),await t.runStage("preProcess"),await this.beforeTransform(e),await t.runStage("beforeTransform"),await this.doTransform(e),await t.runStage("transform"),await this.buildInRename(e),await this.beforeUpload(e),await t.runStage("beforeUpload"),e.processedInput=p(e.output),await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}handleError(e,t){if(e.log.warn(Je.FAILED),e.emit(Je.UPLOAD_PROGRESS,ct),e.emit(Je.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),i=this.getSkipExtensions(e);if(e.emit(Je.UPLOAD_PROGRESS,It),e.emit(Je.BEFORE_TRANSFORM,e),e.log.info("Pre-processing images, please wait..."),r||n){const a=t.join(e.baseDir,"piclistTemp");await this.processImages(e,a,r,n,i)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,i){const a=await Promise.allSettled(e.input.map(async(a,s)=>{await this.processImage(a,s,e,t,r,n,i)}));for(const t of a)"rejected"===t.status&&e.log.error("Error processing image:",t.reason)}async processImage(e,r,n,a,s,o,E){const S=ue(e),I=S?await Te(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const l=S?I.extname||"":t.extname(e),_=E.has(l.toLowerCase()),c=S?I.buffer:i.readFileSync(e),P=await this.applyProcessing(c,l,s,o,_,e,a,n);P&&await this.saveProcessedImage(e,r,n,a,P,l,s,S,I)}async applyProcessing(e,t,r,n,i,a,s,o){let E;return qe(r,t)&&!i&&(E=await this.compressImage(e,E,t,r,a,s,o)),ze(n,t)&&!i&&(E=await this.addWatermark(E??e,n,o)),E||!r?.isRemoveExif||i||(o.log.info(at),E=await Xe(e,t)),E}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(St)}return r.log.info(nt),await ke(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,i,a,s){s.log.info(it);const o=r.toLowerCase();return ue(i)||".heic"!==o&&".heif"!==o?await Ye(t??e,n,r,s.log):await this.convertHeicAndCompress(e,i,r,a,n,s)}async convertHeicAndCompress(e,r,n,a,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(a,`${t.basename(r,n)}.jpg`);return i.writeFileSync(S,Buffer.from(E)),await Ye(i.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,n,a,s,o,E,S,I){let l=E?.isConvert?je(E,o):o;l=l.startsWith(".")?l:`.${l}`;const _=S?t.join(a,`${this.getFileBaseName(I)}${l}`):t.join(a,`${t.basename(e,o)}${l}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(_):`${t.basename(e,o)}${l}`),i.writeFileSync(_,s),n.input[r]=_}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=this.getUploaderType(e),r=e.getConfig("buildIn.rename")||{},n=e.getConfig("buildIn.list")||[],i={...r,...n.find(e=>e.id===t.id)?.rename||{}};if(!i.enable)return e;const a=i.format||"{filename}";return e.output=e.output.map((t,r)=>{let n=t.fileName;return n=Pe(e.rawInputPath[r],a,void 0,t.base64Image?t.base64Image:t.buffer),n=n.replace(/\/+/g,"/"),"/"===n.slice(-1)&&(n+=r.toString()),t.fileName=n,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Je.UPLOAD_PROGRESS,lt);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(Je.UPLOAD_PROGRESS,_t),e.log.info("Before upload"),e.emit(Je.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.picBed),n=t.picBed;r||(e.log.warn(`Can't find uploader - ${n}, switch to default uploader - ${ut}`),n=ut,r=e.helper.uploader.get(ut)),e.log.info(`Uploading... Current uploader is [${n}] with config id [${t.id||"default"}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Je.AFTER_UPLOAD,e),e.emit(Je.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 i=0;i<r;i++)void 0!==e.output[i].imgUrl&&(t+=n?ge(e.output[i].imgUrl):e.output[i].imgUrl,i!==r-1&&(t+="\n")),delete e.output[i].base64Image,delete e.output[i].buffer;return e.emit(Je.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),i=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${i}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${i}: ${n[r]} error`),e}})),t}}const gt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS(S.EE)",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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"设定上传脚本名称",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"请输入存放在脚本目录中的上传脚本名称",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(S.EE)",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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"設定上傳腳本名稱",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"請輸入存放在腳本目錄中的上傳腳本名稱",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(S.EE)",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_ADVANCEDPLIST_UPLOADSCRIPTNAME:"Set Upload Script Name",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"Please enter the upload script name stored in scripts dir",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 At{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new G(gt);let t=this.ctx.getConfig("settings.language")||"zh-CN";gt[t]||(t="zh-CN"),this.i18n=new b({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();i.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),a=i.readFileSync(n,"utf8");try{const e=x.load(a);gt[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=g(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),gt[e]=t,!0)}getLanguageList(){return Object.keys(gt)}}const Ct={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},dt={handle:e=>{const t=e.cmd;t.program.command("config-list").description("list all configs names for an uploader").arguments("<uploader>").action(t=>{try{const r=e.configManager.getAllUploaderConfigs(t),n=e.configManager.getCurrentUploaderConfig(t);if(0===r.length)return void e.log.info(`No configs found for ${t}`);e.log.info(`Configs for ${t}:`),r.forEach(t=>{const r=n&&t._id===n._id?" (default)":"";e.log.info(` - ${t._configName}${r} [ID: ${t._id}]`)})}catch(t){e.log.error(t)}}),t.program.command("config-use").description("set a config as default for an uploader").arguments("<uploader> <configName>").action((t,r)=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.setDefaultConfig(t,n._id)?e.log.success(`Set "${r}" as default config for ${t}`):e.log.error(`Failed to set "${r}" as default`)}catch(t){e.log.error(t)}}),t.program.command("config-remove").description("remove a config for an uploader").arguments("<uploader> <configName>").action((t,r)=>{(async()=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);const i=[{type:"confirm",name:"confirm",message:`Are you sure you want to delete config "${r}"?`,default:!1}];if(!(await e.cmd.inquirer.prompt(i)).confirm)return void e.log.info("Cancelled");e.configManager.deleteUploaderConfig(t,n._id)?e.log.success(`Deleted config "${r}" for ${t}`):e.log.error(`Failed to delete config "${r}"`)}catch(t){e.log.error(t)}})().catch(t=>{e.log.error(t)})}),t.program.command("config-rename").description("rename a config for an uploader").arguments("<uploader> <oldName> <newName>").action((t,r,n)=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.renameConfig(t,i._id,n)?e.log.success(`Renamed config from "${r}" to "${n}"`):e.log.error("Failed to rename config")}catch(t){e.log.error(t)}}),t.program.command("config-show").description("show details of a config").arguments("<uploader> [configName]").action((t,r)=>{try{if(!r){const r=e.configManager.getAllUploaderConfigs(t);return r&&0!==r.length?void r.forEach(t=>{e.log.info(`Config details for "${t._configName}":`),e.log.info(` ID: ${t._id}`),e.log.info(` Created: ${new Date(t._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(t._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(t).forEach(r=>{if(!r.startsWith("_")){const n=t[r],i="string"==typeof n&&(r.includes("password")||r.includes("token")||r.includes("key"))?"***":JSON.stringify(n);e.log.info(` ${r}: ${i}`)}})}):void e.log.info(`No configs found for ${t}`)}const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.log.info(`Config details for "${r}":`),e.log.info(` ID: ${n._id}`),e.log.info(` Created: ${new Date(n._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(n._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(n).forEach(t=>{if(!t.startsWith("_")){const r=n[t],i="string"==typeof r&&(t.includes("password")||t.includes("token")||t.includes("key"))?"***":JSON.stringify(r);e.log.info(` ${t}: ${i}`)}})}catch(t){e.log.error(t)}})}},Tt={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")})}},Dt=(e,t,r,n,i,a)=>{let s=e.program.command(t).description(r).alias(n);a?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),a?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(i)},ft={handle:e=>{const t=e.cmd;Dt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.install(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),Dt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),Dt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.update(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},mt={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function Lt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const i=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return i?`${t?"/":""}${i}${r?"/":""}`:n?"":"/"}function ht(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const Bt="advancedplist",Nt="alistplist",Ut="aliyun",Rt="aws-s3-plist",Mt="github",Ot="imgur",yt="local",wt="lskyplist",Gt="piclist",bt="qiniu",xt="sftpplist",Wt="smms",$t="tcyun",Ft="upyun",Ht="webdavplist",Kt=(e,t,r,n,i,a,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:i,required:a,...o});const kt=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")}),vt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[Kt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),Kt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),Kt(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"]}),Kt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),Kt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),Kt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),Kt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),Kt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),Kt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),Kt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),Kt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),Kt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),Kt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),Kt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[Kt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),Kt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),Kt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),Kt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),Kt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),Kt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),Kt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),Kt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),Kt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),Kt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),Kt(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[Kt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),Kt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[Kt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Yt=async(e,t,r,n,i,a)=>{const s=await e.cmd.inquirer.prompt(t),o=Vt(r,n);if("uploader"===r){const t=i||"Default",r=e.configManager.getConfigByName(n,t);if(r)e.configManager.updateUploaderConfig(n,r._id,s),e.log.success(`Updated config "${t}" for ${n}`);else{const r=e.configManager.addUploaderConfig(n,t,s);e.log.success(`Created new config "${t}" for ${n}`),e.configManager.setDefaultConfig(n,r._id)}e.saveConfig({"picBed.current":n,"picBed.uploader":n})}else if("buildin"===r)if(a){const t=e.getConfig(`uploader.${a}`)||{};if(!t.configList||0===t.configList.length)return void e.log.error(`No config found for uploader ${a}`);const r=t.configList.find(e=>e._configName===(i||"Default"))?._id;if(!r)return void e.log.error(`No config named "${i||"Default"}" found for uploader ${a}`);const o=e.getConfig("buildIn.list")||[],E=o.findIndex(e=>e.id===r);-1!==E?o[E]={...o[E],[n]:s}:o.push({id:r,[n]:s}),e.saveConfig({"buildIn.list":o})}else e.saveConfig({[o]:s});else e.saveConfig({[o]:s}),"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Vt=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),jt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name] [configName] [uploaderName]").description('configure config of picgo modules, uploader|transformer|plugin|buildin. For uploader and buildin, configName is optional (defaults to "Default"). For buildin module, uploaderName is the uploader name to which the buildin module config will be linked.').action((t,r,n,i)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t,r,n)=>{if(t&&t in vt){const i=vt[t];return void await Yt(e,i.config(e),"buildin",t,r,n)}if(t&&!(t in vt))return e.log.error(`No buildin module named ${t}`),void e.log.warn("Available buildin modules are: compress|watermark|rename|skipProcess");const i=[{type:"list",name:"buildin",choices:Object.entries(vt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],a=await e.cmd.inquirer.prompt(i),s=vt[a.buildin];await Yt(e,s.config(e),"buildin",a.buildin,r,n)})(e,r,n,i);break;case"uploader":case"transformer":await(async(e,t,r,n)=>{if(r){const i=e.helper[t].get(r);return i?void(i.config&&await Yt(e,i.config(e),t,r,n)):void e.log.error(`No ${t} named ${r}`)}const i=e.helper[t].getIdList().map(t=>({name:kt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:i,message:`Choose a(n) ${t}`}],s=await e.cmd.inquirer.prompt(a),o=e.helper[t].get(s[t]);o?.config&&await Yt(e,o.config(e),t,s[t],n)})(e,t,r,n);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 Yt(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),i=await e.pluginLoader.getPlugin(n.plugin);i?.config&&await Yt(e,i.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 done"),"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)})})}},zt={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>ue(e)?e:t.resolve(e)).filter(t=>{const r=i.existsSync(t)||ue(t);return r||e.log.warn(`${t} does not exist.`),r});await e.uploadReturnCtx(n)})().catch(t=>{e.log.error(t)})})}},qt={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 i={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:kt(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(!i[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(i[r])}else n=Object.keys(i).map(e=>i[e]);const a=await t.inquirer.prompt(n);if(a.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{a.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":a.uploader||e.getConfig("picBed.current"),"picBed.uploader":a.uploader||e.getConfig("picBed.current"),"picBed.transformer":a.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 Xt{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),Xt.currentPlugin&&(this.pluginIdMap.has(Xt.currentPlugin)?this.pluginIdMap.get(Xt.currentPlugin)?.push(e):this.pluginIdMap.set(Xt.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 Qt=(e=null)=>{Xt.currentPlugin=e};class Zt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new W,this.inquirer=$,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.3.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",ft),e.cmd.register("config",Ct),e.cmd.register("configManager",dt),e.cmd.register("setting",jt),e.cmd.register("upload",zt),e.cmd.register("use",qt),e.cmd.register("proxy",mt),e.cmd.register("i18n",Tt)}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=Xt.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 Jt{level={[Ze.success]:"green",[Ze.info]:"blue",[Ze.warn]:"yellow",[Ze.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=H[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(H.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(i.existsSync(e)){const t=i.statSync(e).size,r=1024*ye(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){i.existsSync(e)&&(i.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${K().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${F.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",i.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(Ze.success,...e)}info(...e){this.handleLog(Ze.info,...e)}error(...e){this.handleLog(Ze.error,...e)}warn(...e){this.handleLog(Ze.warn,...e)}debug(...e){we()&&this.handleLog(Ze.info,...e)}}class er{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],i=e.map(e=>tr(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),a=i.map(e=>e.fullName),s=i.map(e=>e.pkgName);if(a.length>0){const e=await this.execCommand("install",a,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 a)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=>tr(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=>tr(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={},i={}){const a=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");a&&(o=o.concat(`--registry=${a}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=k("npm",o,{cwd:r,env:{...process.env,...i}});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(Je.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Je.FAILED,e)}})}}const tr=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=Le(t,e.log);if(!n)return r;const i=he(n,e.log);return i?{success:!0,fullName:n,pkgName:i}:r};class rr{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(!i.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};i.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return v.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(!i.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=a(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 i.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),Qt(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),Qt(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(Je.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),Qt(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(!i.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=a(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(i.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=L(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 nr=new e,ir=new Y.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function ar(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function sr(e){return{...e,statusCode:e.status,body:e.data}}function or(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 Er{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),nr.on(et.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=j({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=ir;const t=n.create(this.options);t.interceptors.response.use(sr,or);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=j({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 V;for(const t in e.formData)ar(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 Sr={handle:async e=>(e.output.push(...e.input),e)};const Ir=(e,t,r)=>{const n=Ae(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 lr={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let i;if(i=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:ue(r)?await Te(r,e):await Ce(r),i.success&&i.buffer){const a=Ir(e,i.buffer,r),s=i.extname||a.extname||".png";t[n]={buffer:i.buffer,fileName:i.fileName||`${K().format("YYYYMMDDHHmmssSSS")}${s}`,width:a.width,height:a.height,filePath:i.filePath,extname:i.extname,mimeType:B.getType(s)||"application/octet-stream"}}else e.log.error(i.reason)})),e.output=t.filter(e=>e),e}};const _r=(e,t,r,n,i,a,s)=>({method:n.toUpperCase(),url:r||"",headers:{contentType:"multipart/form-data","User-Agent":"PicList",...i},formData:{[s]:{value:e,options:{filename:t}},...a},json:!0}),cr=async e=>{const r=e.getConfig("picBed.advancedplist");if(!r)throw new Error("Can not find advancedplist config");if(r.uploadScriptName)try{const a=r.uploadScriptName,s=t.join(e.baseDir,"scripts","uploader","advancedplist",`${a.endsWith(".js")?a:a+".js"}`),o=await i.readFile(s,"utf-8");return e=await async function(e,r,a){try{const s=e=>Buffer.from(e,"base64").toString("utf-8"),o=e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64"),E={ctx:e,extra:a,console:Object.freeze({log:(...t)=>e.log.info(t.map(tt).join(" ")),info:(...t)=>e.log.info(t.map(tt).join(" ")),error:(...t)=>e.log.error(t.map(tt).join(" ")),debug:(...t)=>e.log.debug(t.map(tt).join(" "))}),axios:n,crypto:T,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,fs:i,path:t,base64Decode:s,base64Encode:o,os:M,Buffer:Buffer};y.createContext(E),e.log.info("start to run script"),y.runInContext(r,E);const S=y.runInContext("(async () => {\n const result = main(ctx, extra)\n if (result instanceof Promise) return await result\n return result\n })()",E),I=await S;return e.log.info("script executed successfully"),I}catch(t){throw e.log.error(`script execution failed: ${t}`),t}}(e,o,{})}catch(t){throw e.log.error("AdvancedPlist upload script error:",t),new Error(`AdvancedPlist upload script error: ${t}`)}const a=e.output;for(const t of a){if(!t.fileName)continue;const n=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!n)continue;const i=_r(n,t.fileName,r.endpoint,r.method||"POST",JSON.parse(r.headers||"{}"),JSON.parse(r.body||"{}"),r.formDataKey||"file");let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;let s=a;const o=r.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(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:a.message}),console.error("AdvancedPlist upload failed:",a),new Error(a.message);if(delete t.base64Image,delete t.buffer,r.webPath){const e=s.split("/").pop()||s;s=(r.webPath.endsWith("/")?r.webPath:r.webPath+"/")+e}t.imgUrl=r.customPrefix?r.customPrefix+s:s}return e},Pr=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,i,a=!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]||i,required:a,...s});return[r("uploadScriptName","input",""),r("endpoint","input","",!1),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 ur=(e,t,r,n,i)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:i,options:{filename:r}}},resolveWithFullResponse:!0}),pr=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},gr=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),Ar=e=>{const{url:t,token:r,username:n,password:i,uploadPath:a,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:i||"",uploadPath:Lt({path:a||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?Lt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},Cr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:i,username:a,password:s,uploadPath:o,webPath:E,customUrl:S}=Ar(r);let{token:I}=Ar(r);if(I||(I=await(async(e,t,r,i)=>{const a=e.getConfig("picgo-plugin-buildin-alistplist");if(a&&a.refreshedAt&&Date.now()-a.refreshedAt<36e5&&a.token)return a.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:i});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,i,a,s)),!i||!(I||a&&s))throw new Error("Please check your alist config!");const l=e.output;for(const r of l){if(!r.fileName)continue;const n=r.buffer||(r.base64Image?Buffer.from(r.base64Image,"base64"):void 0);if(!n)continue;const a=`${o}${r.fileName}`,s=ur(i,I,r.fileName,a,n),l=await e.request(s);pr(e,l);const _=await e.request(gr(`${i}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(a)}));pr(e,_);const c=await e.request(gr(`${i}/api/fs/get`,I,{password:"",path:a,page:1,per_page:1,refresh:!0}));pr(e,c);const P=c.body.data.sign,u=ht(`${E||o}${r.fileName}`);r.imgUrl=`${S||i}${S&&S!==i?"":"/d"}${u}`,r.imgUrl+=S&&S!==i||!P?"":`?sign=${P}`,delete r.base64Image,delete r.buffer}return e},dr=e=>{const t=e.getConfig("picBed.alistplist")||{};return[Kt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),Kt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),Kt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),Kt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),Kt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),Kt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),Kt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const Tr=()=>(new Date).toUTCString(),Dr=(e,t,r)=>{const n=`PUT\n\n${B.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,i=T.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${i}`},fr=(e,t,r,n,i)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${ht(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:i,"Content-Type":B.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),mr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=Lt({path:t.path});const r=Lt({path:t.webPath});try{const{output:n}=e,i=(t.customUrl||"").replace(/\/$/,""),{path:a,bucket:s,area:o,options:E=""}=t;for(const S of n){if(!S.fileName)continue;const n=S.buffer||(S.base64Image?Buffer.from(S.base64Image,"base64"):null);if(!n)continue;const I=Tr(),l=Dr(t,S.fileName,I),_=fr(t,S.fileName,l,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=ht(`${r||a}${S.fileName}`);S.imgUrl=i?`${i}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Lr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[Kt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),Kt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),Kt(e,"alicloud","bucket","input",t.bucket||"",!0),Kt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),Kt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),Kt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),Kt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),Kt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class hr{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 T.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return T.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return T.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 Br(e,t){if(!t)return e.fileName;const r=new hr(e);let n=t;for(const e of hr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function Nr(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?ee:te)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function Ur(e,t,r){const n=await Q(e.client,new X({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),i=new D.URL(n);return i.search="",i.href}var Rr={createS3Client:function(e){let t=!0;try{t="https:"===new D.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=Nr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=Nr(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 Z(r)};return new z(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=B.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await J(t.body);t.contentType=e?.mime}return t}(e.item),i=new q({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),a=await e.client.send(i);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await Ur(e,a.ETag,a.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:a.VersionId,eTag:a.ETag}}catch(e){return Promise.reject(e)}}};function Mr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const Or=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=Mr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const i=Rr.createS3Client(t),a=e.output;for(const e of a){const r=await Rr.createUploadTask({client:i,bucketName:t.bucketName,path:Br(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(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},yr=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:Mr(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 wr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${ht(`${t}${r}`)}${n}`}const Gr=(e,t,r)=>{const{token:n,repo:i}=t,a=B.getType(e)||"application/octet-stream";return{method:"PUT",url:wr(i,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":a},body:r,json:!0}},br=(e,t)=>{const{token:r,repo:n,branch:i}=t;return{method:"GET",url:wr(n,t.path,e,`?ref=${i}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},xr=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=Lt({path:t.path}),n=Lt({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const i=e.output;for(const a of i){if(!a.fileName)continue;const i=a.base64Image||(a.buffer?Buffer.from(a.buffer).toString("base64"):null);if(!i)continue;const s={message:"Upload by PicList",branch:t.branch,content:i,path:r+encodeURI(a.fileName)},o=Gr(a.fileName,t,s);try{const i=await e.request(o);if(!i)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${ht(`${n||r}${a.fileName}`)}`:i.content.download_url,a.hash=i.content.sha}catch(i){if(422!==i.statusCode)throw i;delete a.base64Image,delete a.buffer;const s=await e.request(br(a.fileName,t));if(!Object.keys(s).length)throw i;a.hash=s.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${ht(`${n||r}${a.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},Wr=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 $r=async(e,t,r,n)=>{const i=t.clientId||"",a=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(a&&s)E=s;else{if(!i)throw new Error("clientId or accessToken is required");E=`Client-ID ${i}`}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(a&&s&&o){let r,n=0,i="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${a}/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){i=e.id;break}n++}while(r.body.data.length>0);i&&S.formData&&(S.formData.album=i)}return t.proxy&&(S.proxy=t.proxy),S},Fr=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)continue;const r=n.base64Image||(n.buffer?Buffer.from(n.buffer).toString("base64"):null);if(!r)continue;const i=await $r(e,t,n.fileName,r),a=await e.request(i),s="string"==typeof a?JSON.parse(a):a;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(Je.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}},Hr=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 Kr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",a=(r.customUrl||"").replace(/\/$/,""),o=Lt({path:r.webPath?.replace(/\\/g,"/")}),E=e.output;for(const r of E){if(!r.fileName)continue;const E=r.buffer||(r.base64Image?Buffer.from(r.base64Image,"base64"):void 0);if(E)try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),l=t.join(n,r.fileName);try{s(t.dirname(l)),s(t.dirname(I))}catch(e){}i.writeFileSync(l,E),i.copyFileSync(l,I),delete r.base64Image,delete r.buffer,r.imgUrl=a?`${a}/${ht(`${o}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${ht(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},kr=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 vr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const i="V2"===e.version,a=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:a||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:a||void 0},S=e.strategyId,I=e.albumId;let l=e.permission?.value;void 0===l&&(l=e.permission);const _={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:l};S||delete _.strategy_id,I||delete _.album_id,0!==l&&1!==l&&delete _.permission;return{method:"POST",url:i?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new Y.Agent({rejectUnauthorized:!1}),headers:i?E:s,formData:i?_:o}},Yr=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 i=vr(t,n.fileName,r);let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;const s="V2"===t.version;if(!(s?!0===a.status:200===a.code))throw e.emit(Je.NOTIFICATION,{title:"upload failed",body:a.message}),new Error(a.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?a.data.links.url:a.data.url,s&&(n.hash=a.data.key)}return e},Vr=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 jr=(e,t,r)=>{const{host:n="127.0.0.1",port:i="",picbed:a="",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}:${i||"36677"}`:`${S}${I}${i?`:${i}`:""}`}/upload?configName=${s}${a?`&picbed=${a}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:B.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},zr=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)continue;const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):void 0);if(!r)continue;const i=jr(t,n.fileName,r),a=await e.request(i).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==a.statusCode||!a.body?.success)throw new Error(a.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=a.body.result[0],n.fullResult=a.body.fullResult?a.body.fullResult[0]:""}return e}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},qr=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 Xr(e,t,r,n){const i=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),a=e.path||"";return{method:"POST",url:`http://upload${i}.qiniup.com/putb64/-1/key/${Buffer.from(a+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":B.getType(t)||"application/octet-stream"},body:n}}function Qr(e){const t=e.accessKey,r=e.secretKey,n=new re.auth.digest.Mac(t,r),i={scope:e.bucket};return new re.rs.PutPolicy(i).uploadToken(n)}const Zr=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)continue;const r=n.base64Image||(n.buffer?Buffer.from(n.buffer).toString("base64"):null);if(!r)continue;const i=Xr(t,n.fileName,Qr(t),r),a=await e.request(i),s=JSON.parse(a);if(!s?.key)throw e.emit(Je.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(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},Jr=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 en{static instance;client=new ne;isConnected=!1;constructor(){}static getInstance(){return en.instance||(en.instance=new en),en.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:i,privateKey:a,passphrase:s}=e,o=a?{username:n,privateKeyPath:a,passphrase:s||void 0}:{username:n,password:i};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=en.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const i=n.fileMode||"0644";"0644"!==i&&await this.exec(`chmod ${i} "${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=en.changeWinStylePathToUnix(e);const[n,i]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${i} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const tn=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=Lt({path:r.uploadPath,rootToEmpty:!1});const n=Lt({path:r.webPath,rootToEmpty:!1});try{const i=e.output;for(const a of i){if(!a.fileName)continue;const i=a.buffer||(a.base64Image?Buffer.from(a.base64Image,"base64"):void 0);if(!i)continue;const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,a.fileName);s(t.dirname(S)),I(S,i);const c=en.getInstance();await c.connect(r);const P=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),a.fileName);await c.upload(S,P,r),r.fileUser&&await c.chown(P,r.fileUser),delete a.base64Image,delete a.buffer;const u=r.customUrl||r.host;r.webPath?a.imgUrl=`${u}/${ht(`${"/"===n?"":n}${a.fileName}`)}`:a.imgUrl=`${u}/${ht(`${"/"===r.uploadPath?"":r.uploadPath}${a.fileName}`)}`;const p=t.join(E,a.fileName);s(t.dirname(p)),l(p),_(S,t.join(E,a.fileName)),a.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(a.fileName)}`,c.close()}return e}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},rn=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 nn=(e,t,r,n="")=>{const i=n||"s.ee";return{method:"POST",url:`https://${i}${"s.ee"===i?"/api/v1/file/upload":"/api/v2/upload"}`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}},an=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=t.backupDomain?.trim(),n=e.output;for(const i of n){if(!i.fileName)continue;const n=i.buffer||(i.base64Image?Buffer.from(i.base64Image,"base64"):void 0);if(!n)continue;const a=nn(i.fileName,n,t.token,r),s=await e.request(a),o=JSON.parse(s);if(200!==o.code&&"success"!==o.message&&"success"!==o.code){const t=o.message||"Upload failed";throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}i.imgUrl=o.data.url,i.hash=o.data.hash,delete i.base64Image,delete i.buffer}return e},sn=e=>{const t=e.getConfig("picBed.smms")||{};return[Kt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),Kt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const on=(e,t)=>{const{secretId:r,secretKey:n,appId:i,bucket:a,version:s,area:o,endpoint:E,path:S}=e;let I,l="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${i}&b=${a}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=T.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);l=`${e};${e+86400}`;const r=T.createHmac("sha1",n).update(l).digest("hex"),i=`put\n/${S}${t}\n\nhost=${a}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${l}\n${T.createHash("sha1").update(i).digest("hex")}\n`;I=T.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:i,bucket:a,signTime:l}},En=(e,t,r,n,i)=>{const{area:a,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${i};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${a}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${a}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const l=`${o}.${E||`cos.${a}.myqcloud.com`}`;return{method:"PUT",url:`http://${l}/${ht(`${s}${t}`)}`,headers:{Host:l,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:B.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},Sn=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(/\/$/,""),i=Lt({path:t.path}),a=Lt({path:t.webPath});t.path=i;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=on(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=En(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}})),l=s&&"string"==typeof I?JSON.parse(I):I;if(400===l.statusCode)throw l?.body?.err||new Error(l?.body?.msg||l?.body?.message);const _=t.options||"",c=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===l.message)o.imgUrl=n?`${n}/${ht(`${a||i}${o.fileName}`)}${_}`:`${l.data.source_url}${_}`;else{if(s||200!==l?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)o.imgUrl=`${n}/${ht(`${a||i}${o.fileName}`)}${_}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${ht(`${i}${o.fileName}`)}${_}`}}c&&(o.imgUrl+=_?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Je.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}},In=e=>{const t=e.getConfig("picBed.tcyun")||{};return[Kt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),Kt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),Kt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),Kt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),Kt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),Kt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),Kt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),Kt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),Kt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),Kt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),Kt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),Kt(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 ln="https://v0.api.upyun.com",_n=e=>T.createHash("md5").update(e).digest("hex"),cn=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const i=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!i)return;const a=((e,t)=>{const{path:r="",operator:n,password:i,bucket:a}=e,s=_n(i),o=(new Date).toUTCString(),E=`PUT&/${a}/${ht(`${r}${t}`)}&${o}`;return`UPYUN ${n}:${T.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:i,path:a}=e;let s=(e.endpoint||ln).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${i}/${ht(`${a}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":B.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,a,i);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}/${ht(`${n}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?Pn(E,r,t.fileName):E},Pn=(e,t,r)=>{const n=((e,t,r,n)=>{const i=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),a=Math.round(Date.now()/1e3),s=t?a+parseInt(t.toString(),10):a+1800;return`_upt=${_n(`${e}&${s}&${i}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},un=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=Lt({path:t.path});t.path=n;for(const i of r)await cn(e,i,t,n);return e}catch(t){throw pn(e,t),t}},pn=(e,t)=>{if("Upload failed"===t.message)e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Oe(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},gn=e=>{const t=e.getConfig("picBed.upyun")||{};return[Kt(e,"upyun","bucket","input",t.bucket||"",!0),Kt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),Kt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),Kt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),Kt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),Kt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),Kt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),Kt(e,"upyun","expireTime","input",t.expireTime||"",!1),Kt(e,"upyun","endpoint","input",t.endpoint||ln,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const An=4294967296,Cn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},dn=(e,t,r,n,i,a)=>`${e}/${ht(`${a?r:t}${n}`).replace(/^\/+/g,"")}${i}`,Tn=(e,r,n)=>{const a=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(a,r);s(t.dirname(o)),i.writeFileSync(o,n)},Dn=async(e,r,n,i)=>{const a=t.dirname(`${r}${n}`),s="/"===a?"":a;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,i,{overwrite:!0})},fn=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=Lt({path:t.path,rootToEmpty:!1});const n=Lt({path:t.webpath,rootToEmpty:!1}),i=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:An,maxContentLength:An};return"digest"===e.authType&&(t.authType=ie.Digest),ae(e.host,t)})(t),a=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=Cn(s);if(!await Dn(r,t.path,s.fileName,o))throw new Error("Upload failed");Tn(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=dn(a,t.path,n,s.fileName,i,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Je.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},mn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[Kt(e,"webdavplist","host","input",t.host||"",!0),Kt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),Kt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),Kt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),Kt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),Kt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),Kt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),Kt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),Kt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const Ln=()=>({register(e){!function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:cr,config:Pr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Cr,config:dr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:mr,config:Lr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:Or,config:yr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:xr,config:Wr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Fr,config:Hr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:Kr,config:kr})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Yr,config:Vr})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:zr,config:qr})}(e),function(e){e.helper.uploader.register(bt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Zr,config:Jr})}(e),function(e){e.helper.uploader.register(xt,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:tn,config:rn})}(e),function(e){e.helper.uploader.register(Wt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:an,config:sn})}(e),function(e){e.helper.uploader.register($t,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:Sn,config:In})}(e),function(e){e.helper.uploader.register(Ft,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:un,config:gn})}(e),function(e){e.helper.uploader.register(Ht,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:fn,config:mn})}(e)}});class hn{ctx;constructor(e){this.ctx=e}migrateToMultiConfig(e){const t=this.ctx.getConfig(),r=this.ctx.getConfig(`picBed.${e}`);if(!t.uploader||!t.uploader[e])if(t.uploader||(t.uploader={}),r&&Object.keys(r).length>0){const n={...r,_id:r._id||R(),_configName:r._configName||"Default",_createdAt:r._createdAt||Date.now(),_updatedAt:r._updatedAt||Date.now()};t.uploader[e]={configList:[n],defaultId:n._id},this.ctx.saveConfig({uploader:t.uploader}),this.ctx.saveConfig({[`picBed.${e}`]:n})}else t.uploader[e]={configList:[],defaultId:""},this.ctx.saveConfig({uploader:t.uploader})}getCurrentUploaderConfig(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);if(!t||!t.defaultId)return null;return t.configList.find(e=>e._id===t.defaultId)||null}getAllUploaderConfigs(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);return t?.configList||[]}addUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i={...r,_id:R(),_configName:t,_createdAt:Date.now(),_updatedAt:Date.now()};return n.configList.push(i),1===n.configList.length&&(n.defaultId=i._id),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===i._id&&this.syncConfigToPicBed(e,i),i}updateUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.findIndex(e=>e._id===t);if(-1===i)return!1;const a=n.configList[i];return n.configList[i]={...r,_id:a._id,_configName:r._configName||a._configName,_createdAt:a._createdAt,_updatedAt:Date.now()},this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,n.configList[i]),!0}deleteUploaderConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=this.ctx.getConfig("picBed.uploader")||this.ctx.getConfig("picBed.current")||"smms";if(1===r.configList.length&&e===n)return this.ctx.log.warn("Cannot delete the only config of the current uploader."),!1;const i=r.configList.findIndex(e=>e._id===t);return-1!==i&&(r.defaultId===t&&r.configList.length>1?(this.ctx.log.warn("Cannot delete the default config. Please set another config as default first."),!1):(r.configList.splice(i,1),r.defaultId===t&&(r.defaultId=r.configList.length>0?r.configList[0]._id:""),this.ctx.saveConfig({[`uploader.${e}`]:r}),0===r.configList.length&&this.ctx.removeConfig("picBed",e),this.ctx.log.info(`${e} is deleted everywhere.`),!0))}setDefaultConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=r.configList.find(e=>e._id===t);return!!n&&(r.defaultId=t,this.ctx.saveConfig({[`uploader.${e}`]:r}),this.syncConfigToPicBed(e,n),!0)}syncConfigToPicBed(e,t){this.ctx.saveConfig({[`picBed.${e}`]:t})}getConfigByName(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`)||{};return r?.configList?.find(e=>e._configName===t)||null}renameConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.find(e=>e._id===t);return!!i&&(i._configName=r,i._updatedAt=Date.now(),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,i),!0)}}class Bn{ctx;db;constructor(e){if(this.ctx=e,this.db=new se(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{current:"smms",uploader:"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}this.read(!0)}read(e){return this.db.read(e)}getSingle(e=""){return""===e?this.db.read(!0):(this.read(!0),this.db.get(e))}get(e=""){return Array.isArray(e)?e.map(e=>this.getSingle(e)):this.getSingle(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])})}getConfigPath(){return this.ctx.configPath}}const Nn="piclist-clipboard-images",Un={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'},Rn={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,Nn);s(r)}(e);const r=t.join(e.baseDir,Nn,`${K().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,a)=>{const s=(()=>{const e=process.platform;return Ee?"wsl":"win32"===e?"10"===M.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,Rn[s]);let E;i.existsSync(o)||i.writeFileSync(o,Un[s],"utf8"),E="darwin"===s?oe("osascript",[o,r]):"win32"===s||"win10"===s?oe("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):oe("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Je.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),a(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)&&i.existsSync(E)&&(S=!0),"no image"!==E&&!i.existsSync(E))return a(new Error(`Can't find ${E}`));n({imgPath:E,shouldKeepAfterUploading:S})})})};class On extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;rawInputPath;processedInput;pluginHandler;configManager;Request;i18n;VERSION="2.3.4";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.rawInputPath=[],this.output=[],this.helper={transformer:new Xt("transformer"),uploader:new Xt("uploader"),beforeTransformPlugins:new Xt("beforeTransformPlugins"),beforeUploadPlugins:new Xt("beforeUploadPlugins"),afterUploadPlugins:new Xt("afterUploadPlugins")},this.initConfigPath(),this.log=new Jt(this),this.cmd=new Zt(this),this.pluginHandler=new er(this),this.configManager=new hn(this),this.initConfig()}static async create(e=""){const t=new On(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)||c(`${this.configPath}`)}initConfig(){this.db=new Bn(this),this.configManager=new hn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new At(this),this.Request=new Er(this),this._pluginLoader=new rr(this),Qt("picgo"),Ln().register(this),{register(e){e.helper.transformer.register("path",lr),e.helper.transformer.register("base64",Sr)}}.register(this),Qt(""),await this._pluginLoader.load(),this.lifecycle=new pt(this)}catch(e){throw this.emit(Je.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?A(this._config,e):this._config}saveConfig(e){Me(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&&(Re(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Me(e)?Object.keys(e).forEach(t=>{Re(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),C(this._config,t,e[t]),nr.emit(et.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Re(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||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Je.FAILED,r),this.once(Je.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Je.FAILED,e),e}}changeCurrentUploader(e,t){this.saveConfig({[`picBed.${e}`]:t,"picBed.uploader":e,"picBed.current":e})}async uploadReturnCtx(e){const t={ctx:this,backupCtx:void 0};if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),t;const r=p(e||[]);let n=this.getConfig("settings.enableSecondUploader")||!1;const i=this.getConfig("picBed.secondUploader")||"",a=this.getConfig("picBed.secondUploaderConfig")||{};a&&0!==Object.keys(a).length||(n=!1);const s=this.lifecycle.getUploaderType(this);if(!s.config||0===Object.keys(s.config).length)return this.log.error("Current uploader config is empty, please check your settings"),t;a._id===s.id&&(this.log.info("The second uploader config is the same as the first uploader, skipping second upload."),n=!1);let o,E="",S="",I={imgPath:"",shouldKeepAfterUploading:!1},l=!1;if(void 0!==e&&0!==e.length)E="file",o=await this.lifecycle.start(e,!1),t.ctx=o;else{E="clipboard";try{I=await Mn(this),S=I.imgPath,l=I.shouldKeepAfterUploading,n&&(l=!0);const e=()=>{l||P(S).catch(e=>{this.log.error(e)})};if("no image"===S)throw new Error("image not found in clipboard");this.once(Je.FAILED,e),this.once(Je.FINISHED,e),o=await this.lifecycle.start([S],!1),t.ctx=o}catch(e){throw this.emit(Je.FAILED,e),e}}if(!n)return t;const _=this.getConfig("settings.secondPicBedMode");let c;if(!a||0===Object.keys(a).length)return this.log.error("Second uploader config is empty, please check your settings"),t;this.changeCurrentUploader(i,a);try{if("seperate"===_){if("clipboard"===E){const e=()=>{I.shouldKeepAfterUploading||P(S).catch(e=>{this.log.error(e)})};this.once(Je.FAILED,e),this.once(Je.FINISHED,e)}c=await this.lifecycle.start("file"===E?r:[I.imgPath],!1)}else c=await this.lifecycle.start(o.processedInput,!0);t.backupCtx=c}catch(e){this.log.error("Failed to upload to second uploader:",e)}finally{this.changeCurrentUploader(s.picBed,s.config||{})}return t}}export{Zt as Commander,pt as Lifecycle,Xt as LifecyclePlugins,Jt as Logger,On as PicGo,Qe as PicGoUtils,er as PluginHandler,rr as PluginLoader,Er as Request};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy91dGlscy9ydW5TY3JpcHRzLnRzIiwiLi4vc3JjL2NvcmUvTGlmZWN5Y2xlLnRzIiwiLi4vc3JjL3V0aWxzL2NyZWF0ZUNvbnRleHQudHMiLCIuLi9zcmMvaTE4bi9lbi50cyIsIi4uL3NyYy9pMThuL2luZGV4LnRzIiwiLi4vc3JjL2kxOG4vemgtQ04udHMiLCIuLi9zcmMvaTE4bi96aC1UVy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9jb25maWcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnTWFuYWdlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pMThuLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcHJveHkudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9zZXR0aW5nLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvY29tcHJlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci93YXRlcm1hcmsudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV1cGxvYWQvYnVpbGRJblJlbmFtZS50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3NraXBQcm9jZXNzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VwbG9hZC50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91c2UudHMiLCIuLi9zcmMvbGliL0xpZmVjeWNsZVBsdWdpbnMudHMiLCIuLi9zcmMvbGliL0NvbW1hbmRlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pbmRleC50cyIsIi4uL3NyYy9saWIvTG9nZ2VyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5IYW5kbGVyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5Mb2FkZXIudHMiLCIuLi9zcmMvdXRpbHMvZXZlbnRCdXMudHMiLCIuLi9zcmMvbGliL1JlcXVlc3QudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9iYXNlNjQudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9wYXRoLnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvaW5kZXgudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hZHZhbmNlZHBsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGl5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zMy91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3VwbG9hZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYXdzczNwbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2dpdGh1Yi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2ltZ3VyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvbG9jYWwudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sc2t5LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcGljbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3Fpbml1LnRzIiwiLi4vc3JjL3V0aWxzL3NzaENsaWVudC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NmdHAudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zbW1zLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdGN5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91cHl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3dlYmRhdi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2luZGV4LnRzIiwiLi4vc3JjL3V0aWxzL2NvbmZpZ01hbmFnZXIudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiX2UiLCJoYW5kbGVVcmxFbmNvZGUiLCJlbmNvZGVVUkkiLCJnZXRJbWFnZVNpemUiLCJmaWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ0eXBlIiwiaW1hZ2VTaXplIiwicmVhbCIsImdldEZTRmlsZSIsImFzeW5jIiwiZmlsZVBhdGgiLCJmaWxlTmFtZSIsImJ1ZmZlciIsImZzIiwicmVhZEZpbGUiLCJzdWNjZXNzIiwicmVhc29uIiwiZ2V0SW1hZ2VUeXBlQnlNYWdpY051bWJlciIsImdldEhleCIsInN0YXJ0IiwiZW5kIiwiZnJvbSIsInN1YmFycmF5IiwibWFwIiwidG9VcHBlckNhc2UiLCJoZXg0IiwiaGV4MyIsImhleDIiLCJnZXRVUkxGaWxlIiwiY3R4IiwidGltZW91dElkIiwicmVxdWVzdEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXMiLCJoZWFkZXJzIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicmVzcG9uc2VUeXBlIiwidGhlbiIsInJlc3AiLCJkYXRhIiwiY2xlYXJUaW1lb3V0IiwidXJsUGF0aCIsIlVSTCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwiZ2V0IiwiY29udGVudFR5cGUiLCJwdXJlTWltZSIsInRvTG9jYWxlTG93ZXJDYXNlIiwidHJpbSIsInN0YXJ0c1dpdGgiLCJtaW1lIiwiZ2V0RXh0ZW5zaW9uIiwiZ2V0SW1hZ2VFeHRlbnNpb25Gcm9tTWltZSIsImVycm9yIiwibWVzc2FnZSIsImNhdGNoIiwidGltZW91dFByb21pc2UiLCJzZXRUaW1lb3V0IiwicmFjZSIsImdldFBsdWdpbk5hbWVUeXBlIiwibmFtZSIsImlzU2ltcGxlTmFtZSIsIm5hbWVPclBhdGgiLCJpc0Fic29sdXRlIiwicGx1Z2luUGF0aCIsInByb2Nlc3MiLCJjd2QiLCJleGlzdHNTeW5jIiwiaGFuZGxlQ29tcGxldGVQbHVnaW5OYW1lIiwic2NvcGUiLCJnZXRQcm9jZXNzUGx1Z2luTmFtZSIsImxvZ2dlciIsImNvbnNvbGUiLCJoYW5kbGVVbml4U3R5bGVQYXRoIiwid2FybiIsImdldE5vcm1hbFBsdWdpbk5hbWUiLCJyZW1vdmVQbHVnaW5WZXJzaW9uIiwicGFja2FnZUpTT05QYXRoIiwicG9zaXgiLCJwa2ciLCJyZWFkSlNPTlN5bmMiLCJwYXRoU3RyIiwicmVnIiwibWF0Y2hBcnIiLCJtYXRjaCIsImNvbmZpZ0JsYWNrTGlzdCIsImlzQ29uZmlnS2V5SW5CbGFja0xpc3QiLCJibGFja0l0ZW0iLCJpc0lucHV0Q29uZmlnVmFsaWQiLCJjb25maWciLCJpc0FycmF5Iiwic2FmZVBhcnNlIiwic3RyIiwiSlNPTiIsInBhcnNlIiwiZm9yY2VOdW1iZXIiLCJpc05hTiIsIk51bWJlciIsImlzRGV2IiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0V2F0ZXJtYXJrSW1hZ2VQYXRoIiwiQWRkV2F0ZXJtYXJrIiwiaW1nIiwid2F0ZXJtYXJrVHlwZSIsImRlZmF1bHRXYXRlcm1hcmtGb250UGF0aCIsImlzRnVsbFNjcmVlbldhdGVybWFyayIsIndhdGVybWFya0RlZ3JlZSIsInRleHQiLCJ3YXRlcm1hcmtGb250UGF0aCIsIndhdGVybWFya1NjYWxlUmF0aW8iLCJ3YXRlcm1hcmtDb2xvciIsIndhdGVybWFya0ltYWdlUGF0aCIsInBvc2l0aW9uIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5IiwiaW1hZ2UiLCJzaGFycCIsImFuaW1hdGVkIiwiaW1nV2lkdGgiLCJtZXRhZGF0YSIsIndhdGVybWFyayIsImNvbXBvc2l0ZSIsIkJ1ZmZlciIsInJhdyIsImNoYW5uZWxzIiwidGlsZSIsImJsZW5kIiwidG9CdWZmZXIiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJvcHRpb25zIiwiYW5jaG9yIiwiYXR0cmlidXRlcyIsImZpbGwiLCJ0ZXh0U1ZHIiwiVGV4dFRvU1ZHIiwibG9hZFN5bmMiLCJnZXRTVkciLCJ0ZXh0MlNWRyIsIndhdGVybWFya1dpZHRoIiwid2F0ZXJtYXJrSGVpZ2h0IiwiZ2V0U2l6ZSIsIndhdGVybWFya1Jlc2l6ZVdpZHRoIiwiZmxvb3IiLCJ3YXRlcm1hcmtSZXNpemVIZWlnaHQiLCJyZXNpemUiLCJmaXQiLCJyb3RhdGUiLCJiYWNrZ3JvdW5kIiwiciIsImciLCJhbHBoYSIsImNyZWF0ZVdhdGVybWFyayIsImdyYXZpdHkiLCJ2YWxpZFBhcmFtIiwicGFyYW1zIiwiZXZlcnkiLCJwYXJhbSIsImF2YWlsYWJsZUNvbnZlcnRGb3JtYXRMaXN0IiwiaW1hZ2VGb3JtYXRMaXN0IiwidmFsaWRPdXRwdXRGb3JtYXQiLCJmb3JtYXQiLCJnZXRUcmVhdGVkV2F0ZXJNYXJrT3B0aW9ucyIsImdsb2JhbCIsImlkU3BlY2lmaWNDb25maWciLCJwaWNCZWQiLCJpZCIsImlzQWRkV2F0ZXJtYXJrIiwiaXNBZGRXYXRlcm1hcmtNYXAiLCJ3YXRlcm1hcmtUeXBlTWFwIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrRGVncmVlTWFwIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1RleHRNYXAiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvTWFwIiwid2F0ZXJtYXJrQ29sb3JNYXAiLCJ3YXRlcm1hcmtJbWFnZVBhdGhNYXAiLCJ3YXRlcm1hcmtQb3NpdGlvbiIsIndhdGVybWFya1Bvc2l0aW9uTWFwIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5TWFwIiwiZ2V0VHJlYXRlZENvbXByZXNzT3B0aW9ucyIsInF1YWxpdHkiLCJxdWFsaXR5TWFwIiwiaXNDb252ZXJ0IiwiaXNDb252ZXJ0TWFwIiwiY29udmVydEZvcm1hdCIsImNvbnZlcnRGb3JtYXRNYXAiLCJpc1JlU2l6ZSIsImlzUmVTaXplTWFwIiwicmVTaXplSGVpZ2h0IiwicmVTaXplSGVpZ2h0TWFwIiwicmVTaXplV2lkdGgiLCJyZVNpemVXaWR0aE1hcCIsInNraXBSZVNpemVPZlNtYWxsSW1nIiwic2tpcFJlU2l6ZU9mU21hbGxJbWdNYXAiLCJpc1JlU2l6ZUJ5UGVyY2VudCIsImlzUmVTaXplQnlQZXJjZW50TWFwIiwicmVTaXplUGVyY2VudCIsInJlU2l6ZVBlcmNlbnRNYXAiLCJpc1JvdGF0ZSIsImlzUm90YXRlTWFwIiwicm90YXRlRGVncmVlIiwicm90YXRlRGVncmVlTWFwIiwiaXNSZW1vdmVFeGlmIiwiaXNSZW1vdmVFeGlmTWFwIiwiaXNGbGlwIiwiaXNGbGlwTWFwIiwiaXNGbG9wIiwiaXNGbG9wTWFwIiwiZm9ybWF0Q29udmVydE9iaiIsImZvcm1hdENvbnZlcnRPYmpNYXAiLCJpbWFnZUFkZFdhdGVyTWFyayIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZUNvbXByZXNzIiwicmF3Rm9ybWF0Iiwibm9ybWFsaXplSW1hZ2VFeHQiLCJtaW4iLCJyb3VuZCIsImltYWdlV2lkdGgiLCJpbWFnZUhlaWdodCIsInNjYWxlUmF0aW8iLCJmbGlwIiwiZmxvcCIsIm5ld0Zvcm1hdCIsImdldENvbnZlcnRlZEZvcm1hdCIsInRvRm9ybWF0IiwibW96anBlZyIsInRvTG93ZXJDYXNlIiwiaXNOZWVkQWRkV2F0ZXJtYXJrIiwid2F0ZXJtYXJrT3B0aW9ucyIsImZpbGVFeHQiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJFcnJvciIsInN0YWNrIiwic3RyaW5naWZ5IiwiU3RyaW5nIiwiU2NyaXB0SGFuZGxlciIsInNjcmlwdENhY2hlIiwiTWFwIiwic3RhZ2VzIiwiY29uc3RydWN0b3IiLCJ0aGlzIiwicmVmcmVzaENhY2hlIiwiY2xlYXIiLCJiYXNlRGlyIiwiYWxsQ29uZmlnIiwiZ2V0Q29uZmlnIiwiZGlzYWJsZWRMaXN0Iiwic2NyaXB0cyIsImFsbCIsInN0YWdlIiwiY29uZmlnS2V5Iiwic2NyaXB0RGlyIiwiZmlsZXMiLCJyZWFkZGlyIiwic3RhZ2VTY3JpcHRzIiwiZW5kc1dpdGgiLCJjb250ZW50IiwiY29tcGlsZWRTY3JpcHQiLCJ2bSIsIlNjcmlwdCIsImZpbGVuYW1lIiwicHVzaCIsInNldCIsInJ1blN0YWdlIiwiZXh0cmEiLCJzY3JpcHRPYmoiLCJleHBvc2VkQVBJIiwiY3JlYXRlU2FuZGJveCIsImNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwicnVuSW5Db250ZXh0IiwibWFpbiIsInJlc3VsdCIsImxvZyIsImluZm8iLCJlIiwiZW52UGF0aCIsImJ1ZiIsInJlYWRGaWxlU3luYyIsImRvdGVudiIsImsiLCJnZXRGcmVzaEVudiIsImZyZWV6ZSIsImFyZ3MiLCJkZWJ1ZyIsImF4aW9zIiwib3MiLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJiYXNlNjREZWNvZGUiLCJiYXNlNjRFbmNvZGUiLCJpc0J1ZmZlciIsIk1FU1NBR0VTIiwiUFJPR1JFU1MiLCJERUZBVUxUX1NLSVBfRVhURU5TSU9OUyIsIkRFRkFVTFRfVVBMT0FERVIiLCJMaWZlY3ljbGUiLCJFdmVudEVtaXR0ZXIiLCJ0dGZQYXRoIiwic3VwZXIiLCJpbml0aWFsaXplRGlycyIsImVuc3VyZURpclN5bmMiLCJlbXB0eURpclN5bmMiLCJkb3dubG9hZFRURiIsInN0YXRTeW5jIiwic2l6ZSIsIndyaXRlRmlsZVN5bmMiLCJnZXRQcm9jZXNzaW5nT3B0aW9ucyIsImNvbXByZXNzT3B0aW9uc0dsb2JhbCIsIndhdGVybWFya09wdGlvbnNHbG9iYWwiLCJidWlsZEluTGlzdCIsInVwbG9hZGVyVHlwZSIsImdldFVwbG9hZGVyVHlwZSIsImlkU3BlY2lmaWNDb21wcmVzc0NvbmZpZyIsImZpbmQiLCJjb21wcmVzcyIsImlkU3BlY2lmaWNXYXRlcm1hcmtDb25maWciLCJwaWNCZWRDb25maWciLCJfaWQiLCJnZXRTa2lwRXh0ZW5zaW9ucyIsInNraXBQcm9jZXNzR2xvYmFsIiwiaWRTcGVjaWZpY1NraXBQcm9jZXNzQ29uZmlnIiwic2tpcFByb2Nlc3MiLCJza2lwUHJvY2Vzc0V4dExpc3QiLCJTZXQiLCJmb3JtYXR0ZWRJdGVtIiwiY29uZmlnUGF0aCIsImNtZCIsIm91dHB1dCIsInJhd0lucHV0IiwicmF3SW5wdXRQYXRoIiwicHJvY2Vzc2VkSW5wdXQiLCJwbHVnaW5Mb2FkZXIiLCJwbHVnaW5IYW5kbGVyIiwiUmVxdWVzdCIsImhlbHBlciIsIlZFUlNJT04iLCJHVUlfVkVSU0lPTiIsImkxOG4iLCJjb25maWdNYW5hZ2VyIiwiYmluZCIsInNhdmVDb25maWciLCJyZW1vdmVDb25maWciLCJzZXRDb25maWciLCJ1bnNldENvbmZpZyIsInVwbG9hZCIsInVwbG9hZFJldHVybkN0eCIsImFkZExpc3RlbmVyIiwib24iLCJvbmNlIiwicmVtb3ZlTGlzdGVuZXIiLCJvZmYiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzZXRNYXhMaXN0ZW5lcnMiLCJnZXRNYXhMaXN0ZW5lcnMiLCJsaXN0ZW5lcnMiLCJyYXdMaXN0ZW5lcnMiLCJlbWl0IiwibGlzdGVuZXJDb3VudCIsInByZXBlbmRMaXN0ZW5lciIsInByZXBlbmRPbmNlTGlzdGVuZXIiLCJldmVudE5hbWVzIiwiY2hhbmdlQ3VycmVudFVwbG9hZGVyIiwiaW5pdGlhbGl6ZUNvbnRleHQiLCJoYW5kbGVTa2lwUHJvY2VzcyIsImV4ZWN1dGVMaWZlY3ljbGUiLCJoYW5kbGVFcnJvciIsImNsb25lRGVlcCIsImhhbmRsZXIiLCJkb1VwbG9hZCIsImFmdGVyVXBsb2FkIiwicHJlcHJvY2VzcyIsImJlZm9yZVRyYW5zZm9ybSIsImRvVHJhbnNmb3JtIiwiYnVpbGRJblJlbmFtZSIsImJlZm9yZVVwbG9hZCIsIkZBSUxFRCIsIlVQTE9BRF9QUk9HUkVTUyIsInNraXBFeHRlbnNpb25zIiwiQkVGT1JFX1RSQU5TRk9STSIsInRlbXBGaWxlUGF0aCIsInByb2Nlc3NJbWFnZXMiLCJpbml0aWFsaXplUmF3SW5wdXRQYXRocyIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsInN0YXR1cyIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsImdsb2JhbFJlbmFtZUNvbmZpZyIsInJlbmFtZUNvbmZpZyIsInJlbmFtZSIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwidXBsb2FkZXIiLCJjdXJyZW50VXBsb2FkZXIiLCJvdXRwdXRJbWciLCJBRlRFUl9VUExPQUQiLCJhZnRlclVwbG9hZFBsdWdpbnMiLCJtc2ciLCJpc0VuY29kZU91dHB1dFVSTCIsImltZ1VybCIsIkZJTklTSEVEIiwibGlmZUN5Y2xlUGx1Z2lucyIsInBsdWdpbnMiLCJnZXRMaXN0IiwicGx1Z2luTmFtZXMiLCJnZXRJZExpc3QiLCJsaWZlQ3ljbGVOYW1lIiwiZ2V0TmFtZSIsInBsdWdpbiIsImxhbmd1YWdlTGlzdCIsIlVQTE9BRF9GQUlMRUQiLCJDSEVDS19TRVRUSU5HUyIsIkNIRUNLX1NFVFRJTkdTX0FORF9ORVRXT1JLIiwiVVBMT0FEX0ZBSUxFRF9SRUFTT04iLCJTRVJWRVJfRVJST1IiLCJBVVRIX0ZBSUxFRCIsIlBJQ0JFRF9TTU1TIiwiUElDQkVEX1NNTVNfVE9LRU4iLCJQSUNCRURfU01NU19NRVNTQUdFX1RPS0VOIiwiUElDQkVEX1NNTVNfQkFDS1VQRE9NQUlOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9CQUNLVVBfRE9NQUlOIiwiUElDQkVEX0FEVkFOQ0VEUExJU1QiLCJQSUNCRURfQURWQU5DRURQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfUkVTREFUQVBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1JFU0RBVEFQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfVVBMT0FEU0NSSVBUTkFNRSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfVVBMT0FEU0NSSVBUTkFNRSIsIlBJQ0JFRF9MT0NBTCIsIlBJQ0JFRF9MT0NBTF9QQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9MT0NBTF9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfTE9DQUxfV0VCUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfUExJU1QiLCJQSUNCRURfQUxJU1RfVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVJMIiwiUElDQkVEX0FMSVNUX1RPS0VOIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfQUxJU1RfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUExPQURfUEFUSCIsIlBJQ0JFRF9BTElTVF9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfV0VCX1BBVEgiLCJQSUNCRURfQUxJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FMSUNMT1VEX0FDQ0VTU0tFWVNFQ1JFVCIsIlBJQ0JFRF9BTElDTE9VRF9CVUNLRVQiLCJQSUNCRURfQUxJQ0xPVURfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX0FMSUNMT1VEX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfVkVSU0lPTiIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9USVAiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ09ORklSTSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DQU5DRUwiLCJQSUNCRURfR0lUSFVCIiwiUElDQkVEX0dJVEhVQl9UT0tFTiIsIlBJQ0JFRF9HSVRIVUJfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfV0VCUEFUSCIsIlBJQ0JFRF9HSVRIVUJfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9DVVNUT01VUkwiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUkVQTyIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9RSU5JVSIsIlBJQ0JFRF9RSU5JVV9BQ0NFU1NLRVkiLCJQSUNCRURfUUlOSVVfU0VDUkVUS0VZIiwiUElDQkVEX1FJTklVX0JVQ0tFVCIsIlBJQ0JFRF9RSU5JVV9QQVRIIiwiUElDQkVEX1FJTklVX1VSTCIsIlBJQ0JFRF9RSU5JVV9PUFRJT05TIiwiUElDQkVEX1FJTklVX0FSRUEiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1FJTklVX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9VUkwiLCJQSUNCRURfSU1HVVIiLCJQSUNCRURfSU1HVVJfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfVVNFUk5BTUUiLCJQSUNCRURfSU1HVVJfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX0FMQlVNIiwiUElDQkVEX0lNR1VSX1BST1hZIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQ0xJRU5USUQiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FDQ0VTU19UT0tFTiIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0FMQlVNIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfVVBZVU4iLCJQSUNCRURfVVBZVU5fQlVDS0VUIiwiUElDQkVEX1VQWVVOX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX1BBU1NXT1JEIiwiUElDQkVEX1VQWVVOX1BBVEgiLCJQSUNCRURfVVBZVU5fVVJMIiwiUElDQkVEX1VQWVVOX09QVElPTlMiLCJQSUNCRURfVVBZVU5fRU5EUE9JTlQiLCJQSUNCRURfVVBZVU5fQU5USUxFRUNIVE9LRU4iLCJQSUNCRURfVVBZVU5fRVhQSVJFVElNRSIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QRVJBVE9SIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9VUkwiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1dFQkRBVlBMSVNUIiwiUElDQkVEX1dFQkRBVlBMSVNUX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX1dFQlBBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX0FVVEhUWVBFIiwiUElDQkVEX1dFQkRBVlBMSVNUX09QVElPTlMiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9IT1NUIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfU1NMRU5BQkxFRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfV0VCU0lURV9QQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9TRlRQUExJU1QiLCJQSUNCRURfU0ZUUFBMSVNUX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX1BPUlQiLCJQSUNCRURfU0ZUUFBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1NGVFBQTElTVF9QQVNTV09SRCIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWSIsIlBJQ0JFRF9TRlRQUExJU1RfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfU0ZUUFBMSVNUX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX0RJUl9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVlfUEFTU1BIUkFTRSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9VU0VSIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9ESVJfTU9ERSIsIlBJQ0JFRF9QSUNMSVNUIiwiUElDQkVEX1BJQ0xJU1RfSE9TVCIsIlBJQ0JFRF9QSUNMSVNUX1BPUlQiLCJQSUNCRURfUElDTElTVF9QSUNCRUQiLCJQSUNCRURfUElDTElTVF9DT05GSUdOQU1FIiwiUElDQkVEX1BJQ0xJU1RfS0VZIiwiUElDQkVEX0xTS1lfUExJU1QiLCJQSUNCRURfTFNLWV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9WRVJTSU9OIiwiUElDQkVEX0xTS1lfSE9TVCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9MU0tZX1RPS0VOIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9MU0tZX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9TVFJBVEVHWV9JRCIsIlBJQ0JFRF9MU0tZX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9BTEJVTV9JRCIsIlBJQ0JFRF9MU0tZX1BFUk1JU1NJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1BFUk1JU1NJT04iLCJQSUNCRURfQVdTUzNQTElTVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FXU1MzUExJU1RfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFR0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BST1hZIiwiUElDQkVEX0FXU1MzUExJU1RfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1BBVEhTVFlMRUFDQ0VTUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0RJU0FCTEVCVUNLRVRQUkVGSVhUT1VSTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1NFQ1JFVF9BQ0NFU1NLRVkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0JVQ0tFVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9VUExPQURQQVRIIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VSTFBSRUZJWCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUpFQ1RVTkFVVEhPUklaRUQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0FDTCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiQlVJTERJTl9XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfSVNBRERXQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktUWVBFIiwiQlVJTERJTl9XQVRFUk1BUktfSVNGVUxMU0NSRUVOV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktERUdSRUUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RFWFQiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVFBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktTQ0FMRVJBVElPIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktDT0xPUiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVENPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLSU1BR0VQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLUE9TSVRJT04iLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRU9QQUNJVFkiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fU0tJUFBST0NFU1MiLCJCVUlMRElOX1NLSVBQUk9DRVNTX1NLSVBQUk9DRVNTRVhUTElTVCIsIkJVSUxESU5fUkVOQU1FIiwiQlVJTERJTl9SRU5BTUVfRk9STUFUIiwiQlVJTERJTl9SRU5BTUVfRU5BQkxFIiwiQlVJTERJTl9DT01QUkVTUyIsIkJVSUxESU5fQ09NUFJFU1NfUVVBTElUWSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNDT05WRVJUIiwiQlVJTERJTl9DT01QUkVTU19DT05WRVJURk9STUFUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVTSVpFIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVXSURUSCIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRUhFSUdIVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkVCWVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX0lTRkxJUCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTE9QIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX1NLSVBSRVNJWkVPRlNNQUxMSU1HIiwiQlVJTERJTl9DT01QUkVTU19JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JPVEFURSIsIkJVSUxESU5fQ09NUFJFU1NfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JPVEFURURFR1JFRSIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRU1PVkVFWElGIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVNT1ZFRVhJRiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEX1BBVEgiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEX1ZBTElEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRF9WQUxJRCIsImVuIiwiSTE4bk1hbmFnZXIiLCJvYmplY3RBZGFwdGVyIiwiT2JqZWN0QWRhcHRlciIsImxhbmd1YWdlIiwiSTE4biIsImFkYXB0ZXIiLCJkZWZhdWx0TGFuZ3VhZ2UiLCJsb2FkT3V0dGVySTE4biIsImkxOG5Gb2xkZXIiLCJnZXRPdXR0ZXJJMThuRm9sZGVyIiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZm9yRWFjaCIsImlzRmlsZSIsImkxOG5GaWxlUGF0aCIsImkxOG5GaWxlIiwiaTE4bkZpbGVPYmoiLCJ5YW1sIiwibG9hZCIsInBhdGhFeGlzdHNTeW5jIiwidHJhbnNsYXRlIiwic2V0TGFuZ3VhZ2UiLCJhZGRMb2NhbGUiLCJsb2NhbGVzIiwib3JpZ2luTG9jYWxlcyIsImdldExvY2FsZSIsIm5ld0xvY2FsZXMiLCJtZXJnZSIsInNldExvY2FsZSIsImFkZExhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2VMaXN0IiwicHJvZ3JhbSIsIm9wdGlvbiIsImNvbmZpZ0NtZCIsImNvbW1hbmQiLCJkZXNjcmlwdGlvbiIsImFyZ3VtZW50cyIsImFjdGlvbiIsImNvbmZpZ3MiLCJnZXRBbGxVcGxvYWRlckNvbmZpZ3MiLCJkZWZhdWx0Q29uZmlnIiwiZ2V0Q3VycmVudFVwbG9hZGVyQ29uZmlnIiwibWFya2VyIiwiX2NvbmZpZ05hbWUiLCJjb25maWdOYW1lIiwiZ2V0Q29uZmlnQnlOYW1lIiwic2V0RGVmYXVsdENvbmZpZyIsInByb21wdHMiLCJkZWZhdWx0IiwiaW5xdWlyZXIiLCJwcm9tcHQiLCJjb25maXJtIiwiZGVsZXRlVXBsb2FkZXJDb25maWciLCJfY3JlYXRlZEF0IiwidG9Mb2NhbGVTdHJpbmciLCJfdXBkYXRlZEF0IiwidmFsdWUiLCJkaXNwbGF5VmFsdWUiLCJsYW5nIiwibGlzdCIsImNob2ljZXMiLCJjcmVhdGVDb21tYW5kIiwiYWxpYXMiLCJwcm94eSIsInJlZ2lzdHJ5IiwiaW5zdGFsbCIsInVuaW5zdGFsbCIsImZvcm1hdFBhdGhIZWxwZXIiLCJzdGFydFNsYXNoIiwiZW5kU2xhc2giLCJyb290VG9FbXB0eSIsImNsZWFuUGF0aCIsImVuY29kZVBhdGgiLCJwIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiYnVpbGRJblVwbG9hZGVyTmFtZXMiLCJjcmVhdGVGaWVsZCIsInBpY0JlZE5hbWUiLCJkZWZhdWx0VmFsdWUiLCJyZXF1aXJlZCIsImkxOG5QcmVmaXgiLCJleHRyYXMiLCJwcmVmaXgiLCJ1cGxvYWRlclRyYW5zbGF0b3JzIiwiYWR2YW5jZWRwbGlzdCIsImFsaXN0cGxpc3QiLCJhbGl5dW4iLCJnaXRodWIiLCJpbWd1ciIsImxvY2FsIiwibHNreXBsaXN0IiwicGljbGlzdCIsInFpbml1Iiwic2Z0cHBsaXN0Iiwic21tcyIsInRjeXVuIiwidXB5dW4iLCJ3ZWJkYXZwbGlzdCIsIkJVSUxESU5fTU9EVUxFUyIsInVzZXJDb25maWciLCJoYW5kbGVDb25maWciLCJtb2R1bGUiLCJ1cGxvYWRlck5hbWUiLCJhbnN3ZXIiLCJnZXRDb25maWdOYW1lIiwiYWN0dWFsQ29uZmlnTmFtZSIsImV4aXN0aW5nQ29uZmlnIiwidXBkYXRlVXBsb2FkZXJDb25maWciLCJuZXdDb25maWciLCJhZGRVcGxvYWRlckNvbmZpZyIsImNvbmZpZ0xpc3QiLCJpZE9mQ29uZmlnTmFtZSIsImV4aXN0aW5nRW50cnlJbmRleCIsImZpbmRJbmRleCIsImJ1aWxkaW4iLCJzZXR0aW5nIiwiZW50cmllcyIsInNlbGVjdGVkTW9kdWxlIiwiaGFuZGxlQnVpbGRpbk1vZHVsZSIsImhhbmRsZVVwbG9hZGVyT3JUcmFuc2Zvcm1lciIsInBsdWdpbk5hbWUiLCJnZXRQbHVnaW4iLCJnZXRGdWxsTGlzdCIsImhhbmRsZVBsdWdpbiIsImFyZ3YiLCJpbnB1dExpc3QiLCJmaWx0ZXIiLCJleGlzdCIsInVzZSIsInBpY2dvUGx1Z2lucyIsIkxpZmVjeWNsZVBsdWdpbnMiLCJzdGF0aWMiLCJwbHVnaW5JZE1hcCIsInJlZ2lzdGVyIiwiVHlwZUVycm9yIiwiY3VycmVudFBsdWdpbiIsInVucmVnaXN0ZXIiLCJwbHVnaW5MaXN0IiwiZGVsZXRlIiwidmFsdWVzIiwic2V0Q3VycmVudFBsdWdpbk5hbWUiLCJDb21tYW5kZXIiLCJDb21tYW5kIiwiaW5pdCIsInZlcnNpb24iLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsImFwcGVuZEZpbGVTeW5jIiwiUGx1Z2luSGFuZGxlciIsImluc3RhbGxlZFBsdWdpbnMiLCJwcm9jZXNzUGx1Z2lucyIsImhhbmRsZVBsdWdpbk5hbWVQcm9jZXNzIiwiaGFzUGx1Z2luIiwicGtnTmFtZSIsImZ1bGxOYW1lTGlzdCIsImZ1bGxOYW1lIiwicGtnTmFtZUxpc3QiLCJleGVjQ29tbWFuZCIsImNvZGUiLCJlcnIiLCJ0aXRsZSIsImJvZHkiLCJyZWdpc3RlclBsdWdpbiIsInVucmVnaXN0ZXJQbHVnaW4iLCJtb2R1bGVzIiwid2hlcmUiLCJjb25jYXQiLCJucG0iLCJzcGF3biIsInN0ZG91dCIsInBpcGUiLCJzdGRlcnIiLCJQbHVnaW5Mb2FkZXIiLCJmdWxsTGlzdCIsInBsdWdpbk1hcCIsInBhY2thZ2VQYXRoIiwicmVwb3NpdG9yeSIsImxpY2Vuc2UiLCJyZXNvbHZlUGx1Z2luIiwic3luYyIsImJhc2VkaXIiLCJwbHVnaW5EaXIiLCJqc29uIiwiZGVwcyIsImRlcGVuZGVuY2llcyIsImRldkRlcHMiLCJkZXZEZXBlbmRlbmNpZXMiLCJhZGQiLCJwbHVnaW5JbnRlcmZhY2UiLCJOT1RJRklDQVRJT04iLCJwYWNrYWdlSnNvblBhdGgiLCJwYWNrYWdlSnNvbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsIm1heEJvZHlMZW5ndGgiLCJJbmZpbml0eSIsIm1heENvbnRlbnRMZW5ndGgiLCJodHRwc092ZXJIdHRwIiwiaW5zdGFuY2UiLCJjcmVhdGUiLCJpbnRlcmNlcHRvcnMiLCJvcHQiLCJfX2lzT2xkT3B0aW9ucyIsIkZvcm1EYXRhIiwiZm9ybURhdGEiLCJhc3NpZ24iLCJnZXRIZWFkZXJzIiwicXMiLCJyZXF1ZXN0SW50ZXJjZXB0b3IiLCJvYmoiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaW1nU2l6ZSIsIm1pbWVUeXBlIiwiZ2V0VHlwZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImFkdmFuY2VkcGxpc3RDb25maWciLCJ1cGxvYWRTY3JpcHROYW1lIiwic2NyaXB0TmFtZSIsInNjcmlwdFBhdGgiLCJzY3JpcHRDb250ZW50Iiwic2NyaXB0IiwicHJvbWlzZSIsInJ1blNjcmlwdCIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZ2V0T3B0aW9ucyIsImJyYW5jaCIsImdpdGh1Yk9wdGlvbnMiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzZWVEb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJlcnJvck1zZyIsInNlY3JldElkIiwiYXBwSWQiLCJzaWduVGltZSIsImN1cnJlbnQiLCJtdWx0aVNpZ25hdHVyZSIsInNpZ25IZXhLZXkiLCJ0ZW1wU3RyaW5nIiwidG9kYXkiLCJzaWduS2V5IiwiaHR0cFN0cmluZyIsInN0cmluZ1RvU2lnbiIsInVzZXJBZ2VudCIsIm9wIiwiZmlsZWNvbnRlbnQiLCJ0Y1l1bk9wdGlvbnMiLCJ1c2VWNCIsIm9wdGlvblVybCIsInNsaW0iLCJzb3VyY2VfdXJsIiwiY29uZmlybVRleHQiLCJjYW5jZWxUZXh0IiwidGlwcyIsIkRFRkFVTFRfRU5EUE9JTlQiLCJ1cHl1bk9wdGlvbnMiLCJvcGVyYXRvciIsIm1kNVBhc3N3b3JkIiwic3VmZml4IiwiYW50aUxlZWNoVG9rZW4iLCJhZGRBbnRpTGVlY2hUb2tlbiIsInVwdCIsImV4cGlyZVRpbWUiLCJ1cmkiLCJleHBpcmUiLCJzdWJzdHJpbmciLCJnZXRBbnRpTGVlY2hQYXJhbSIsImhhbmRsZVVwbG9hZEVycm9yIiwiZXJyb3JCb2R5IiwiZXJyb3JDb2RlIiwiTUFYX0ZJTEVfU0laRSIsImdldEltYWdlQnVmZmVyIiwiYnVpbGRJbWFnZVVybCIsIndlYnBhdGgiLCJ1c2VXZWJwYXRoIiwic2F2ZUltYWdlVG9UZW1wIiwidXBsb2FkSW1hZ2UiLCJmdWxsVXBsb2FkRGlyUGF0aCIsInBhdGhUb0NyZWF0ZSIsImNyZWF0ZURpcmVjdG9yeSIsInJlY3Vyc2l2ZSIsInB1dEZpbGVDb250ZW50cyIsIm92ZXJ3cml0ZSIsImF1dGhUeXBlIiwiQXV0aFR5cGUiLCJEaWdlc3QiLCJjcmVhdGVDbGllbnQiLCJjcmVhdGVXZWJEQVZDbGllbnQiLCJidWlsZEluVXBsb2FkZXJzIiwiYWR2YW5jZWRwbGlzdFVwbG9hZGVyIiwiYWxpc3RVcGxvYWRlciIsImFsaVl1blVwbG9hZGVyIiwiYXdzczNwbGlzdFVwbG9hZGVyIiwiZ2l0aHViVXBsb2FkZXIiLCJpbWd1clVwbG9hZGVyIiwibG9jYWxVcGxvYWRlciIsImxza3lVcGxvYWRlciIsInBpY2xpc3RVcGxvYWRlciIsInFpbml1VXBsb2FkZXIiLCJzZnRwVXBsb2FkZXIiLCJzbW1zVXBsb2FkZXIiLCJ0Y1l1blVwbG9hZGVyIiwidXBZdW5VcGxvYWRlciIsIndlYmRhdnBsaXN0VXBsb2FkZXIiLCJDb25maWdNYW5hZ2VyIiwibWlncmF0ZVRvTXVsdGlDb25maWciLCJ1cGxvYWRlckNvbmZpZyIsImNvbmZpZ0l0ZW0iLCJ1dWlkIiwiZGVmYXVsdElkIiwidXBsb2FkZXJEYXRhIiwiY29uZmlnRGF0YSIsInN5bmNDb25maWdUb1BpY0JlZCIsImNvbmZpZ0lkIiwiY29uZmlnSW5kZXgiLCJzcGxpY2UiLCJEQiIsImRiIiwiSlNPTlN0b3JlIiwicmVhZCIsImZsdXNoIiwiZ2V0U2luZ2xlIiwidW5zZXQiLCJnZXRDb25maWdQYXRoIiwiQ0xJUEJPQVJEX0lNQUdFX0ZPTERFUiIsInBsYXRmb3JtMlNjcmlwdENvbnRlbnQiLCJkYXJ3aW4iLCJ3aW4zMiIsIndpbjEwIiwibGludXgiLCJ3c2wiLCJwbGF0Zm9ybTJTY3JpcHRGaWxlbmFtZSIsImdldENsaXBib2FyZEltYWdlIiwiaW1hZ2VQYXRoIiwiY3JlYXRlSW1hZ2VGb2xkZXIiLCJwbGF0Zm9ybSIsImlzV3NsIiwicmVsZWFzZSIsImdldEN1cnJlbnRQbGF0Zm9ybSIsImV4ZWN1dGlvbiIsImltZ1BhdGgiLCJzaG91bGRLZWVwQWZ0ZXJVcGxvYWRpbmciLCJQaWNHbyIsIl9jb25maWciLCJsaWZlY3ljbGUiLCJfcGx1Z2luTG9hZGVyIiwiaW5pdENvbmZpZ1BhdGgiLCJpbml0Q29uZmlnIiwiaG9tZWRpciIsImVuc3VyZUZpbGVTeW5jIiwicmVnaXN0ZXJDb21tYW5kcyIsInByb3BOYW1lIiwiY2xlYW51cCIsInJlbW92ZSIsImN0eFJlc3VsdCIsImJhY2t1cEN0eCIsImVuYWJsZVNlY29uZFVwbG9hZGVyIiwic2Vjb25kYXJ5VXBsb2FkZXJUeXBlIiwic2Vjb25kVXBsb2FkZXJDb25maWciLCJjdHhQIiwiaW5pdGlhbFVwbG9hZFR5cGUiLCJnZXRDbGlwYm9hcmRSZXN1bHQiLCJzZWNvbmRQaWNCZWRNb2RlIiwiY3R4T29mU2Vjb25kIiwiY2xlYW51cEZvclNlY29uZCJdLCJtYXBwaW5ncyI6ImtvREFZQSxNQUNNQSxHQUFZQyxFQURDQyxjQUEwQkMsTUFtQnZDLFNBQVVDLEdBQXNCQyxHQUNwQyxNQUFNQyxFQUFNLElBQUlDLE1BQU1GLEdBQ3RCLElBQUlHLEVBQUksRUFDSkMsRUFBTyxFQUNQQyxFQUFPLEVBQ1gsS0FBT0YsRUFBSUgsR0FBUSxDQUNqQixHQUFJSyxFQUFPLEVBQUcsQ0FDWkQsRUFBUUEsR0FBUSxHQUF3QixXQUFoQkUsS0FBS0MsV0FBMkIsRUFDeERGLEdBQVEsR0FDUixRQUNGLENBQ0EsTUFBTUcsRUFmRyxHQWVHSixFQUNaQSxLQUFVLEVBQ1ZDLEdBQVEsRUFDSkcsRUFBTSxLQUFJUCxFQUFJRSxLQWpCUixpRUFpQnFCSyxHQUNqQyxDQUNBLE9BQU9QLEVBQUlRLEtBQUssR0FDbEIsQ0FVQSxTQUFTQyxHQUFhQyxHQUNwQixPQUFpQyxJQUExQkEsRUFBSUMsV0FBV1osT0FBZSxJQUFJVyxJQUFRQSxFQUFJQyxVQUN2RCxDQUVBLFNBQVNDLEdBQU9DLEdBQ2QsT0FBT0MsRUFBT0MsV0FBVyxPQUFPQyxPQUFPSCxHQUFPSSxPQUFPLE1BQ3ZELENBRUEsU0FBU0MsR0FBVUwsR0FDakIsT0FBT0MsRUFBT0MsV0FBVyxVQUFVQyxPQUFPSCxHQUFPSSxPQUFPLE1BQzFELENBRU0sU0FBVUUs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
|