piclist 1.9.14 → 2.0.1

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.
Files changed (80) hide show
  1. package/.github/workflows/docker.yml +5 -5
  2. package/CHANGELOG.md +19 -0
  3. package/License +22 -22
  4. package/README.md +1 -1
  5. package/README_cn.md +1 -1
  6. package/bin/picgo +9 -7
  7. package/bin/picgo-server +180 -161
  8. package/dist/core/Lifecycle.d.ts +35 -36
  9. package/dist/core/PicGo.d.ts +52 -52
  10. package/dist/i18n/en.d.ts +2 -2
  11. package/dist/i18n/index.d.ts +19 -17
  12. package/dist/i18n/zh-CN.d.ts +293 -289
  13. package/dist/i18n/zh-TW.d.ts +2 -2
  14. package/dist/index.d.ts +10 -10
  15. package/dist/index.js +2 -0
  16. package/dist/lib/Commander.d.ts +22 -22
  17. package/dist/lib/LifecyclePlugins.d.ts +26 -26
  18. package/dist/lib/Logger.d.ts +19 -19
  19. package/dist/lib/PluginHandler.d.ts +10 -10
  20. package/dist/lib/PluginLoader.d.ts +27 -27
  21. package/dist/lib/Request.d.ts +12 -12
  22. package/dist/plugins/beforetransformer/compress.d.ts +5 -5
  23. package/dist/plugins/beforetransformer/skipProcess.d.ts +5 -5
  24. package/dist/plugins/beforetransformer/watermark.d.ts +5 -5
  25. package/dist/plugins/beforeupload/buildInRename.d.ts +5 -5
  26. package/dist/plugins/commander/config.d.ts +3 -3
  27. package/dist/plugins/commander/i18n.d.ts +3 -3
  28. package/dist/plugins/commander/index.d.ts +3 -3
  29. package/dist/plugins/commander/pluginHandler.d.ts +3 -3
  30. package/dist/plugins/commander/proxy.d.ts +3 -3
  31. package/dist/plugins/commander/setting.d.ts +5 -5
  32. package/dist/plugins/commander/upload.d.ts +3 -3
  33. package/dist/plugins/commander/use.d.ts +3 -3
  34. package/dist/plugins/commander/utils.d.ts +2 -2
  35. package/dist/plugins/transformer/base64.d.ts +5 -5
  36. package/dist/plugins/transformer/index.d.ts +5 -5
  37. package/dist/plugins/transformer/path.d.ts +5 -5
  38. package/dist/plugins/uploader/advancedplist.d.ts +2 -2
  39. package/dist/plugins/uploader/alist.d.ts +2 -2
  40. package/dist/plugins/uploader/aliyun.d.ts +2 -2
  41. package/dist/plugins/uploader/awss3plist.d.ts +2 -2
  42. package/dist/plugins/uploader/github.d.ts +2 -2
  43. package/dist/plugins/uploader/imgur.d.ts +2 -2
  44. package/dist/plugins/uploader/index.d.ts +5 -5
  45. package/dist/plugins/uploader/local.d.ts +2 -2
  46. package/dist/plugins/uploader/lsky.d.ts +20 -21
  47. package/dist/plugins/uploader/piclist.d.ts +2 -2
  48. package/dist/plugins/uploader/qiniu.d.ts +2 -2
  49. package/dist/plugins/uploader/s3/uploader.d.ts +25 -24
  50. package/dist/plugins/uploader/s3/utils.d.ts +9 -10
  51. package/dist/plugins/uploader/sftp.d.ts +2 -2
  52. package/dist/plugins/uploader/smms.d.ts +2 -2
  53. package/dist/plugins/uploader/tcyun.d.ts +8 -8
  54. package/dist/plugins/uploader/upyun.d.ts +2 -2
  55. package/dist/plugins/uploader/utils.d.ts +26 -26
  56. package/dist/plugins/uploader/webdav.d.ts +2 -2
  57. package/dist/types/index.d.ts +572 -693
  58. package/dist/types/oldRequest.d.ts +15 -15
  59. package/dist/utils/common.d.ts +42 -119
  60. package/dist/utils/createContext.d.ts +6 -6
  61. package/dist/utils/db.d.ts +17 -15
  62. package/dist/utils/enum.d.ts +27 -27
  63. package/dist/utils/eventBus.d.ts +3 -4
  64. package/dist/utils/getClipboardImage.d.ts +4 -4
  65. package/dist/utils/sshClient.d.ts +16 -16
  66. package/dist/utils/static.d.ts +1 -1
  67. package/docker-compose.yaml +11 -11
  68. package/eslint.config.js +104 -0
  69. package/package.json +61 -78
  70. package/rollup.config.js +25 -42
  71. package/.eslintignore +0 -6
  72. package/.eslintrc.js +0 -50
  73. package/.github/workflows/alpha.yml +0 -22
  74. package/.github/workflows/main.yml +0 -22
  75. package/.github/workflows/manually.yml +0 -19
  76. package/dist/index.cjs.js +0 -2
  77. package/dist/index.esm.js +0 -2
  78. package/dist/plugins/commander/init.d.ts +0 -3
  79. package/dist/utils/initUtils.d.ts +0 -26
  80. package/dist/utils/interfaces.d.ts +0 -201
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import a from"fs-extra";import{readJSONSync as i,ensureDirSync as s,emptyDirSync as E,pathExistsSync as o,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as P,remove as c}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as A,merge as p,get as C,set as T,unset as D}from"lodash-es";import g from"node:crypto";import L,{fileURLToPath as d,URL as m,pathToFileURL as h}from"node:url";import{imageSize as f}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as O}from"node:os";import{ObjectAdapter as M,I18n as y}from"@piclist/i18n";import G from"js-yaml";import{Command as w}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import H from"dayjs";import{spawn as F}from"cross-spawn";import K from"resolve";import $ from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as q,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as z}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ae}from"@piclist/store";import{spawn as ie}from"node:child_process";import se from"is-wsl";const Ee=r(d(import.meta.url));function oe(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";return Array.from({length:e}).map(()=>t.charAt(Math.floor(62*Math.random()))).join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return g.createHash("md5").update(e).digest("hex")}function _e(e,r,n,a){const i=new Date,s=i.getFullYear().toString(),E=t.basename(e,t.extname(e)),o={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(i.getMonth()+1),"{d}":()=>Se(i.getDate()),"{h}":()=>Se(i.getHours()),"{i}":()=>Se(i.getMinutes()),"{s}":()=>Se(i.getSeconds()),"{ms}":()=>i.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(a||E),"{md5-16}":()=>Ie(a||E).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):E,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>i.getTime().toString()};if(void 0===r||!Object.keys(o).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(o).reduce((e,t)=>e.replace(new RegExp(t,"g"),o[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>oe(parseInt(t,10))),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,a)=>{a=Math.max(1,a||0);return t.dirname(e).split(t.sep).slice(0-a).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const le=e=>/^https?:\/\//.test(e),Pe=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ce=e=>(Pe(e)||(e=encodeURI(e)),e),ue=e=>{try{const{width:t=0,height:r=0,type:n}=f(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ae=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),buffer:await a.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},pe=async(e,r)=>{let n;e=ce(e);const a=new Promise((a,i)=>{(async()=>{try{const i=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new m(e).pathname;let E="";try{E=new m(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){E=t.extname(s)||""}!E.startsWith(".")&&E&&(E=`.${E}`),a({buffer:i,fileName:t.basename(s),extname:E,success:!0})}catch(t){clearTimeout(n),a({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(i)}),i=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([a,i])},Ce=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!a.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},De=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,ge=(e,r=console)=>{switch(Ce(e)){case"normal":case"scope":return e;case"simple":return De(e);default:{let n=e;return t.isAbsolute(e)&&a.existsSync(e)?de(n):(n=t.join(process.cwd(),e),a.existsSync(n)?de(n):(r.warn(`Can't find plugin ${e}`),""))}}},Le=(e,r=console)=>{switch(Ce(e)){case"normal":return me(e);case"scope":return me(e,!0);case"simple":return me(De(e));default:{if(!a.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(a.existsSync(n)){const e=i(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},de=e=>e.split(t.sep).join("/"),me=(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},he=[],fe=e=>he.some(t=>e.startsWith(t)),Be=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ne(e){try{return JSON.parse(e)}catch(t){return e}}const Ue=(e=0)=>isNaN(Number(e))?0:Number(e),Re=()=>"development"===process.env.NODE_ENV;const Oe=t.join(Ee,"assets","piclist.png");async function Me(e,t,r,n,a,i,s,E,o,S,I,_){E=!E||E<0||E>1?.15:E;const l=B(e,{animated:!0}),{width:P=200}=await l.metadata(),c=await async function(e,t,r,n,a,i,s,E=200,o=0,S=255){let I;"image"===e?(S=Ue(S),s=s||Oe,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const a={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},i=N.loadSync(n).getSVG(t,a);return Buffer.from(i)}(t,r,i,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),P=Math.floor(E*Ue(a)),c=Math.floor(P*l/_);return await B(I).resize(P,c,{fit:"inside"}).rotate(o,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,i,s,E,o,S,P,a,_);return await l.composite([{input:c,gravity:I||"southeast",tile:n}]).toBuffer()}const ye=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),Ge=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],we=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],be=e=>Ge.includes(e);async function xe(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await Me(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Ue(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Ue(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Ue(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function We(e){const t="string"==typeof e.formatConvertObj?Ne(e.formatConvertObj):e.formatConvertObj;return{quality:Ue(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Ue(e.reSizeHeight),reSizeWidth:Ue(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Ue(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Ue(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function He(e,t,r,n){t=We(t);try{if(r=Fe(r),!we.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),a=100;if(ye(t.quality)&&t.quality<100&&(a=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(ye(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const a=t.reSizeHeight/r;n=n.resize(Math.round(e*a),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const a=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*a),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=Ke(t,r);e!==r&&(n=n.toFormat(e,{quality:a,mozjpeg:!0}))}else n=r&&be(r)?n.toFormat(r,{quality:a,mozjpeg:!0}):n.toFormat("jpg",{quality:a,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const Fe=e=>e.toLowerCase().replace(".","");function Ke(e,t){if(e=We(e||{}),"gif"===(t=Fe(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],be(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const $e=(e,t)=>(t=Fe(t),!!e&&!!e.isAddWatermark&&we.includes(t)&&"svg"!==t),ke=(e,t)=>{if(!we.includes(Fe(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:a,isReSize:i,reSizeHeight:s,reSizeWidth:E,isRotate:o,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:P}=We(e);if(ye(r)&&r<100)return!0;if(n&&ye(a))return!0;if(i&&("number"==typeof s&&s>0||"number"==typeof E&&E>0))return!0;if(o&&S)return!0;if(l||P)return!0;if(I){return t!==(_||"jpg")}return!1},ve=async(e,t)=>(t=Fe(t),we.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var Ye=Object.freeze({__proto__:null,AddWatermark:Me,configBlackList:he,forceNumber:Ue,getConvertedFormat:Ke,getFSFile:Ae,getImageSize:ue,getNormalPluginName:Le,getPluginNameType:Ce,getProcessPluginName:ge,getURLFile:pe,handleCompletePluginName:De,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:de,handleUrlEncode:ce,imageAddWaterMark:xe,imageCompress:He,isConfigKeyInBlackList:fe,isDev:Re,isInputConfigValid:Be,isNeedAddWatermark:$e,isNeedCompress:ke,isSimpleName:Te,isUrl:le,isUrlEncode:Pe,randomStringGenerator:oe,removeExif:ve,removePluginVersion:me,renameFileNameWithCustomString:_e,renameFileNameWithRandomString:function(e,r=5){return`${oe(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${oe(5)}${t.extname(e)}`},safeParse:Ne});var Ve,qe,je;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(Ve||(Ve={})),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"}(je||(je={}));const ze="Add watermark to image",Xe="Compress or convert image",Qe="Remove exif info",Ze="Download ttf file",Je="Download ttf file successfully",et="Download ttf file failed",tt="Download ttf file failed, skip add watermark",rt=0,nt=30,at=60,it=-1,st=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],Et="smms";class ot extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||E(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),a.existsSync(this.ttfPath)&&a.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(Ze);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return a.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(Je),!0}catch(e){return this.ctx.log.error(et),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark");if(t){const r=this.getUploaderType(e),n=e.helper.uploader.get(r);t.picBed=n?r:"smms"}return{compressOptions:t,watermarkOptions:r}}getUploaderType(e){return e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||Et}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):st;return new Set(r.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.rawInputPath=[],e.rawInput=A(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=A(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(qe.FAILED),e.emit(qe.UPLOAD_PROGRESS,it),e.emit(qe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),a=this.getSkipExtensions(e);if(e.emit(qe.UPLOAD_PROGRESS,rt),e.emit(qe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const i=t.join(e.baseDir,"piclistTemp");await this.processImages(e,i,r,n,a)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,a){await Promise.allSettled(e.input.map(async(i,s)=>{await this.processImage(i,s,e,t,r,n,a)}))}async processImage(e,r,n,i,s,E,o){const S=le(e),I=S?await pe(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=o.has(_.toLowerCase()),P=S?I.buffer:a.readFileSync(e),c=await this.applyProcessing(P,_,s,E,l,e,i,n);c&&await this.saveProcessedImage(e,r,n,i,c,_,s,S,I)}async applyProcessing(e,t,r,n,a,i,s,E){let o;return ke(r,t)&&!a&&(o=await this.compressImage(e,o,t,r,i,s,E)),$e(n,t)&&!a&&(o=await this.addWatermark(e,n,E)),o||!r?.isRemoveExif||a||(E.log.info(Qe),o=await ve(e,t)),o}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(tt)}return r.log.info(ze),await xe(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,a,i,s){s.log.info(Xe);const E=r.toLowerCase();return le(a)||".heic"!==E&&".heif"!==E?await He(t??e,n,r,s.log):await this.convertHeicAndCompress(e,a,r,i,n,s)}async convertHeicAndCompress(e,r,n,i,s,E){const o=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(i,`${t.basename(r,n)}.jpg`);return a.writeFileSync(S,Buffer.from(o)),await He(a.readFileSync(S),s,".jpg",E.log)}async saveProcessedImage(e,r,n,i,s,E,o,S,I){let _=o?.isConvert?Ke(o,E):E;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(i,`${this.getFileBaseName(I)}${_}`):t.join(i,`${t.basename(e,E)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,E)}${_}`),a.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=e.getConfig("buildIn.rename")||{};if(!t.enable)return e;const r=t.format||"{filename}";return e.output=e.output.map((t,n)=>{let a=t.fileName;return a=_e(e.rawInputPath[n],r,void 0,t.base64Image?t.base64Image:t.buffer),a=a.replace(/\/+/g,"/"),"/"===a.slice(-1)&&(a+=n.toString()),t.fileName=a,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(qe.UPLOAD_PROGRESS,nt);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(qe.UPLOAD_PROGRESS,at),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),n=t;r||(e.log.warn(`Can't find uploader - ${t}, switch to default uploader - ${Et}`),n=Et,r=e.helper.uploader.get(Et)),e.log.info(`Uploading... Current uploader is [${n}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(qe.AFTER_UPLOAD,e),e.emit(qe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let a=0;a<r;a++)void 0!==e.output[a].imgUrl&&(t+=n?ce(e.output[a].imgUrl):e.output[a].imgUrl,a!==r-1&&(t+="\n")),delete e.output[a].base64Image,delete e.output[a].buffer;return e.emit(qe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),a=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${a}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${a}: ${n[r]} error`),e}})),t}}const St={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class It{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new M(St);let t=this.ctx.getConfig("settings.language")||"zh-CN";St[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();a.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),i=a.readFileSync(n,"utf8");try{const e=G.load(i);St[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return o(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=p(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),St[e]=t,!0)}getLanguageList(){return Object.keys(St)}}const _t={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},lt={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},Pt=(e,t,r,n,a,i)=>{let s=e.program.command(t).description(r).alias(n);i?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),i?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(a)},ct={handle:e=>{const t=e.cmd;Pt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.install(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),Pt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),Pt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.update(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},ut={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function At({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const a=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return a?`${t?"/":""}${a}${r?"/":""}`:n?"":"/"}function pt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const Ct="advancedplist",Tt="alistplist",Dt="aliyun",gt="aws-s3-plist",Lt="github",dt="imgur",mt="local",ht="lskyplist",ft="piclist",Bt="qiniu",Nt="sftpplist",Ut="smms",Rt="tcyun",Ot="upyun",Mt="webdavplist",yt=(e,t,r,n,a,i,s="PICBED",E)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:a,required:i,...E});const Gt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),wt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[yt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),yt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),yt(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"]}),yt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),yt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),yt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),yt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),yt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),yt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),yt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),yt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),yt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),yt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),yt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[yt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),yt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),yt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),yt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),yt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),yt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),yt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),yt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),yt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),yt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),yt(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[yt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),yt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[yt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},bt=async(e,t,r,n)=>{const a=await e.cmd.inquirer.prompt(t),i=xt(r,n);e.saveConfig({[i]:a}),"uploader"===r?e.saveConfig({"picBed.current":n,"picBed.uploader":n}):"transformer"===r&&e.saveConfig({"picBed.transformer":n})},xt=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Wt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name]").description("configure config of picgo modules, uploader|transformer|plugin|buildin").action((t,r)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t)=>{if(t&&t in wt){const r=wt[t];return void await bt(e,r.config(e),"buildin",t)}const r=[{type:"list",name:"buildin",choices:Object.entries(wt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],n=await e.cmd.inquirer.prompt(r),a=wt[n.buildin];await bt(e,a.config(e),"buildin",n.buildin)})(e,r);break;case"uploader":case"transformer":await(async(e,t,r)=>{if(r){const n=e.helper[t].get(r);return n?void(n.config&&await bt(e,n.config(e),t,r)):void e.log.error(`No ${t} named ${r}`)}const n=e.helper[t].getIdList().map(t=>({name:Gt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:n,message:`Choose a(n) ${t}`}],i=await e.cmd.inquirer.prompt(a),s=e.helper[t].get(i[t]);s?.config&&await bt(e,s.config(e),t,i[t])})(e,t,r);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await bt(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),a=await e.pluginLoader.getPlugin(n.plugin);a?.config&&await bt(e,a.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config successfully!"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},Ht={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>le(e)?e:t.resolve(e)).filter(t=>{const r=a.existsSync(t)||le(t);return r||e.log.warn(`${t} does not exist.`),r});await e.upload(n)})().catch(t=>{e.log.error(t)})})}},Ft={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const a={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:Gt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!a[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(a[r])}else n=Object.keys(a).map(e=>a[e]);const i=await t.inquirer.prompt(n);if(i.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{i.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":i.uploader||e.getConfig("picBed.current"),"picBed.uploader":i.uploader||e.getConfig("picBed.current"),"picBed.transformer":i.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class Kt{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),Kt.currentPlugin&&(this.pluginIdMap.has(Kt.currentPlugin)?this.pluginIdMap.get(Kt.currentPlugin)?.push(e):this.pluginIdMap.set(Kt.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 $t=(e=null)=>{Kt.currentPlugin=e};class kt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new w,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.0.1","-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",ct),e.cmd.register("config",_t),e.cmd.register("setting",Wt),e.cmd.register("upload",Ht),e.cmd.register("use",Ft),e.cmd.register("proxy",ut),e.cmd.register("i18n",lt)}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=Kt.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 vt{level={[Ve.success]:"green",[Ve.info]:"blue",[Ve.warn]:"yellow",[Ve.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(a.existsSync(e)){const t=a.statSync(e).size,r=1024*Ue(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){a.existsSync(e)&&(a.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${H().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",a.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(Ve.success,...e)}info(...e){this.handleLog(Ve.info,...e)}error(...e){this.handleLog(Ve.error,...e)}warn(...e){this.handleLog(Ve.warn,...e)}debug(...e){Re()&&this.handleLog(Ve.info,...e)}}class Yt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],a=e.map(e=>Vt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),i=a.map(e=>e.fullName),s=a.map(e=>e.pkgName);if(i.length>0){const e=await this.execCommand("install",i,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of i)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>Vt(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=>Vt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},a={}){const i=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let E=[e].concat(t).concat("--color=always").concat("--save");i&&(E=E.concat(`--registry=${i}`)),s&&(E=E.concat(`--proxy=${s}`));try{const e=F("npm",E,{cwd:r,env:{...process.env,...a}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(qe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(qe.FAILED,e)}})}}const Vt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=ge(t,e.log);if(!n)return r;const a=Le(n,e.log);return a?{success:!0,fullName:n,pkgName:a}:r};class qt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!a.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};a.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return K.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!a.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=i(r),s=Object.keys(n.dependencies||{}),E=Object.keys(n.devDependencies||{}),o=s.concat(E).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return a.existsSync(t)});for(const e of o)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),$t(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),$t(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),$t(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),E=t.join(s,"package.json");if(!a.existsSync(E))throw new Error(`Plugin package.json not found: ${e}`);try{const e=i(E),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(a.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=h(r).href,s=await import(n),E=(s.default||s)(this.ctx);return this.pluginMap.set(e,E),E}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const jt=new e,zt=new $.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function Xt(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function Qt(e){return{...e,statusCode:e.status,body:e.data}}function Zt(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 Jt{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),jt.on(je.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new m(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=zt;const t=n.create(this.options);t.interceptors.response.use(Qt,Zt);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new m(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)Xt(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 er={handle:async e=>(e.output.push(...e.input),e)};const tr=(e,t,r)=>{const n=ue(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 rr={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let a;if(a=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:le(r)?await pe(r,e):await Ae(r),a.success&&a.buffer){const i=tr(e,a.buffer,r),s=a.extname||i.extname||".png";t[n]={buffer:a.buffer,fileName:a.fileName||`${H().format("YYYYMMDDHHmmssSSS")}${s}`,width:i.width,height:i.height,extname:a.extname}}else e.log.error(a.reason)})),e.output=t.filter(e=>e),e}};const nr=(e,t,r,n,a,i,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...a},formData:{[s]:{value:e,options:{filename:t}},...i},json:!0}),ar=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const a=nr(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;let s=i;const E=t.resDataPath||"data.url";for(const e of E.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:i.message}),console.error("AdvancedPlist upload failed:",i),new Error(i.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},ir=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,a,i=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||a,required:i,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const sr=(e,t,r,n,a)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:a,options:{filename:r}}},resolveWithFullResponse:!0}),Er=(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)},or=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),Sr=e=>{const{url:t,token:r,username:n,password:a,uploadPath:i,webPath:s,customUrl:E}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:a||"",uploadPath:At({path:i||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?At({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(E||"").replace(/\/$/,"")}},Ir=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:a,username:i,password:s,uploadPath:E,webPath:o,customUrl:S}=Sr(r);let{token:I}=Sr(r);if(I||(I=await(async(e,t,r,a)=>{const i=e.getConfig("picgo-plugin-buildin-alistplist");if(i&&i.refreshedAt&&Date.now()-i.refreshedAt<36e5&&i.token)return i.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:a});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,a,i,s)),!a||!(I||i&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const i=`${E}${r.fileName}`,s=sr(a,I,r.fileName,i,n),_=await e.request(s);Er(e,_);const l=await e.request(or(`${a}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(i)}));Er(e,l);const P=await e.request(or(`${a}/api/fs/get`,I,{password:"",path:i,page:1,per_page:1,refresh:!0}));Er(e,P);const c=P.body.data.sign,u=pt(`${o||E}${r.fileName}`);r.imgUrl=`${S||a}${S&&S!==a?"":"/d"}${u}`,r.imgUrl+=S&&S!==a||!c?"":`?sign=${c}`,delete r.base64Image,delete r.buffer}return e},_r=e=>{const t=e.getConfig("picBed.alistplist")||{};return[yt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),yt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),yt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),yt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),yt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),yt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),yt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const lr=()=>(new Date).toUTCString(),Pr=(e,t)=>{const r=lr(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,a=g.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${a}`},cr=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${pt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:lr(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),ur=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=At({path:t.path});const r=At({path:t.webPath});try{const{output:n}=e,a=(t.customUrl||"").replace(/\/$/,""),{path:i,bucket:s,area:E,options:o=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=Pr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=cr(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=pt(`${r||i}${S.fileName}`);S.imgUrl=a?`${a}/${e}${o}`:`https://${s}.${E}.aliyuncs.com/${e}${o}`}}return e}catch(t){throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Ar=e=>{const t=e.getConfig("picBed.aliyun")||{};return[yt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),yt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),yt(e,"alicloud","bucket","input",t.bucket||"",!0),yt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),yt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),yt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),yt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),yt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class pr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return g.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return g.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return g.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function Cr(e,t){if(!t)return e.fileName;const r=new pr(e);let n=t;for(const e of pr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function Tr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new m(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function Dr(e,t,r){const n=await z(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),a=new L.URL(n);return a.search="",a.href}var gr={createS3Client:function(e){let t=!0;try{t="https:"===new L.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=Tr(e.proxy,!0,e.rejectUnauthorized??!1):r.httpAgent=Tr(e.proxy,!1,e.rejectUnauthorized??!1);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),a=new q({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),i=await e.client.send(a);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await Dr(e,i.ETag,i.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:i.VersionId,eTag:i.ETag}}catch(e){return Promise.reject(e)}}};function Lr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const dr=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=Lr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const a=gr.createS3Client(t),i=e.output;for(const e of i){const r=await gr.createUploadTask({client:a,bucketName:t.bucketName,path:Cr(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(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:Lr(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 hr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${pt(`${t}${r}`)}${n}`}const fr=(e,t,r)=>{const{token:n,repo:a}=t,i=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:hr(a,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":i},body:r,json:!0}},Br=(e,t)=>{const{token:r,repo:n,branch:a}=t;return{method:"GET",url:hr(n,t.path,e,`?ref=${a}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Nr=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=At({path:t.path});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const n=e.output;for(const a of n)if(a.fileName&&a.buffer){const n=a.base64Image||Buffer.from(a.buffer).toString("base64"),i={message:"Upload by PicList",branch:t.branch,content:n,path:r+encodeURI(a.fileName)},s=fr(a.fileName,t,i);try{const n=await e.request(s);if(!n)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${pt(`${r}${a.fileName}`)}`:n.content.download_url,a.hash=n.content.sha}catch(n){if(422!==n.statusCode)throw n;delete a.base64Image,delete a.buffer;const i=await e.request(Br(a.fileName,t));if(!Object.keys(i).length)throw n;a.hash=i.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${pt(`${r}${a.fileName}`)}`:i.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}},Ur=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const Rr=async(e,t,r,n)=>{const a=t.clientId||"",i=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),E=t.album||"";let o;if(i&&s)o=s;else{if(!a)throw new Error("clientId or accessToken is required");o=`Client-ID ${a}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:o,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(i&&s&&E){let r,n=0,a="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${i}/albums/${n}`,headers:{Authorization:o},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===E){a=e.id;break}n++}while(r.body.data.length>0);a&&S.formData&&(S.formData.album=a)}return t.proxy&&(S.proxy=t.proxy),S},Or=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=await Rr(e,t,n.fileName,r),i=await e.request(a),s="string"==typeof i?JSON.parse(i):i;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(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}},Mr=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 yr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",i=(r.customUrl||"").replace(/\/$/,""),E=At({path:r.webPath?.replace(/\\/g,"/")}),o=e.output;for(const r of o)if(r.fileName&&r.buffer){let o=r.buffer;!o&&r.base64Image&&(o=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);s(t.dirname(_)),s(t.dirname(I)),a.writeFileSync(_,o),a.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=i?`${i}/${pt(`${E}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${pt(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},Gr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const wr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const a="V2"===e.version,i=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:i||void 0},E={image:{value:r,options:{filename:t}},ssl:"true"},o={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:i||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:a?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new $.Agent({rejectUnauthorized:!1}),headers:a?o:s,formData:a?l:E}},br=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=wr(t,n.fileName,r);let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;const s="V2"===t.version;if(!(s?!0===i.status:200===i.code))throw e.emit(qe.NOTIFICATION,{title:"upload failed",body:i.message}),new Error(i.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?i.data.links.url:i.data.url,s&&(n.hash=i.data.key)}return e},xr=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 Wr=(e,t,r)=>{const{host:n="127.0.0.1",port:a="",picbed:i="",configName:s="Default",serverKey:E=""}=e,o=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${o?`${S}${I}:${a||"36677"}`:`${S}${I}${a?`:${a}`:""}`}/upload?configName=${s}${i?`&picbed=${i}`:""}${E?`&key=${E}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},Hr=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Wr(t,n.fileName,r),i=await e.request(a).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==i.statusCode||!i.body?.success)throw new Error(i.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=i.body.result[0],n.fullResult=i.body.fullResult?i.body.fullResult[0]:""}return e}catch(t){throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Fr=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 Kr(e,t,r,n){const a=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),i=e.path||"";return{method:"POST",url:`http://upload${a}.qiniup.com/putb64/-1/key/${Buffer.from(i+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function $r(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),a={scope:e.bucket};return new ee.rs.PutPolicy(a).uploadToken(n)}const kr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=Kr(t,n.fileName,$r(t),r),i=await e.request(a),s=JSON.parse(i);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 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(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},vr=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 Yr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return Yr.instance||(Yr.instance=new Yr),Yr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:a,privateKey:i,passphrase:s}=e,E=i?{username:n,privateKeyPath:i,passphrase:s||void 0}:{username:n,password:a};try{await this.client.connect({host:t,port:Number(r)||22,...E}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=Yr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const a=n.fileMode||"0644";"0644"!==a&&await this.exec(`chmod ${a} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=Yr.changeWinStylePathToUnix(e);const[n,a]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${a} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const Vr=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=At({path:r.uploadPath,rootToEmpty:!1});const n=At({path:r.webPath,rootToEmpty:!1});try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){let a=i.buffer;!a&&i.base64Image&&(a=Buffer.from(i.base64Image,"base64"));const E=t.join(e.baseDir,"uploadTemp"),o=t.join(e.baseDir,"imgTemp","sftpplist");s(o);const S=t.join(E,i.fileName);s(t.dirname(S)),I(S,a);const P=Yr.getInstance();await P.connect(r);const c=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),i.fileName);await P.upload(S,c,r),r.fileUser&&await P.chown(c,r.fileUser),delete i.base64Image,delete i.buffer;const u=r.customUrl||r.host;r.webPath?i.imgUrl=`${u}/${pt(`${"/"===n?"":n}${i.fileName}`)}`:i.imgUrl=`${u}/${pt(`${"/"===r.uploadPath?"":r.uploadPath}${i.fileName}`)}`;const A=t.join(o,i.fileName);s(t.dirname(A)),_(A),l(S,t.join(o,i.fileName)),i.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(i.fileName)}`,P.close()}return e}catch(t){throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},qr=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 jr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),zr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),a=e.output;for(const i of a){if(!i.fileName)continue;const a=i.buffer||(i.base64Image?Buffer.from(i.base64Image,"base64"):void 0);if(!a)continue;const s=jr(i.fileName,a,t.token,r),E=await e.request(s),o=JSON.parse(E);if("success"===o.code)i.imgUrl=o.data.url,i.hash=o.data.hash;else{if("image_repeated"!==o.code||"string"!=typeof o.images){const t=o.message||"Upload failed";throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}i.imgUrl=o.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),a=e.data?.data?.find(e=>e.url===o.images);a&&(i.hash=a.hash)}catch{}}delete i.base64Image,delete i.buffer}return e},Xr=e=>{const t=e.getConfig("picBed.smms")||{};return[yt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),yt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const Qr=(e,t)=>{const{secretId:r,secretKey:n,appId:a,bucket:i,version:s,area:E,endpoint:o,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${a}&b=${i}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,E=g.createHmac("sha1",n).update(s).digest(),o=Buffer.concat([E,Buffer.from(s)]);I=Buffer.from(o).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=g.createHmac("sha1",n).update(_).digest("hex"),a=`put\n/${S}${t}\n\nhost=${i}.${o||`cos.${E}.myqcloud.com`}\n`,s=`sha1\n${_}\n${g.createHash("sha1").update(a).digest("hex")}\n`;I=g.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:a,bucket:i,signTime:_}},Zr=(e,t,r,n,a)=>{const{area:i,path:s,bucket:E,endpoint:o,secretId:S}=e,I=`PicGo;${a};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${i}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${i}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${E}.${o||`cos.${i}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${pt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},Jr=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),a=At({path:t.path}),i=At({path:t.webPath});t.path=a;const s=!t.version||"v4"===t.version;for(const E of r){if(!E.fileName||!E.buffer)continue;const r=Qr(t,E.fileName),o=E.buffer||Buffer.from(E.base64Image,"base64"),S=Zr(t,E.fileName,r,o,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",P=!!t.slim;if(delete E.base64Image,delete E.buffer,s&&"SUCCESS"===_.message)E.imgUrl=n?`${n}/${pt(`${i||a}${E.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)E.imgUrl=`${n}/${pt(`${i||a}${E.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;E.imgUrl=`https://${t.bucket}.${e}/${pt(`${a}${E.fileName}`)}${l}`}}P&&(E.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(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}},en=e=>{const t=e.getConfig("picBed.tcyun")||{};return[yt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),yt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),yt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),yt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),yt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),yt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),yt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),yt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),yt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),yt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),yt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),yt(e,"TENCENTCLOUD","slim","confirm",t.slim??!1,!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 tn="https://v0.api.upyun.com",rn=e=>g.createHash("md5").update(e).digest("hex"),nn=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const a=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!a)return;const i=((e,t)=>{const{path:r="",operator:n,password:a,bucket:i}=e,s=rn(a),E=(new Date).toUTCString(),o=`PUT&/${i}/${pt(`${r}${t}`)}&${E}`;return`UPYUN ${n}:${g.createHmac("sha1",s).update(o).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:a,path:i}=e;let s=(e.endpoint||tn).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${a}/${pt(`${i}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,i,a);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const E=r.options||"",o=`${r.url}/${pt(`${n}${t.fileName}`)}${E}`;t.imgUrl=r.antiLeechToken?an(o,r,t.fileName):o},an=(e,t,r)=>{const n=((e,t,r,n)=>{const a=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),i=Math.round(Date.now()/1e3),s=t?i+parseInt(t.toString(),10):i+1800;return`_upt=${rn(`${e}&${s}&${a}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},sn=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=At({path:t.path});t.path=n;for(const a of r)await nn(e,a,t,n);return e}catch(t){throw En(e,t),t}},En=(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=Ne(t.error),n="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:n}),text:"http://docs.upyun.com/api/errno/"})}},on=e=>{const t=e.getConfig("picBed.upyun")||{};return[yt(e,"upyun","bucket","input",t.bucket||"",!0),yt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),yt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),yt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),yt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),yt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),yt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),yt(e,"upyun","expireTime","input",t.expireTime||"",!1),yt(e,"upyun","endpoint","input",t.endpoint||tn,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const Sn=4294967296,In=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},_n=(e,t,r,n,a,i)=>`${e}/${pt(`${i?r:t}${n}`).replace(/^\/+/g,"")}${a}`,ln=(e,r,n)=>{const i=t.join(e.baseDir,"imgTemp","webdavplist"),E=t.join(i,r);s(t.dirname(E)),a.writeFileSync(E,n)},Pn=async(e,r,n,a)=>{const i=t.dirname(`${r}${n}`),s="/"===i?"":i;s&&await e.createDirectory(s,{recursive:!0});const E=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(E,a,{overwrite:!0})},cn=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=At({path:t.path,rootToEmpty:!1});const n=At({path:t.webpath,rootToEmpty:!1}),a=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:Sn,maxContentLength:Sn};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),i=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const E=In(s);if(!await Pn(r,t.path,s.fileName,E))throw new Error("Upload failed");ln(e,s.fileName,E),delete s.base64Image,delete s.buffer,s.imgUrl=_n(i,t.path,n,s.fileName,a,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(qe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},un=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[yt(e,"webdavplist","host","input",t.host||"",!0),yt(e,"webdavplist","sslEnabled","confirm",t.sslEnabled??!1,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),yt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),yt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),yt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),yt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),yt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),yt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),yt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const An=()=>({register(e){!function(e){e.helper.uploader.register(Ct,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:ar,config:ir})}(e),function(e){e.helper.uploader.register(Tt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Ir,config:_r})}(e),function(e){e.helper.uploader.register(Dt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:ur,config:Ar})}(e),function(e){e.helper.uploader.register(gt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:dr,config:mr})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Nr,config:Ur})}(e),function(e){e.helper.uploader.register(dt,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Or,config:Mr})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:yr,config:Gr})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:br,config:xr})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:Hr,config:Fr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:kr,config:vr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:Vr,config:qr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:zr,config:Xr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:Jr,config:en})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:sn,config:on})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:cn,config:un})}(e)}});class pn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ae(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{uploader:"smms",current:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}}read(e){return this.db.read(e)}get(e=""){return this.read(!0),this.db.get(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}}const Cn="piclist-clipboard-images",Tn={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\n\nif [ -z "$DISPLAY" ]; then\n echo "no support" >&2\n exit 1\nfi\n\ncase "$XDG_SESSION_TYPE" in\nwayland)\n command -v wl-copy >/dev/null 2>&1 || {\n echo >&2 "no wl-clipboard"\n exit 1\n }\n filePath=$(wl-copy -o 2>/dev/null | grep ^file:// | cut -c8-)\n if [ -z "$filePath" ]; then\n if\n wl-copy -t image/png image/png -o >"$1" 2>/dev/null\n then\n echo "$1"\n else\n rm -f "$1"\n echo "no image"\n fi\n else\n echo "$filePath"\n fi\n ;;\nx11 | tty)\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || {\n echo >&2 "no xclip"\n exit 1\n }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=$(xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-)\n if [ -z "$filePath" ]; then\n if\n xclip -selection clipboard -target image/png -o >"$1" 2>/dev/null\n then\n echo "$1"\n else\n rm -f "$1"\n echo "no image"\n fi\n else\n echo "$filePath"\n fi\n ;;\nesac\n',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},Dn={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const gn=async e=>{!function(e){const r=t.join(e.baseDir,Cn);s(r)}(e);const r=t.join(e.baseDir,Cn,`${H().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,i)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),E=t.join(e.baseDir,Dn[s]);let o;a.existsSync(E)||a.writeFileSync(E,Tn[s],"utf8"),o="darwin"===s?ie("osascript",[E,r]):"win32"===s||"win10"===s?ie("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",E,r]):ie("sh",[E,r]),o.stdout.on("data",E=>{if("linux"===s&&"no xclip or wl-clipboard"===E.toString().trim())return e.emit(qe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),i(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const o=E.toString().trim();let S=!1;if(t.basename(o)!==t.basename(r)&&a.existsSync(o)&&(S=!0),"no image"!==o&&!a.existsSync(o))return i(new Error(`Can't find ${o}`));n({imgPath:o,shouldKeepAfterUploading:S})})})};class Ln extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;Request;i18n;VERSION="2.0.1";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 Kt("transformer"),uploader:new Kt("uploader"),beforeTransformPlugins:new Kt("beforeTransformPlugins"),beforeUploadPlugins:new Kt("beforeUploadPlugins"),afterUploadPlugins:new Kt("afterUploadPlugins")},this.initConfigPath(),this.log=new vt(this),this.cmd=new kt(this),this.pluginHandler=new Yt(this),this.initConfig()}static async create(e=""){const t=new Ln(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(O(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),o(this.configPath)||P(`${this.configPath}`)}initConfig(){this.db=new pn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new It(this),this.Request=new Jt(this),this._pluginLoader=new qt(this),$t("picgo"),An().register(this),{register(e){e.helper.transformer.register("path",rr),e.helper.transformer.register("base64",er)}}.register(this),$t(""),await this._pluginLoader.load(),this.lifecycle=new ot(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?C(this._config,e):this._config}saveConfig(e){Be(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&&(fe(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Be(e)?Object.keys(e).forEach(t=>{fe(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),T(this._config,t,e[t]),jt.emit(je.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(fe(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 gn(this),r=()=>{t||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(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}}async uploadReturnCtx(e,t=!1){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),this;if(void 0!==e&&0!==e.length)return await this.lifecycle.start(e,t);try{const{imgPath:e,shouldKeepAfterUploading:r}=await gn(this),n=()=>{r||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");return this.once(qe.FAILED,n),this.once(qe.FINISHED,n),await this.lifecycle.start([e],t)}catch(e){throw this.emit(qe.FAILED,e),e}}}export{kt as Commander,ot as Lifecycle,Kt as LifecyclePlugins,vt as Logger,Ln as PicGo,Ye as PicGoUtils,Yt as PluginHandler,qt as PluginLoader,Jt as Request};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2kxOG4udHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wcm94eS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3NldHRpbmcudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9jb21wcmVzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3dhdGVybWFyay50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXVwbG9hZC9idWlsZEluUmVuYW1lLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvc2tpcFByb2Nlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXBsb2FkLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VzZS50cyIsIi4uL3NyYy9saWIvTGlmZWN5Y2xlUGx1Z2lucy50cyIsIi4uL3NyYy9saWIvQ29tbWFuZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2luZGV4LnRzIiwiLi4vc3JjL2xpYi9Mb2dnZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkxvYWRlci50cyIsIi4uL3NyYy91dGlscy9ldmVudEJ1cy50cyIsIi4uL3NyYy9saWIvUmVxdWVzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2Jhc2U2NC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL3BhdGgudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9pbmRleC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FkdmFuY2VkcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXBsb2FkZXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hd3NzM3BsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvZ2l0aHViLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW1ndXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sb2NhbC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xza3kudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9waWNsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcWluaXUudHMiLCIuLi9zcmMvdXRpbHMvc3NoQ2xpZW50LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc2Z0cC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NtbXMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci90Y3l1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3VweXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvd2ViZGF2LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW5kZXgudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJjaGFycyIsIkFycmF5IiwiZnJvbSIsIm1hcCIsImNoYXJBdCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsImpvaW4iLCJmb3JtYXRIZWxwZXIiLCJudW0iLCJ0b1N0cmluZyIsImdldE1kNSIsImlucHV0IiwiY3J5cHRvIiwiY3JlYXRlSGFzaCIsInVwZGF0ZSIsImRpZ2VzdCIsInJlbmFtZUZpbGVOYW1lV2l0aEN1c3RvbVN0cmluZyIsIm9sZE5hbWUiLCJjdXN0b21Gb3JtYXQiLCJhZmZpeEZpbGVOYW1lIiwiZmlsZUJ1ZmZlciIsIm5vdyIsIkRhdGUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJmaWxlYmFzZW5hbWUiLCJwYXRoIiwiYmFzZW5hbWUiLCJleHRuYW1lIiwiY29udmVyc2lvbk1hcCIsInNsaWNlIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0SG91cnMiLCJnZXRNaW51dGVzIiwiZ2V0U2Vjb25kcyIsImdldE1pbGxpc2Vjb25kcyIsInBhZFN0YXJ0IiwidXVpZHY0IiwicmVwbGFjZSIsImdldFRpbWUiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsIml0ZW0iLCJpbmNsdWRlcyIsImV4dCIsIm5ld05hbWUiLCJyZWR1Y2UiLCJhY2MiLCJjdXIiLCJSZWdFeHAiLCJfIiwiZ3JvdXAxIiwicGFyc2VJbnQiLCJfcmVzdWx0Iiwia2V5IiwiY291bnQiLCJtYXgiLCJzcGxpdCIsInNlcCIsImEiLCJiIiwiaXNVcmwiLCJ0ZXN0IiwiaXNVcmxFbmNvZGUiLCJkZWNvZGVVUkkiLCJlIiwiaGFuZGxlVXJsRW5jb2RlIiwiZW5jb2RlVVJJIiwiZ2V0SW1hZ2VTaXplIiwiZmlsZSIsIndpZHRoIiwiaGVpZ2h0IiwidHlwZSIsImltYWdlU2l6ZSIsInJlYWwiLCJnZXRGU0ZpbGUiLCJhc3luYyIsImZpbGVQYXRoIiwiZmlsZU5hbWUiLCJidWZmZXIiLCJmcyIsInJlYWRGaWxlIiwic3VjY2VzcyIsInJlYXNvbiIsImdldFVSTEZpbGUiLCJjdHgiLCJ0aW1lb3V0SWQiLCJyZXF1ZXN0Rm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlcyIsInJlcXVlc3QiLCJtZXRob2QiLCJyZXNvbHZlV2l0aEZ1bGxSZXNwb25zZSIsInJlc3BvbnNlVHlwZSIsInRoZW4iLCJyZXNwIiwiZGF0YSIsImNsZWFyVGltZW91dCIsInVybFBhdGgiLCJVUkwiLCJwYXRobmFtZSIsInNlYXJjaFBhcmFtcyIsImdldCIsImVycm9yIiwic3RhcnRzV2l0aCIsIm1lc3NhZ2UiLCJjYXRjaCIsInRpbWVvdXRQcm9taXNlIiwic2V0VGltZW91dCIsInJhY2UiLCJnZXRQbHVnaW5OYW1lVHlwZSIsIm5hbWUiLCJpc1NpbXBsZU5hbWUiLCJuYW1lT3JQYXRoIiwiaXNBYnNvbHV0ZSIsInBsdWdpblBhdGgiLCJwcm9jZXNzIiwiY3dkIiwiZXhpc3RzU3luYyIsImhhbmRsZUNvbXBsZXRlUGx1Z2luTmFtZSIsInNjb3BlIiwiZ2V0UHJvY2Vzc1BsdWdpbk5hbWUiLCJsb2dnZXIiLCJjb25zb2xlIiwiaGFuZGxlVW5peFN0eWxlUGF0aCIsIndhcm4iLCJnZXROb3JtYWxQbHVnaW5OYW1lIiwicmVtb3ZlUGx1Z2luVmVyc2lvbiIsInBhY2thZ2VKU09OUGF0aCIsInBvc2l4IiwicGtnIiwicmVhZEpTT05TeW5jIiwicGF0aFN0ciIsInJlZyIsIm1hdGNoQXJyIiwibWF0Y2giLCJjb25maWdCbGFja0xpc3QiLCJpc0NvbmZpZ0tleUluQmxhY2tMaXN0IiwiYmxhY2tJdGVtIiwiaXNJbnB1dENvbmZpZ1ZhbGlkIiwiY29uZmlnIiwiaXNBcnJheSIsInNhZmVQYXJzZSIsInN0ciIsIkpTT04iLCJwYXJzZSIsImZvcmNlTnVtYmVyIiwiaXNOYU4iLCJOdW1iZXIiLCJpc0RldiIsImVudiIsIk5PREVfRU5WIiwiZGVmYXVsdFdhdGVybWFya0ltYWdlUGF0aCIsIkFkZFdhdGVybWFyayIsImltZyIsIndhdGVybWFya1R5cGUiLCJkZWZhdWx0V2F0ZXJtYXJrRm9udFBhdGgiLCJpc0Z1bGxTY3JlZW5XYXRlcm1hcmsiLCJ3YXRlcm1hcmtEZWdyZWUiLCJ0ZXh0Iiwid2F0ZXJtYXJrRm9udFBhdGgiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvIiwid2F0ZXJtYXJrQ29sb3IiLCJ3YXRlcm1hcmtJbWFnZVBhdGgiLCJwb3NpdGlvbiIsIndhdGVybWFya0ltYWdlT3BhY2l0eSIsImltYWdlIiwic2hhcnAiLCJhbmltYXRlZCIsImltZ1dpZHRoIiwibWV0YWRhdGEiLCJ3YXRlcm1hcmsiLCJjb21wb3NpdGUiLCJCdWZmZXIiLCJyYXciLCJjaGFubmVscyIsInRpbGUiLCJibGVuZCIsInRvQnVmZmVyIiwiY29sb3IiLCJmb250RmFtaWx5Iiwib3B0aW9ucyIsImFuY2hvciIsImF0dHJpYnV0ZXMiLCJmaWxsIiwidGV4dFNWRyIsIlRleHRUb1NWRyIsImxvYWRTeW5jIiwiZ2V0U1ZHIiwidGV4dDJTVkciLCJ3YXRlcm1hcmtXaWR0aCIsIndhdGVybWFya0hlaWdodCIsImdldFNpemUiLCJ3YXRlcm1hcmtSZXNpemVXaWR0aCIsIndhdGVybWFya1Jlc2l6ZUhlaWdodCIsInJlc2l6ZSIsImZpdCIsInJvdGF0ZSIsImJhY2tncm91bmQiLCJyIiwiZyIsImFscGhhIiwiY3JlYXRlV2F0ZXJtYXJrIiwiZ3Jhdml0eSIsInZhbGlkUGFyYW0iLCJwYXJhbXMiLCJldmVyeSIsInBhcmFtIiwiYXZhaWxhYmxlQ29udmVydEZvcm1hdExpc3QiLCJpbWFnZUZvcm1hdExpc3QiLCJ2YWxpZE91dHB1dEZvcm1hdCIsImZvcm1hdCIsImltYWdlQWRkV2F0ZXJNYXJrIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1Bvc2l0aW9uIiwiZm9ybWF0T3B0aW9ucyIsImZvcm1hdENvbnZlcnRPYmoiLCJxdWFsaXR5IiwiaXNDb252ZXJ0IiwiY29udmVydEZvcm1hdCIsImlzUmVTaXplIiwicmVTaXplSGVpZ2h0IiwicmVTaXplV2lkdGgiLCJza2lwUmVTaXplT2ZTbWFsbEltZyIsImlzUmVTaXplQnlQZXJjZW50IiwicmVTaXplUGVyY2VudCIsImlzUm90YXRlIiwiaXNGbGlwIiwiaXNGbG9wIiwicm90YXRlRGVncmVlIiwicGljQmVkIiwiaW1hZ2VDb21wcmVzcyIsInJhd0Zvcm1hdCIsIm5vcm1hbGl6ZUltYWdlRXh0IiwibWluIiwicm91bmQiLCJpbWFnZVdpZHRoIiwiaW1hZ2VIZWlnaHQiLCJzY2FsZVJhdGlvIiwiZmxpcCIsImZsb3AiLCJuZXdGb3JtYXQiLCJnZXRDb252ZXJ0ZWRGb3JtYXQiLCJ0b0Zvcm1hdCIsIm1vempwZWciLCJ0b0xvd2VyQ2FzZSIsImlzTmVlZEFkZFdhdGVybWFyayIsIndhdGVybWFya09wdGlvbnMiLCJmaWxlRXh0IiwiaXNBZGRXYXRlcm1hcmsiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJ0aGlzIiwiYmFzZURpciIsImluaXRpYWxpemVEaXJzIiwiZW5zdXJlRGlyU3luYyIsImdldENvbmZpZyIsImVtcHR5RGlyU3luYyIsImRvd25sb2FkVFRGIiwic3RhdFN5bmMiLCJzaXplIiwibG9nIiwiaW5mbyIsImF4aW9zIiwid3JpdGVGaWxlU3luYyIsImdldFByb2Nlc3NpbmdPcHRpb25zIiwiZ2V0VXBsb2FkZXJUeXBlIiwidXBsb2FkZXIiLCJoZWxwZXIiLCJnZXRTa2lwRXh0ZW5zaW9ucyIsInNraXBQcm9jZXNzIiwic2tpcFByb2Nlc3NFeHRMaXN0IiwidHJpbSIsIlNldCIsImZvcm1hdHRlZEl0ZW0iLCJzdGFydCIsImNvbmZpZ1BhdGgiLCJjbWQiLCJvdXRwdXQiLCJyYXdJbnB1dCIsInByb2Nlc3NlZElucHV0IiwicGx1Z2luTG9hZGVyIiwicGx1Z2luSGFuZGxlciIsIlJlcXVlc3QiLCJWRVJTSU9OIiwiR1VJX1ZFUlNJT04iLCJpMThuIiwiYmluZCIsInNhdmVDb25maWciLCJyZW1vdmVDb25maWciLCJzZXRDb25maWciLCJ1bnNldENvbmZpZyIsInVwbG9hZCIsInVwbG9hZFJldHVybkN0eCIsImFkZExpc3RlbmVyIiwib24iLCJvbmNlIiwicmVtb3ZlTGlzdGVuZXIiLCJvZmYiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzZXRNYXhMaXN0ZW5lcnMiLCJnZXRNYXhMaXN0ZW5lcnMiLCJsaXN0ZW5lcnMiLCJyYXdMaXN0ZW5lcnMiLCJlbWl0IiwibGlzdGVuZXJDb3VudCIsInByZXBlbmRMaXN0ZW5lciIsInByZXBlbmRPbmNlTGlzdGVuZXIiLCJldmVudE5hbWVzIiwiY3JlYXRlQ29udGV4dCIsIkVycm9yIiwiaW5pdGlhbGl6ZUNvbnRleHQiLCJoYW5kbGVTa2lwUHJvY2VzcyIsImV4ZWN1dGVMaWZlY3ljbGUiLCJoYW5kbGVFcnJvciIsInJhd0lucHV0UGF0aCIsImNsb25lRGVlcCIsImRvVXBsb2FkIiwiYWZ0ZXJVcGxvYWQiLCJwcmVwcm9jZXNzIiwiYmVmb3JlVHJhbnNmb3JtIiwiZG9UcmFuc2Zvcm0iLCJidWlsZEluUmVuYW1lIiwiYmVmb3JlVXBsb2FkIiwiRkFJTEVEIiwiVVBMT0FEX1BST0dSRVNTIiwic2tpcEV4dGVuc2lvbnMiLCJCRUZPUkVfVFJBTlNGT1JNIiwidGVtcEZpbGVQYXRoIiwicHJvY2Vzc0ltYWdlcyIsImluaXRpYWxpemVSYXdJbnB1dFBhdGhzIiwicHVzaCIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJyZWFkRmlsZVN5bmMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJpc1JlbW92ZUV4aWYiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsInJlbmFtZUNvbmZpZyIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwiY3VycmVudFVwbG9hZGVyIiwib3V0cHV0SW1nIiwiQUZURVJfVVBMT0FEIiwiYWZ0ZXJVcGxvYWRQbHVnaW5zIiwibXNnIiwiaXNFbmNvZGVPdXRwdXRVUkwiLCJpIiwiaW1nVXJsIiwiRklOSVNIRUQiLCJsaWZlQ3ljbGVQbHVnaW5zIiwicGx1Z2lucyIsImdldExpc3QiLCJwbHVnaW5OYW1lcyIsImdldElkTGlzdCIsImxpZmVDeWNsZU5hbWUiLCJnZXROYW1lIiwiYWxsIiwicGx1Z2luIiwibGFuZ3VhZ2VMaXN0IiwiVVBMT0FEX0ZBSUxFRCIsIkNIRUNLX1NFVFRJTkdTIiwiQ0hFQ0tfU0VUVElOR1NfQU5EX05FVFdPUksiLCJVUExPQURfRkFJTEVEX1JFQVNPTiIsIlNFUlZFUl9FUlJPUiIsIkFVVEhfRkFJTEVEIiwiUElDQkVEX1NNTVMiLCJQSUNCRURfU01NU19UT0tFTiIsIlBJQ0JFRF9TTU1TX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfU01NU19CQUNLVVBET01BSU4iLCJQSUNCRURfU01NU19NRVNTQUdFX0JBQ0tVUF9ET01BSU4iLCJQSUNCRURfQURWQU5DRURQTElTVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0VORFBPSU5UIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfTUVUSE9EIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfRk9STURBVEFLRVkiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfSEVBREVSUyIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfSEVBREVSUyIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0JPRFkiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0JPRFkiLCJQSUNCRURfQURWQU5DRURQTElTVF9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0NVU1RPTVBSRUZJWCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX1dFQlBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9SRVNEQVRBUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfUkVTREFUQVBBVEgiLCJQSUNCRURfTE9DQUwiLCJQSUNCRURfTE9DQUxfUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfTE9DQUxfQ1VTVE9NVVJMIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0xPQ0FMX1dFQlBBVEgiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX1BMSVNUIiwiUElDQkVEX0FMSVNUX1VSTCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9BTElTVF9UT0tFTiIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0FMSVNUX1VTRVJOQU1FIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfUEFTU1dPUkQiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9VUExPQURQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVBMT0FEX1BBVEgiLCJQSUNCRURfQUxJU1RfV0VCUEFUSCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1dFQl9QQVRIIiwiUElDQkVEX0FMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElDTE9VRCIsIlBJQ0JFRF9BTElDTE9VRF9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BTElDTE9VRF9BQ0NFU1NLRVlTRUNSRVQiLCJQSUNCRURfQUxJQ0xPVURfQlVDS0VUIiwiUElDQkVEX0FMSUNMT1VEX0FSRUEiLCJQSUNCRURfQUxJQ0xPVURfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9XRUJQQVRIIiwiUElDQkVEX0FMSUNMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElDTE9VRF9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1ZFUlNJT04iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TRUNSRVRLRVkiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0FQUElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9CVUNLRVQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0FSRUEiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0VORFBPSU5UIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9QQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9XRUJQQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9PUFRJT05TIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU0iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fVElQIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX0NPTkZJUk0iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ0FOQ0VMIiwiUElDQkVEX0dJVEhVQiIsIlBJQ0JFRF9HSVRIVUJfVE9LRU4iLCJQSUNCRURfR0lUSFVCX1JFUE8iLCJQSUNCRURfR0lUSFVCX1BBVEgiLCJQSUNCRURfR0lUSFVCX0JSQU5DSCIsIlBJQ0JFRF9HSVRIVUJfQ1VTVE9NVVJMIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1JFUE8iLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1BBVEgiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1FJTklVIiwiUElDQkVEX1FJTklVX0FDQ0VTU0tFWSIsIlBJQ0JFRF9RSU5JVV9TRUNSRVRLRVkiLCJQSUNCRURfUUlOSVVfQlVDS0VUIiwiUElDQkVEX1FJTklVX1BBVEgiLCJQSUNCRURfUUlOSVVfVVJMIiwiUElDQkVEX1FJTklVX09QVElPTlMiLCJQSUNCRURfUUlOSVVfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1BBVEgiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9JTUdVUiIsIlBJQ0JFRF9JTUdVUl9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfQUxCVU0iLCJQSUNCRURfSU1HVVJfUFJPWFkiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUxCVU0iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9VUFlVTiIsIlBJQ0JFRF9VUFlVTl9CVUNLRVQiLCJQSUNCRURfVVBZVU5fT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fUEFUSCIsIlBJQ0JFRF9VUFlVTl9VUkwiLCJQSUNCRURfVVBZVU5fT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9FTkRQT0lOVCIsIlBJQ0JFRF9VUFlVTl9BTlRJTEVFQ0hUT0tFTiIsIlBJQ0JFRF9VUFlVTl9FWFBJUkVUSU1FIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVRIIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfV0VCREFWUExJU1QiLCJQSUNCRURfV0VCREFWUExJU1RfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfQVVUSFRZUEUiLCJQSUNCRURfV0VCREFWUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1NGVFBQTElTVCIsIlBJQ0JFRF9TRlRQUExJU1RfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfU0ZUUFBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfRElSX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0RJUl9NT0RFIiwiUElDQkVEX1BJQ0xJU1QiLCJQSUNCRURfUElDTElTVF9IT1NUIiwiUElDQkVEX1BJQ0xJU1RfUE9SVCIsIlBJQ0JFRF9QSUNMSVNUX1BJQ0JFRCIsIlBJQ0JFRF9QSUNMSVNUX0NPTkZJR05BTUUiLCJQSUNCRURfUElDTElTVF9LRVkiLCJQSUNCRURfTFNLWV9QTElTVCIsIlBJQ0JFRF9MU0tZX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9IT1NUIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9IT1NUIiwiUElDQkVEX0xTS1lfVE9LRU4iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0xTS1lfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfUEVSTUlTU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfUEVSTUlTU0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUIiwiUElDQkVEX0FXU1MzUExJU1RfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJCVUlMRElOX1dBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1NDQUxFUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0NPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9TS0lQUFJPQ0VTUyIsIkJVSUxESU5fU0tJUFBST0NFU1NfU0tJUFBST0NFU1NFWFRMSVNUIiwiQlVJTERJTl9SRU5BTUUiLCJCVUlMRElOX1JFTkFNRV9GT1JNQVQiLCJCVUlMRElOX1JFTkFNRV9FTkFCTEUiLCJCVUlMRElOX0NPTVBSRVNTIiwiQlVJTERJTl9DT01QUkVTU19RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTElQIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMT1AiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfU0tJUFJFU0laRU9GU01BTExJTUciLCJCVUlMRElOX0NPTVBSRVNTX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19JU1JFTU9WRUVYSUYiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRU1PVkVFWElGIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUEFUSCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfVkFMSUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1ZBTElEIiwiZW4iLCJJMThuTWFuYWdlciIsIm9iamVjdEFkYXB0ZXIiLCJPYmplY3RBZGFwdGVyIiwibGFuZ3VhZ2UiLCJJMThuIiwiYWRhcHRlciIsImRlZmF1bHRMYW5ndWFnZSIsImxvYWRPdXR0ZXJJMThuIiwiaTE4bkZvbGRlciIsImdldE91dHRlckkxOG5Gb2xkZXIiLCJyZWFkZGlyU3luYyIsIndpdGhGaWxlVHlwZXMiLCJmb3JFYWNoIiwiaXNGaWxlIiwiZW5kc1dpdGgiLCJpMThuRmlsZVBhdGgiLCJpMThuRmlsZSIsImkxOG5GaWxlT2JqIiwieWFtbCIsImxvYWQiLCJwYXRoRXhpc3RzU3luYyIsInRyYW5zbGF0ZSIsImFyZ3MiLCJzZXRMYW5ndWFnZSIsImFkZExvY2FsZSIsImxvY2FsZXMiLCJvcmlnaW5Mb2NhbGVzIiwiZ2V0TG9jYWxlIiwibmV3TG9jYWxlcyIsIm1lcmdlIiwic2V0TG9jYWxlIiwiYWRkTGFuZ3VhZ2UiLCJnZXRMYW5ndWFnZUxpc3QiLCJwcm9ncmFtIiwib3B0aW9uIiwiY29tbWFuZCIsImFyZ3VtZW50cyIsImRlc2NyaXB0aW9uIiwiYWN0aW9uIiwibGFuZyIsImxpc3QiLCJwcm9tcHRzIiwiY2hvaWNlcyIsImRlZmF1bHQiLCJpbnF1aXJlciIsInByb21wdCIsImNyZWF0ZUNvbW1hbmQiLCJhbGlhcyIsInByb3h5IiwicmVnaXN0cnkiLCJpbnN0YWxsIiwidW5pbnN0YWxsIiwiZm9ybWF0UGF0aEhlbHBlciIsInN0YXJ0U2xhc2giLCJlbmRTbGFzaCIsInJvb3RUb0VtcHR5IiwiY2xlYW5QYXRoIiwiZW5jb2RlUGF0aCIsInAiLCJlbmNvZGVVUklDb21wb25lbnQiLCJidWlsZEluVXBsb2FkZXJOYW1lcyIsImNyZWF0ZUZpZWxkIiwicGljQmVkTmFtZSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwiaTE4blByZWZpeCIsImV4dHJhcyIsInByZWZpeCIsInRvVXBwZXJDYXNlIiwidXBsb2FkZXJUcmFuc2xhdG9ycyIsImFkdmFuY2VkcGxpc3QiLCJhbGlzdHBsaXN0IiwiYWxpeXVuIiwiZ2l0aHViIiwiaW1ndXIiLCJsb2NhbCIsImxza3lwbGlzdCIsInBpY2xpc3QiLCJxaW5pdSIsInNmdHBwbGlzdCIsInNtbXMiLCJ0Y3l1biIsInVweXVuIiwid2ViZGF2cGxpc3QiLCJCVUlMRElOX01PRFVMRVMiLCJjb21wcmVzcyIsInVzZXJDb25maWciLCJyZW5hbWUiLCJoYW5kbGVDb25maWciLCJtb2R1bGUiLCJhbnN3ZXIiLCJjb25maWdOYW1lIiwiZ2V0Q29uZmlnTmFtZSIsImJ1aWxkaW4iLCJzZXR0aW5nIiwiZW50cmllcyIsInZhbHVlIiwic2VsZWN0ZWRNb2R1bGUiLCJoYW5kbGVCdWlsZGluTW9kdWxlIiwiaGFuZGxlVXBsb2FkZXJPclRyYW5zZm9ybWVyIiwicGx1Z2luTmFtZSIsImdldFBsdWdpbiIsImdldEZ1bGxMaXN0IiwiaGFuZGxlUGx1Z2luIiwiYXJndiIsImlucHV0TGlzdCIsImZpbHRlciIsImV4aXN0IiwidXNlIiwicGljZ29QbHVnaW5zIiwiTGlmZWN5Y2xlUGx1Z2lucyIsInN0YXRpYyIsInBsdWdpbklkTWFwIiwiTWFwIiwicmVnaXN0ZXIiLCJpZCIsIlR5cGVFcnJvciIsInNldCIsImN1cnJlbnRQbHVnaW4iLCJ1bnJlZ2lzdGVyIiwicGx1Z2luTGlzdCIsImRlbGV0ZSIsInZhbHVlcyIsInNldEN1cnJlbnRQbHVnaW5OYW1lIiwiQ29tbWFuZGVyIiwiQ29tbWFuZCIsImluaXQiLCJ2ZXJzaW9uIiwiZGVidWciLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsInJlc3VsdCIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsInN0YWNrIiwic3RyaW5naWZ5IiwiYXBwZW5kRmlsZVN5bmMiLCJQbHVnaW5IYW5kbGVyIiwiaW5zdGFsbGVkUGx1Z2lucyIsInByb2Nlc3NQbHVnaW5zIiwiaGFuZGxlUGx1Z2luTmFtZVByb2Nlc3MiLCJoYXNQbHVnaW4iLCJwa2dOYW1lIiwiZnVsbE5hbWVMaXN0IiwiZnVsbE5hbWUiLCJwa2dOYW1lTGlzdCIsImV4ZWNDb21tYW5kIiwiY29kZSIsImVyciIsInRpdGxlIiwiYm9keSIsInJlZ2lzdGVyUGx1Z2luIiwidW5yZWdpc3RlclBsdWdpbiIsIm1vZHVsZXMiLCJ3aGVyZSIsImNvbmNhdCIsIm5wbSIsInNwYXduIiwic3Rkb3V0IiwicGlwZSIsInN0ZGVyciIsIlBsdWdpbkxvYWRlciIsImZ1bGxMaXN0IiwicGx1Z2luTWFwIiwicGFja2FnZVBhdGgiLCJyZXBvc2l0b3J5IiwibGljZW5zZSIsInJlc29sdmVQbHVnaW4iLCJzeW5jIiwiYmFzZWRpciIsInBsdWdpbkRpciIsImpzb24iLCJkZXBzIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImFkZCIsInBsdWdpbkludGVyZmFjZSIsIk5PVElGSUNBVElPTiIsInBhY2thZ2VKc29uUGF0aCIsInBhY2thZ2VKc29uIiwibWFpbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsImhlYWRlcnMiLCJtYXhCb2R5TGVuZ3RoIiwiSW5maW5pdHkiLCJtYXhDb250ZW50TGVuZ3RoIiwiaHR0cHNPdmVySHR0cCIsImluc3RhbmNlIiwiY3JlYXRlIiwiaW50ZXJjZXB0b3JzIiwib3B0IiwiX19pc09sZE9wdGlvbnMiLCJGb3JtRGF0YSIsImZvcm1EYXRhIiwiYXNzaWduIiwiZ2V0SGVhZGVycyIsInFzIiwicmVxdWVzdEludGVyY2VwdG9yIiwib2JqIiwiY29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaXNCdWZmZXIiLCJpbWdTaXplIiwicG9zdE9wdGlvbnMiLCJlbmRwb2ludCIsImZvcm1EYXRhS2V5IiwiZmlsZW5hbWUiLCJhZHZhbmNlZHBsaXN0Q29uZmlnIiwiaW1nTGlzdCIsInBvc3RDb25maWciLCJpbWFnZVVybCIsInJlc0RhdGFQYXRoIiwid2ViUGF0aCIsInBvcCIsImN1c3RvbVByZWZpeCIsImNyZWF0ZUNvbmZpZ0ZpZWxkIiwidG9rZW4iLCJBdXRob3JpemF0aW9uIiwiaGFuZGxlUmVzRXJyb3IiLCJjcmVhdGVBcGlSZXF1ZXN0IiwiZXh0cmFjdENvbmZpZyIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJ1cGxvYWRQYXRoIiwiY3VzdG9tVXJsIiwiYWxpc3RDb25maWciLCJ0b2tlblN0b3JlIiwicmVmcmVzaGVkQXQiLCJwb3N0IiwiZ2V0QWxpc3RUb2tlbiIsImZ1bGxVcGxvYWRQYXRoIiwidXBsb2FkUmVzIiwicmVmcmVzaFJlcyIsInBhZ2UiLCJwZXJfcGFnZSIsInJlZnJlc2giLCJnZXRJbmZvUmVzIiwic2lnbiIsImVuY29kZWRQYXRoIiwiZ2V0Q3VycmVudFVUQ0RhdGUiLCJ0b1VUQ1N0cmluZyIsImdlbmVyYXRlU2lnbmF0dXJlIiwiZGF0ZSIsInNpZ25TdHJpbmciLCJtaW1lIiwiZ2V0VHlwZSIsImJ1Y2tldCIsInNpZ25hdHVyZSIsImNyZWF0ZUhtYWMiLCJhY2Nlc3NLZXlTZWNyZXQiLCJhY2Nlc3NLZXlJZCIsImFyZWEiLCJIb3N0IiwiYWxpWXVuT3B0aW9ucyIsInVybE9wdGlvbnMiLCJGaWxlTmFtZUdlbmVyYXRvciIsIm1vbnRoIiwiZGF5IiwiZXh0TmFtZSIsIm1kNSIsImltZ0J1ZmZlciIsIm1kNUI2NCIsIm1kNUI2NFNob3J0Iiwic2hhMSIsInNoYTI1NiIsInRpbWVzdGFtcCIsInRpbWVzdGFtcE1TIiwiZm9ybWF0UGF0aCIsImZpbGVOYW1lR2VuZXJhdG9yIiwiZmllbGRzIiwicmUiLCJnZXRQcm94eUFnZW50Iiwic3NsRW5hYmxlZCIsImZvcm1hdGVkUHJveHkiLCJmb3JtYXRIdHRwUHJveHlVUkwiLCJIdHRwc1Byb3h5QWdlbnQiLCJIdHRwUHJveHlBZ2VudCIsImtlZXBBbGl2ZSIsImtlZXBBbGl2ZU1zZWNzIiwic2NoZWR1bGluZyIsImdldEZpbGVVUkwiLCJvcHRzIiwiZVRhZyIsInZlcnNpb25JZCIsInNpZ25lZFVybCIsImdldFNpZ25lZFVybCIsImNsaWVudCIsIkdldE9iamVjdENvbW1hbmQiLCJCdWNrZXQiLCJidWNrZXROYW1lIiwiS2V5IiwiSWZNYXRjaCIsIlZlcnNpb25JZCIsImV4cGlyZXNJbiIsInVybE9iamVjdCIsInNlYXJjaCIsImNyZWF0ZVMzQ2xpZW50IiwiaHR0cEhhbmRsZXJPcHRzIiwiaHR0cEFnZW50IiwiY2xpZW50T3B0aW9ucyIsInJlZ2lvbiIsImNyZWRlbnRpYWxzIiwiYWNjZXNzS2V5SUQiLCJzZWNyZXRBY2Nlc3NLZXkiLCJ0bHMiLCJmb3JjZVBhdGhTdHlsZSIsInBhdGhTdHlsZUFjY2VzcyIsInJlcXVlc3RIYW5kbGVyIiwiTm9kZUh0dHBIYW5kbGVyIiwiUzNDbGllbnQiLCJjcmVhdGVVcGxvYWRUYXNrIiwiY29udGVudEVuY29kaW5nIiwiZmlsZVR5cGUiLCJmaWxlVHlwZUZyb21CdWZmZXIiLCJleHRyYWN0SW5mbyIsIlB1dE9iamVjdENvbW1hbmQiLCJBQ0wiLCJhY2wiLCJCb2R5IiwiQ29udGVudEVuY29kaW5nIiwic2VuZCIsInVybFByZWZpeCIsIkVUYWciLCJpbWdVUkwiLCJmb3JtYXREaXNhYmxlQnVja2V0UHJlZml4VG9VUkwiLCJkaXNhYmxlQnVja2V0UHJlZml4VG9VUkwiLCJCb29sZWFuIiwidGFzayIsImJ1aWxkR2l0aHViQXBpVXJsIiwicmVwbyIsImV4dHJhIiwiZ2V0T3B0aW9ucyIsImJyYW5jaCIsImdpdGh1Yk9wdGlvbnMiLCJjb250ZW50IiwiZG93bmxvYWRfdXJsIiwiaGFzaCIsInNoYSIsImltZ0Jhc2U2NCIsImNsaWVudElkIiwiYWNjZXNzVG9rZW4iLCJmb3JtYXRBY2Nlc3NUb2tlbiIsImFsYnVtIiwiYXV0aG9yaXphdGlvbiIsInJlcXVlc3RPcHRpb25zIiwiaW5pdFBhZ2VzIiwiYWxidW1IYXNoIiwiZ2V0QWxidW1IYXNoT3B0aW9ucyIsInRpbWVvdXQiLCJhbGJ1bUxpc3QiLCJpbWd1ck9wdGlvbnMiLCJsaW5rIiwiZGVsZXRlaGFzaCIsImxvY2FsQ29uZmlnIiwiaW1nVGVtcFBhdGgiLCJmaWxlSW1nVGVtcFBhdGgiLCJmaWxlVXBsb2FkUGF0aCIsImNvcHlGaWxlU3luYyIsImdhbGxlcnlQYXRoIiwiaXNWMiIsInYxSGVhZGVycyIsIkNvbm5lY3Rpb24iLCJ2MUZvcm1EYXRhIiwic3NsIiwidjJIZWFkZXJzIiwiQWNjZXB0Iiwic3RyYXRlZ3lJZCIsImFsYnVtSWQiLCJwZXJtaXNzaW9uIiwidjJGb3JtRGF0YSIsInN0cmF0ZWd5X2lkIiwiYWxidW1faWQiLCJhZ2VudCIsImxza3lPcHRpb25zIiwibGlua3MiLCJwaWNiZWQiLCJzZXJ2ZXJLZXkiLCJpc0lwIiwiZm9ybWF0SG9zdCIsInBpY2xpc3RPcHRpb25zIiwiZnVsbFJlc3VsdCIsInNlbGVjdEFyZWEiLCJnZXRUb2tlbiIsInFpbml1T3B0aW9ucyIsImFjY2Vzc0tleSIsInNlY3JldEtleSIsIm1hYyIsImF1dGgiLCJNYWMiLCJycyIsIlB1dFBvbGljeSIsInVwbG9hZFRva2VuIiwiYmFzZVVybCIsIlNTSENsaWVudCIsIk5vZGVTU0giLCJpc0Nvbm5lY3RlZCIsImdldEluc3RhbmNlIiwiY2hhbmdlV2luU3R5bGVQYXRoVG9Vbml4IiwiY29ubmVjdCIsInByaXZhdGVLZXkiLCJwYXNzcGhyYXNlIiwibG9naW5JbmZvIiwicHJpdmF0ZUtleVBhdGgiLCJyZW1vdGUiLCJta2RpciIsInB1dEZpbGUiLCJmaWxlTW9kZSIsImV4ZWMiLCJkaXJQYXRoIiwiZGlyZWN0b3J5TW9kZSIsImRpck1vZGUiLCJkaXJzIiwiY3VycmVudFBhdGgiLCJkaXIiLCJzY3JpcHQiLCJjaG93biIsInVzZXIiLCJncm91cCIsIl91c2VyIiwiX2dyb3VwIiwiY2xvc2UiLCJkaXNwb3NlIiwic2Z0cHBsaXN0Q29uZmlnIiwidXBsb2FkVGVtcFBhdGgiLCJvdXRwdXRGaWxlU3luYyIsInJlbW90ZVBhdGgiLCJmaWxlVXNlciIsImltZ1RlbXBGaWxlUGF0aCIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsImFwaVRva2VuIiwiZG9tYWluIiwic21maWxlIiwic21tc0NvbmZpZyIsImJhY2t1cERvbWFpbiIsImltYWdlQnVmZmVyIiwiaW1hZ2VzIiwiZXJyb3JNc2ciLCJ1cGxvYWRIaXN0b3J5IiwibWF0Y2hlZEltYWdlIiwiZmluZCIsInNlY3JldElkIiwiYXBwSWQiLCJzaWduVGltZSIsImN1cnJlbnQiLCJtdWx0aVNpZ25hdHVyZSIsInNpZ25IZXhLZXkiLCJ0ZW1wU3RyaW5nIiwidG9kYXkiLCJzaWduS2V5IiwiaHR0cFN0cmluZyIsInN0cmluZ1RvU2lnbiIsInVzZXJBZ2VudCIsIm9wIiwiZmlsZWNvbnRlbnQiLCJ0Y1l1bk9wdGlvbnMiLCJ1c2VWNCIsIm9wdGlvblVybCIsInNsaW0iLCJzb3VyY2VfdXJsIiwiY29uZmlybVRleHQiLCJjYW5jZWxUZXh0IiwidGlwcyIsIkRFRkFVTFRfRU5EUE9JTlQiLCJ1cHl1bk9wdGlvbnMiLCJvcGVyYXRvciIsIm1kNVBhc3N3b3JkIiwic3VmZml4IiwiYW50aUxlZWNoVG9rZW4iLCJhZGRBbnRpTGVlY2hUb2tlbiIsInVwdCIsImV4cGlyZVRpbWUiLCJ1cmkiLCJleHBpcmUiLCJzdWJzdHJpbmciLCJnZXRBbnRpTGVlY2hQYXJhbSIsImhhbmRsZVVwbG9hZEVycm9yIiwiZXJyb3JCb2R5IiwiZXJyb3JDb2RlIiwiTUFYX0ZJTEVfU0laRSIsImdldEltYWdlQnVmZmVyIiwiYnVpbGRJbWFnZVVybCIsIndlYnBhdGgiLCJ1c2VXZWJwYXRoIiwic2F2ZUltYWdlVG9UZW1wIiwidXBsb2FkSW1hZ2UiLCJmdWxsVXBsb2FkRGlyUGF0aCIsInBhdGhUb0NyZWF0ZSIsImNyZWF0ZURpcmVjdG9yeSIsInJlY3Vyc2l2ZSIsInB1dEZpbGVDb250ZW50cyIsIm92ZXJ3cml0ZSIsImF1dGhUeXBlIiwiQXV0aFR5cGUiLCJEaWdlc3QiLCJjcmVhdGVDbGllbnQiLCJjcmVhdGVXZWJEQVZDbGllbnQiLCJidWlsZEluVXBsb2FkZXJzIiwiYWR2YW5jZWRwbGlzdFVwbG9hZGVyIiwiYWxpc3RVcGxvYWRlciIsImFsaVl1blVwbG9hZGVyIiwiYXdzczNwbGlzdFVwbG9hZGVyIiwiZ2l0aHViVXBsb2FkZXIiLCJpbWd1clVwbG9hZGVyIiwibG9jYWxVcGxvYWRlciIsImxza3lVcGxvYWRlciIsInBpY2xpc3RVcGxvYWRlciIsInFpbml1VXBsb2FkZXIiLCJzZnRwVXBsb2FkZXIiLCJzbW1zVXBsb2FkZXIiLCJ0Y1l1blVwbG9hZGVyIiwidXBZdW5VcGxvYWRlciIsIndlYmRhdnBsaXN0VXBsb2FkZXIiLCJEQiIsImRiIiwiSlNPTlN0b3JlIiwicmVhZCIsImZsdXNoIiwidW5zZXQiLCJDTElQQk9BUkRfSU1BR0VfRk9MREVSIiwicGxhdGZvcm0yU2NyaXB0Q29udGVudCIsImRhcndpbiIsIndpbjMyIiwid2luMTAiLCJsaW51eCIsIndzbCIsInBsYXRmb3JtMlNjcmlwdEZpbGVuYW1lIiwiZ2V0Q2xpcGJvYXJkSW1hZ2UiLCJpbWFnZVBhdGgiLCJjcmVhdGVJbWFnZUZvbGRlciIsInBsYXRmb3JtIiwiaXNXc2wiLCJvcyIsInJlbGVhc2UiLCJnZXRDdXJyZW50UGxhdGZvcm0iLCJzY3JpcHRQYXRoIiwiZXhlY3V0aW9uIiwiaW1nUGF0aCIsInNob3VsZEtlZXBBZnRlclVwbG9hZGluZyIsIlBpY0dvIiwiX2NvbmZpZyIsImxpZmVjeWNsZSIsIl9wbHVnaW5Mb2FkZXIiLCJpbml0Q29uZmlnUGF0aCIsImluaXRDb25maWciLCJob21lZGlyIiwiZW5zdXJlRmlsZVN5bmMiLCJyZWdpc3RlckNvbW1hbmRzIiwicHJvcE5hbWUiLCJjbGVhbnVwIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoibWxEQVdBLE1BQ01BLEdBQVlDLEVBRENDLGNBQTBCQyxNQWN2QyxTQUFVQyxHQUFzQkMsR0FDcEMsTUFBTUMsRUFBUSxpRUFDZCxPQUFPQyxNQUFNQyxLQUFLLENBQUVILFdBQ2pCSSxJQUFJLElBQU1ILEVBQU1JLE9BQU9DLEtBQUtDLE1BQXNCTixHQUFoQkssS0FBS0UsWUFDdkNDLEtBQUssR0FDVixDQVVBLFNBQVNDLEdBQWFDLEdBQ3BCLE9BQWlDLElBQTFCQSxFQUFJQyxXQUFXWixPQUFlLElBQUlXLElBQVFBLEVBQUlDLFVBQ3ZELENBRUEsU0FBU0MsR0FBT0MsR0FDZCxPQUFPQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9ILEdBQU9JLE9BQU8sTUFDdkQsQ0FFTSxTQUFVQyxHQUNkQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBLE1BQU1DLEVBQU0sSUFBSUMsS0FDVkMsRUFBT0YsRUFBSUcsY0FBY2YsV0FDekJn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