pup-recorder 0.6.3 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.cjs +3 -3
- package/dist/chunk-KGAW4IX4.js +4 -0
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/runtime/audio.global.js +2 -2
- package/dist/runtime/preload.cjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-N72ZECPY.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import'source-map-support/register.js';import {Log}from'node-av';import {AV_LOG_ERROR,AV_LOG_WARNING}from'node-av/constants';import {createRequire}from'module';import {dirname,join}from'path';import p from'zod';import {existsSync,rmSync}from'fs';import {mkdtemp}from'fs/promises';import {tmpdir,platform}from'os';import {HardwareContext}from'node-av/api';import {spawn}from'child_process';import je from'tree-kill';import {fileURLToPath}from'url';import {EventEmitter}from'events';var ke=Object.create;var $=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var I=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),v=t=>{throw TypeError(t)};var Y=(t,e,r)=>e in t?$(t,e,{enumerable:true,configurable:true,writable:true,value:r}):t[e]=r;var Q=t=>[,,,ke(null)],X=["class","method","getter","setter","accessor","field","value","get","set"],R=t=>t!==void 0&&typeof t!="function"?v("Function expected"):t,Pe=(t,e,r,o,n)=>({kind:X[t],name:e,metadata:o,addInitializer:s=>r._?v("Already initialized"):n.push(R(s||null))}),G=(t,e)=>Y(e,I("metadata"),t[3]),Z=(t,e,r,o)=>{for(var n=0,s=t[e>>1],i=s&&s.length;n<i;n++)s[n].call(r);return o},C=(t,e,r,o,n,s)=>{var a,c,m,k,l=e&7,E=false,b=false,T=2,P=X[l+5],xe=t[T]||(t[T]=[]),w=((n=n.prototype),Te(n,r));for(var D=o.length-1;D>=0;D--)m=Pe(l,r,c={},t[3],xe),(m.static=E,m.private=b,k=m.access={has:g=>r in g},(k.get=g=>g[r]),l>2),a=(0, o[D])(w[P],m),c._=1,R(a)&&(w[P]=a);return w&&$(n,r,w),n},ee=(t,e,r)=>Y(t,e+"",r);var re=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&v("Object expected");var o,n;o===void 0&&(o=e[I("dispose")],r),typeof o!="function"&&v("Object not disposable"),n&&(o=function(){try{n.call(this);}catch(s){return Promise.reject(s)}}),t.push([r,o,e]);}return e},te=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(i,a,c,m){return m=Error(c),m.name="SuppressedError",m.error=i,m.suppressed=a,m},n=i=>e=r?new o(i,e,"An error was suppressed during disposal"):(r=true,i),s=i=>{for(;i=t.pop();)try{var a=i[1]&&i[1].call(i[2]);if(i[0])return Promise.resolve(a).then(s,c=>(n(c),s()))}catch(c){n(c);}if(r)throw e};return s()};var oe=class{_written=0;_shown=false;_total;_out;_tty;_showCount;constructor(e){this._total=e.total,this._out=e.out,this._tty=!!e.out.isTTY,this._showCount=e.showCount??false;}get total(){return this._total}update(e){this._written=Math.min(this._total,Math.max(0,e)),this.render();}updatePercent(e){this.update(Math.round(e/100*this._total));}clear(){this._tty&&this._shown&&this._out.write("\r\x1B[2K");}redraw(){this.render();}log(e){this.clear(),this._out.write(`${e}
|
|
2
|
+
`),this.redraw();}finish(e){this.clear(),this._out.write(`${e}
|
|
3
|
+
`),this._shown=false;}render(){if(!this._tty||this._written===0&&!this._shown)return;let e=this._total>0?this._written/this._total:0,r=Math.round(e*40),o="#".repeat(r)+"-".repeat(40-r),n=Math.round(e*100),s=this._showCount?`${this._written}/${this._total} (${n}%)`:`${n}%`;this._out.write(`\r[${o}] ${s}`),this._shown=true;}};function rr(t){let e=r=>(...o)=>{t.clear(),r(...o),t.redraw();};return {debug:e(console.debug),info:e(console.info),warn:e(console.warn),error:e(console.error)}}function ne(t,e,r){try{return e(process.env[t])}catch{return r}}function se(t){if(typeof t=="number")return t;let e=Number(t);if(Number.isNaN(e))throw new Error(`Value ${t} is not a valid number`);return e}function ir(t){return typeof t=="string"?t:String(t)}function ar(t){return e=>typeof e!="string"||e.trim()===""?[]:e.split(",").map(r=>t(r.trim()))}var Ae=createRequire(import.meta.url),O=ne("PUP_LOG_LEVEL",se,2),ae=dirname(Ae.resolve("pup-recorder/package.json")),le=join(ae,"dist","app.cjs");join(ae,"dist","runtime","preload.cjs");var N="<pup@debug>",U="<pup@info>",F="<pup@warn>",H="<pup@error>",j="<pup@fatal>";function A(t,e){return function(...r){let o=r.map(n=>n instanceof Error?n.stack??String(n):n);return t.call(this,...o)}}var ce,pe,ue,de,me,x;me=[A],de=[A],ue=[A],pe=[A],ce=[A];var y=class{constructor(e=O){this._level=e;Z(x,5,this);ee(this,"_impl");this.impl=console;}_level;get level(){return this._level}set level(e){this._level=e,this.impl=this._impl??console;}get impl(){return this._impl}set impl(e){let r=e.debug??console.debug,o=e.info??console.info,n=e.warn??console.warn,s=e.error??console.error,i=this._level;this._impl={debug:i>=3?r:void 0,info:i>=2?o:void 0,warn:i>=1?n:void 0,error:i>=0?s:void 0};}debug(...e){this.impl?.debug?.(N,...e);}info(...e){this.impl?.info?.(U,...e);}warn(...e){this.impl?.warn?.(F,...e);}error(...e){this.impl?.error?.(H,...e);}fatal(...e){this.impl?.error?.(j,...e),process.exit(1);}dispatch(e){let r=e.trimEnd();r.startsWith(N)?this.debug(r.slice(N.length+1)):r.startsWith(U)?this.info(r.slice(U.length+1)):r.startsWith(F)?this.warn(r.slice(F.length+1)):r.startsWith(H)?this.error(r.slice(H.length+1)):this.info(r);}attach(e,r){return new Promise((o,n)=>{this.debug(`${r}.attach`);let s="",i=a=>{let c=a.toString();c.startsWith(j)?s+=c.slice(j.length+1):this.dispatch(c);};e.stderr?.on("data",i),e.stdout?.on("data",i),e.on("error",a=>{s+=a.message,e.kill();}).once("close",(a,c)=>{a||c||s?(s||=`command failed: ${e.spawnargs.join(" ")}`,this.debug(`${r}.close`,{code:a,signal:c,fatal:s}),n(new Error(s))):(this.debug(`${r}.close`),o());}).on("unhandledRejection",a=>{this.error(`${r}.unhandled`,a);}).on("uncaughtExceptionMonitor",a=>{this.error(`${r}.unhandled`,a);});})}};x=Q(),C(x,1,"debug",me,y),C(x,1,"info",de,y),C(x,1,"warn",ue,y),C(x,1,"error",pe,y),C(x,1,"fatal",ce,y),G(x,y);var u=new y;Log.setCallback((t,e)=>{let r=e.trimEnd();r&&(t<=AV_LOG_ERROR?u.error(r):t<=AV_LOG_WARNING&&u.warn(r));});function Tr(t,e){return (...r)=>{try{let o=t(...r);return o instanceof Promise?o.catch(()=>e):o}catch{return e}}}var Le=1920,De=1080,Me=30,$e=5,Ge=10,We=["out/html.mp4","out/html.webm"],Er=p.object({duration:p.number().describe("Duration in seconds"),width:p.number().describe("Video width"),height:p.number().describe("Video height"),fps:p.number().describe("Frames per second"),withAudio:p.boolean().describe("Capture and encode audio"),outFiles:p.array(p.string()).describe("Output paths; extension (.mp4/.webm) selects encoder"),useInnerProxy:p.boolean().describe("Use bilibili inner proxy for resource access"),deterministic:p.boolean().describe("Render by frame rather than recording"),disableGpu:p.boolean().describe("Disable GPU rendering, may reduce performance but increase stability"),disableHwCodec:p.boolean().describe("Disable hardware video encoder (NVENC/VideoToolbox), use software x265"),disableWebSecurity:p.boolean().describe("Drop the same-origin wall; required to record a local file"),ignoreCertificateErrors:p.boolean().describe("Record over TLS the platform rejects, e.g. a self-signed intranet host"),windowTolerant:p.boolean().describe("Fall back to dom-ready if warmup load times out"),windowTimeout:p.number().describe("Window load timeout in seconds"),screenshots:p.array(p.number()).describe("Second marks to dump frame bitmaps as PNG")}),fe={width:Le,height:De,fps:Me,duration:$e,outFiles:We,withAudio:false,useInnerProxy:false,deterministic:false,disableGpu:false,disableHwCodec:false,disableWebSecurity:false,ignoreCertificateErrors:false,windowTolerant:false,windowTimeout:Ge,screenshots:[]};var S=class{constructor(e){this.makeValue=e;}makeValue;get value(){return this._initialized||(this._value=this.makeValue(),this._initialized=true),this._value}get initialized(){return this._initialized}_initialized=false;_value};var Ue="[HWAccel]",he=new S(()=>{var r=[];try{let t=re(r,HardwareContext.auto());let e=t!==null;u.debug(Ue,"gpu:",e);return e}catch(o){var n=o,s=true;}finally{te(r,n,s);}});async function ge({disableGpu:t,disableWebSecurity:e,ignoreCertificateErrors:r}){let o=["no-sandbox","disable-dev-shm-usage","disable-blink-features=AutomationControlled","mute-audio","autoplay-policy=no-user-gesture-required","disable-extensions","deny-permission-prompts","use-mock-keychain","force-device-scale-factor=1","force-color-profile=srgb","ignore-gpu-blocklist","use-gl=angle","deterministic-mode","enable-begin-frame-control","disable-new-content-rendering-timeout","run-all-compositor-stages-before-draw","disable-threaded-animation","disable-threaded-scrolling","disable-checker-imaging","disable-image-animation-resync","enable-surface-synchronization","font-render-hinting=none","disable-background-networking","js-flags=--max-old-space-size=512","renderer-process-limit=1","num-raster-threads=2","disable-background-timer-throttling","disable-renderer-backgrounding","disable-backgrounding-occluded-windows","enable-logging=stderr"];e&&o.push("disable-web-security"),r&&o.push("ignore-certificate-errors"),O>=3?o.push("log-level=0","v=1"):o.push("log-level=3");let n=["FontationBackend"];if(!(!t&&he.value))o.push("use-angle=swiftshader","enable-unsafe-swiftshader");else {o.push("disable-gpu-sandbox","enable-unsafe-webgpu");let i=platform();i==="darwin"?o.push("use-angle=metal"):i==="win32"?o.push("use-angle=d3d11"):(o.push("use-angle=vulkan","disable-vulkan-surface"),n.push("Vulkan"));}return o.push(`enable-features=${n.join(",")}`),o}var V="--pup-priv-args";function zr(){let t=process.argv,e=t.find(o=>o.startsWith(V));if(!e)return u.debug("procargv",t),process.argv;let r=["exec",...t.slice(-1)];return e=Buffer.from(e.split("=")[1],"base64").toString(),r.push(...JSON.parse(e)),u.debug("pupargs",r),r}function be(t,e){let r=t.split(" ").filter(a=>a.length),[o,...n]=r;if(!o)throw new Error("empty command");let s=spawn(o,n,{stdio:"inherit",...e}),i=false;return {process:s,wait:u.attach(s,o),get killed(){return i},kill(){if(i)return;i=true;let a=s.pid;a?je(a,"SIGKILL"):s.kill("SIGKILL");}}}async function Ke(t){return [...await ge({disableGpu:t.includes("--disable-gpu"),disableWebSecurity:t.includes("--disable-web-security"),ignoreCertificateErrors:t.includes("--ignore-certificate-errors")}),"headless=new"]}var we="[Electron]";async function ye({args:t}){let{default:e}=await import('electron'),r=await Ke(t),o=await mkdtemp(join(tmpdir(),"pup-profile-")),n=r.map(c=>`--${c}`);n.push(`--user-data-dir=${o}`),n.push(`${V}=${Buffer.from(JSON.stringify(t)).toString("base64")}`);let s=[e,...n,le].join(" ");u.debug(we,s);let i={...process.env,RUST_BACKTRACE:"full"},a=be(s,{stdio:["ignore","pipe","pipe","ipc"],env:i});return a.process.once("exit",()=>{try{rmSync(o,{recursive:!0,force:!0});}catch(c){u.warn(we,"profile cleanup failed:",c);}}),a}var B=["file:","http:","https:","data:"],Qe=/^(file:|https?:|data:)/;function ve(t){if(!Qe.test(t)){let e=`${t.split(":")[0]}:`,r=B.includes(e)?`unsupported protocol: ${e}, expected ${B.join(", ")}`:`invalid source format, expected ${B.join(", ")}`;throw new Error(r)}if(t.startsWith("file:")&&!existsSync(fileURLToPath(t)))throw new Error(`source file not found: ${t}`)}var L=class extends EventEmitter{constructor(e){super(),e.on("message",r=>{let o=r;switch(o.type){case "console":{this.emit("console",o.level,o.message);break}case "progress":{this.emit("progress",o.value);break}case "done":{this.emit("done",o.payload);break}case "error":{this.emit("error",new Error(o.error));break}}}),e.once("exit",r=>this.emit("close",r));}};var z="[pup]";async function Ze(t,e){u.debug(z,"runPupApp",t,e);let r=[t,"--width",`${e.width}`,"--height",`${e.height}`,"--fps",`${e.fps}`,"--duration",`${e.duration}`,"--window-timeout",`${e.windowTimeout}`,"--out-file",e.outFiles.join(",")];return e.withAudio&&r.push("--with-audio"),e.useInnerProxy&&r.push("--use-inner-proxy"),e.deterministic&&r.push("--deterministic"),e.disableGpu&&r.push("--disable-gpu"),e.disableHwCodec&&r.push("--disable-hw-codec"),e.disableWebSecurity&&r.push("--disable-web-security"),e.ignoreCertificateErrors&&r.push("--ignore-certificate-errors"),e.windowTolerant&&r.push("--window-tolerant"),e.screenshots.length>0&&r.push("--screenshots",e.screenshots.join(",")),ye({args:r})}var d=fe;async function wt(t,e){u.debug(z,"pup",t,e);let{signal:r}=e;r?.throwIfAborted(),ve(t);let o=e.outFiles??d.outFiles,n={width:e.width??d.width,height:e.height??d.height,fps:e.fps??d.fps,duration:e.duration??d.duration,withAudio:e.withAudio??d.withAudio,useInnerProxy:e.useInnerProxy??d.useInnerProxy,deterministic:e.deterministic??d.deterministic,disableGpu:e.disableGpu??d.disableGpu,disableHwCodec:e.disableHwCodec??d.disableHwCodec,disableWebSecurity:e.disableWebSecurity??d.disableWebSecurity,ignoreCertificateErrors:e.ignoreCertificateErrors??d.ignoreCertificateErrors,windowTolerant:e.windowTolerant??d.windowTolerant,windowTimeout:e.windowTimeout??d.windowTimeout,screenshots:e.screenshots??d.screenshots,outFiles:o},s=performance.now(),i=0,a=l=>{i=l,e.onProgress?.(l);},c=await Ze(t,n),m,k=()=>{c.process.send?.({type:"cancel",reason:String(r?.reason??"abort")}),m=setTimeout(()=>c.kill(),5e3);};r?.addEventListener("abort",k,{once:true});try{let l=new Promise((b,T)=>{new L(c.process).on("close",P=>{let _=JSON.stringify({source:t,progress:i,code:P,killed:c.killed});T(new Error(`crashed: ${_}`));}).on("progress",a).on("console",(P,_)=>e.onConsole?.(P,_)).on("done",b).on("error",T);});a(0);let[E]=await Promise.all([l,c.wait]);return a(100),u.debug(z,`done ${o.join(",")} in ${Math.round(performance.now()-s)}ms`),{...E,options:n}}catch(l){throw c.kill(),r?.throwIfAborted(),l}finally{clearTimeout(m),r?.removeEventListener("abort",k);}}export{oe as a,rr as b,ne as c,se as d,ir as e,ar as f,y as g,u as h,Tr as i,zr as j,Le as k,De as l,Me as m,$e as n,Ge as o,Er as p,fe as q,S as r,wt as s};//# sourceMappingURL=chunk-KGAW4IX4.js.map
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlL2NsaV91aS50cyIsIi4uL3NyYy9iYXNlL2Vudi50cyIsIi4uL3NyYy9iYXNlL3BhcnNlci50cyIsIi4uL3NyYy9iYXNlL2NvbnN0YW50cy50cyIsIi4uL3NyYy9iYXNlL2xvZ2dpbmcudHMiLCIuLi9zcmMvYmFzZS9ub2Vyci50cyIsIi4uL3NyYy9yZW5kZXJlci9zY2hlbWEudHMiLCIuLi9zcmMvYmFzZS9sYXp5LnRzIiwiLi4vc3JjL2Jhc2UvaHdhY2NlbC50cyIsIi4uL3NyYy9iYXNlL2Nocm9taXVtLnRzIiwiLi4vc3JjL2Jhc2UvcHJvY2Vzcy50cyIsIi4uL3NyYy9yZW5kZXJlci9lbGVjdHJvbi50cyIsIi4uL3NyYy9yZW5kZXJlci9odG1sX2NoZWNrLnRzIiwiLi4vc3JjL3JlbmRlcmVyL2lwYy50cyIsIi4uL3NyYy9wdXAudHMiXSwibmFtZXMiOlsiUHJvZ3Jlc3NCYXIiLCJvcHRzIiwid3JpdHRlbiIsInBjdCIsImxpbmUiLCJyYXRpbyIsImZpbGxlZCIsImJhciIsInN1ZmZpeCIsImJhckxvZ2dlciIsIndyYXAiLCJmbiIsImFyZ3MiLCJwZW52IiwibmFtZSIsInBhcnNlciIsImRlZmF1bHRWYWx1ZSIsInBhcnNlTnVtYmVyIiwieCIsIm51bSIsInBhcnNlU3RyaW5nIiwicGFyc2VBcnJheSIsIml0ZW0iLCJzIiwicmVxdWlyZSIsImNyZWF0ZVJlcXVpcmUiLCJwdXBMb2dMZXZlbCIsInB1cFBrZ1Jvb3QiLCJkaXJuYW1lIiwicHVwQXBwIiwiam9pbiIsIkRFQlVHIiwiSU5GTyIsIldBUk4iLCJFUlJPUiIsIkZBVEFMIiwic3RhY2tIb29rIiwidGFyZ2V0IiwiX2NvbnRleHQiLCJtZXNzYWdlcyIsInByb2Nlc3NlZCIsIm1zZyIsIl9mYXRhbF9kZWMiLCJfZXJyb3JfZGVjIiwiX3dhcm5fZGVjIiwiX2luZm9fZGVjIiwiX2RlYnVnX2RlYyIsIl9pbml0IiwiTG9nZ2VyIiwiX2xldmVsIiwiX19ydW5Jbml0aWFsaXplcnMiLCJfX3B1YmxpY0ZpZWxkIiwidmFsdWUiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJsdiIsIm1lc3NhZ2UiLCJwcm9jIiwicmVzb2x2ZSIsInJlamVjdCIsImZhdGFsIiwiZGlzcGF0Y2giLCJkYXRhIiwiZXJyIiwiY29kZSIsInNpZ25hbCIsInJlYXNvbiIsIl9fZGVjb3JhdG9yU3RhcnQiLCJfX2RlY29yYXRlRWxlbWVudCIsIl9fZGVjb3JhdG9yTWV0YWRhdGEiLCJsb2dnZXIiLCJMb2ciLCJsZXZlbCIsIkFWX0xPR19FUlJPUiIsIkFWX0xPR19XQVJOSU5HIiwibm9lcnIiLCJyZXQiLCJERUZBVUxUX1dJRFRIIiwiREVGQVVMVF9IRUlHSFQiLCJERUZBVUxUX0ZQUyIsIkRFRkFVTFRfRFVSQVRJT04iLCJERUZBVUxUX1dJTkRPV19USU1FT1VUIiwiREVGQVVMVF9PVVRfRklMRVMiLCJyZW5kZXJTY2hlbWEiLCJ6IiwiZGVmYXVsdFJlbmRlck9wdGlvbnMiLCJMYXp5IiwibWFrZVZhbHVlIiwiVEFHIiwiY2FuSVVzZUdQVSIsIl9zdGFjayIsImh3IiwiX191c2luZyIsIkhhcmR3YXJlQ29udGV4dCIsInJlc3VsdCIsIl8iLCJfZXJyb3IiLCJfaGFzRXJyb3IiLCJfX2NhbGxEaXNwb3NlIiwiY2hyb21pdW1PcHRpb25zIiwiZGlzYWJsZUdwdSIsImRpc2FibGVXZWJTZWN1cml0eSIsImlnbm9yZUNlcnRpZmljYXRlRXJyb3JzIiwiZmVhdHVyZXMiLCJwbGF0IiwicGxhdGZvcm0iLCJQVVBfQVJHU19LRVkiLCJwYXJncyIsImFyZ3YiLCJwcml2IiwiYXJnIiwiZXhlYyIsImNtZCIsIm9wdGlvbnMiLCJwYXJ0cyIsImNvbW1hbmQiLCJzcGF3biIsImtpbGxlZCIsInBpZCIsInRyZWVLaWxsIiwiZWxlY3Ryb25PcHRzIiwicnVuRWxlY3Ryb25BcHAiLCJlbGVjdHJvbiIsInByb2ZpbGVEaXIiLCJta2R0ZW1wIiwidG1wZGlyIiwiZWxlY3Ryb25BcmdzIiwiYSIsImVudiIsImhhbmRsZSIsInJtU3luYyIsImUiLCJTVVBQT1JURURfUFJPVE9DT0xTIiwiU09VUkNFX1BBVFRFUk4iLCJjaGVja0hUTUwiLCJzb3VyY2UiLCJwcm90b2NvbCIsImV4aXN0c1N5bmMiLCJmaWxlVVJMVG9QYXRoIiwiSXBjUmVhZGVyIiwiRXZlbnRFbWl0dGVyIiwiY2hpbGQiLCJyYXciLCJjIiwicnVuUHVwQXBwIiwicmVuZGVyIiwicHVwIiwib3V0RmlsZXMiLCJyZW5kZXJPcHRzIiwidDAiLCJwcm9ncmVzcyIsInRpY2siLCJwIiwia2lsbFRpbWVyIiwib25BYm9ydCIsImwiLCJtIiwic3VtbWFyeSJdLCJtYXBwaW5ncyI6IjJrRUFZTyxJQUFNQSxFQUFBQSxDQUFOLEtBQWtCLENBQ2YsUUFBQSxDQUFXLEVBQ1gsTUFBQSxDQUFTLEtBQUEsQ0FDQSxNQUFBLENBQ0EsSUFBQSxDQUNBLElBQUEsQ0FDQSxVQUFBLENBRWpCLFlBQVlDLENBQUFBLENBQWtCLENBQzVCLEtBQUssTUFBQSxDQUFTQSxDQUFBQSxDQUFLLE1BQ25CLElBQUEsQ0FBSyxJQUFBLENBQU9BLENBQUFBLENBQUssR0FBQSxDQUNqQixJQUFBLENBQUssSUFBQSxDQUFPLENBQUMsQ0FBQ0EsQ0FBQUEsQ0FBSyxJQUFJLEtBQUEsQ0FDdkIsSUFBQSxDQUFLLFdBQWFBLENBQUFBLENBQUssU0FBQSxFQUFhLE1BQ3RDLENBRUEsSUFBSSxLQUFBLEVBQWdCLENBQ2xCLE9BQU8sSUFBQSxDQUFLLE1BQ2QsQ0FFQSxNQUFBLENBQU9DLENBQUFBLENBQXVCLENBQzVCLElBQUEsQ0FBSyxRQUFBLENBQVcsSUFBQSxDQUFLLEdBQUEsQ0FBSSxJQUFBLENBQUssTUFBQSxDQUFRLEtBQUssR0FBQSxDQUFJLENBQUEsQ0FBR0EsQ0FBTyxDQUFDLENBQUEsQ0FDMUQsS0FBSyxNQUFBLEdBQ1AsQ0FFQSxhQUFBLENBQWNDLENBQUFBLENBQW1CLENBQy9CLEtBQUssTUFBQSxDQUFPLElBQUEsQ0FBSyxLQUFBLENBQU9BLENBQUFBLENBQU0sR0FBQSxDQUFPLElBQUEsQ0FBSyxNQUFNLENBQUMsRUFDbkQsQ0FFQSxLQUFBLEVBQWMsQ0FDUixJQUFBLENBQUssTUFBUSxJQUFBLENBQUssTUFBQSxFQUNwQixLQUFLLElBQUEsQ0FBSyxLQUFBLENBQU0sV0FBVyxFQUUvQixDQUVBLE1BQUEsRUFBZSxDQUNiLElBQUEsQ0FBSyxNQUFBLEdBQ1AsQ0FFQSxHQUFBLENBQUlDLENBQUFBLENBQW9CLENBQ3RCLElBQUEsQ0FBSyxLQUFBLEdBQ0wsSUFBQSxDQUFLLElBQUEsQ0FBSyxLQUFBLENBQU0sQ0FBQSxFQUFHQSxDQUFJO0FBQUEsQ0FBSSxDQUFBLENBQzNCLElBQUEsQ0FBSyxNQUFBLEdBQ1AsQ0FFQSxNQUFBLENBQU9BLENBQUFBLENBQW9CLENBQ3pCLElBQUEsQ0FBSyxPQUFNLENBQ1gsSUFBQSxDQUFLLElBQUEsQ0FBSyxLQUFBLENBQU0sR0FBR0EsQ0FBSTtBQUFBLENBQUksQ0FBQSxDQUMzQixJQUFBLENBQUssTUFBQSxDQUFTLE1BQ2hCLENBRVEsTUFBQSxFQUFlLENBSXJCLEdBSEksQ0FBQyxJQUFBLENBQUssSUFBQSxFQUdOLElBQUEsQ0FBSyxRQUFBLEdBQWEsQ0FBQSxFQUFLLENBQUMsSUFBQSxDQUFLLE1BQUEsQ0FDL0IsT0FFRixJQUFNQyxDQUFBQSxDQUFRLElBQUEsQ0FBSyxNQUFBLENBQVMsQ0FBQSxDQUFJLElBQUEsQ0FBSyxRQUFBLENBQVcsSUFBQSxDQUFLLE1BQUEsQ0FBUyxDQUFBLENBQ3hEQyxFQUFTLElBQUEsQ0FBSyxLQUFBLENBQU1ELENBQUFBLENBQVEsRUFBUyxDQUFBLENBQ3JDRSxDQUFBQSxDQUFNLEdBQUEsQ0FBSSxNQUFBLENBQU9ELENBQU0sQ0FBQSxDQUFJLEdBQUEsQ0FBSSxNQUFBLENBQU8sRUFBQSxDQUFZQSxDQUFNLENBQUEsQ0FDeERILENBQUFBLENBQU0sSUFBQSxDQUFLLEtBQUEsQ0FBTUUsQ0FBQUEsQ0FBUSxHQUFHLENBQUEsQ0FDNUJHLENBQUFBLENBQVMsSUFBQSxDQUFLLFVBQUEsQ0FBYSxDQUFBLEVBQUcsSUFBQSxDQUFLLFFBQVEsQ0FBQSxDQUFBLEVBQUksSUFBQSxDQUFLLE1BQU0sQ0FBQSxFQUFBLEVBQUtMLENBQUcsS0FBTyxDQUFBLEVBQUdBLENBQUcsQ0FBQSxDQUFBLENBQUEsQ0FDckYsSUFBQSxDQUFLLElBQUEsQ0FBSyxLQUFBLENBQU0sQ0FBQSxHQUFBLEVBQU1JLENBQUcsQ0FBQSxFQUFBLEVBQUtDLENBQU0sQ0FBQSxDQUFFLENBQUEsQ0FDdEMsSUFBQSxDQUFLLE1BQUEsQ0FBUyxLQUNoQixDQUNGLEVBR08sU0FBU0MsRUFBQUEsQ0FBVUYsQ0FBQUEsQ0FBOEIsQ0FDdEQsSUFBTUcsQ0FBQUEsQ0FDa0NDLENBQUFBLEVBQ3RDLENBQUEsR0FBSUMsQ0FBQUEsR0FBb0IsQ0FDdEJMLENBQUFBLENBQUksS0FBQSxFQUFNLENBQ1ZJLENBQUFBLENBQUcsR0FBR0MsQ0FBSSxDQUFBLENBQ1ZMLENBQUFBLENBQUksTUFBQSxHQUNOLENBQUEsQ0FDRixPQUFPLENBQ0wsS0FBQSxDQUFPRyxDQUFBQSxDQUFLLE9BQUEsQ0FBUSxLQUFLLENBQUEsQ0FDekIsSUFBQSxDQUFNQSxDQUFBQSxDQUFLLE9BQUEsQ0FBUSxJQUFJLENBQUEsQ0FDdkIsSUFBQSxDQUFNQSxDQUFBQSxDQUFLLE9BQUEsQ0FBUSxJQUFJLENBQUEsQ0FDdkIsS0FBQSxDQUFPQSxDQUFBQSxDQUFLLE9BQUEsQ0FBUSxLQUFLLENBQzNCLENBQ0YsQ0N4Rk8sU0FBU0csRUFBQUEsQ0FBUUMsQ0FBQUEsQ0FBY0MsRUFBc0JDLENBQUFBLENBQWlDLENBQzNGLEdBQUksQ0FDRixPQUFPRCxDQUFBQSxDQUFPLE9BQUEsQ0FBUSxHQUFBLENBQUlELENBQUksQ0FBQyxDQUNqQyxDQUFBLEtBQVEsQ0FDTixPQUFPRSxDQUNULENBQ0YsQ0NWTyxTQUFTQyxFQUFBQSxDQUFZQyxDQUFBQSxDQUFvQixDQUM5QyxHQUFJLE9BQU9BLENBQUFBLEVBQU0sUUFBQSxDQUNmLE9BQU9BLENBQUFBLENBRVQsSUFBTUMsQ0FBQUEsQ0FBTSxNQUFBLENBQU9ELENBQUMsQ0FBQSxDQUNwQixHQUFJLE1BQUEsQ0FBTyxLQUFBLENBQU1DLENBQUcsQ0FBQSxDQUNsQixNQUFNLElBQUksS0FBQSxDQUFNLENBQUEsTUFBQSxFQUFTRCxDQUFDLENBQUEsc0JBQUEsQ0FBd0IsQ0FBQSxDQUVwRCxPQUFPQyxDQUNULENBRU8sU0FBU0MsRUFBQUEsQ0FBWUYsQ0FBQUEsQ0FBb0IsQ0FDOUMsT0FBSSxPQUFPQSxDQUFBQSxFQUFNLFFBQUEsQ0FDUkEsQ0FBQUEsQ0FFRixNQUFBLENBQU9BLENBQUMsQ0FDakIsQ0FHTyxTQUFTRyxFQUFBQSxDQUFjQyxDQUFBQSxDQUE4QyxDQUMxRSxPQUFRSixHQUNGLE9BQU9BLENBQUFBLEVBQU0sUUFBQSxFQUFZQSxDQUFBQSxDQUFFLElBQUEsRUFBSyxHQUFNLEVBQUEsQ0FDakMsRUFBQyxDQUVIQSxDQUFBQSxDQUFFLEtBQUEsQ0FBTSxHQUFHLENBQUEsQ0FBRSxHQUFBLENBQUtLLENBQUFBLEVBQU1ELENBQUFBLENBQUtDLENBQUFBLENBQUUsSUFBQSxFQUFNLENBQUMsQ0FFakQsQ0NyQkEsSUFBTUMsRUFBQUEsQ0FBVUMsYUFBQUEsQ0FBYyxNQUFBLENBQUEsSUFBQSxDQUFZLEdBQUcsQ0FBQSxDQUVoQ0MsQ0FBQUEsQ0FBY2IsR0FBSyxlQUFBLENBQWlCSSxFQUFBQSxDQUFhLENBQUMsQ0FBQSxDQUVsRFUsRUFBQUEsQ0FBYUMsT0FBQUEsQ0FBUUosRUFBQUEsQ0FBUSxPQUFBLENBQVEsMkJBQTJCLENBQUMsQ0FBQSxDQUNqRUssRUFBQUEsQ0FBU0MsSUFBQUEsQ0FBS0gsRUFBQUEsQ0FBWSxNQUFBLENBQVEsU0FBUyxFQUM5QkcsSUFBQUEsQ0FBS0gsRUFBQUEsQ0FBWSxNQUFBLENBQVEsU0FBQSxDQUFXLGFBQWEsRUNJM0UsSUFBTUksQ0FBQUEsQ0FBUSxhQUFBLENBQ1JDLENBQUFBLENBQU8sWUFBQSxDQUNQQyxDQUFBQSxDQUFPLFlBQUEsQ0FDUEMsQ0FBQUEsQ0FBUSxhQUFBLENBQ1JDLENBQUFBLENBQVEsYUFBQSxDQUVkLFNBQVNDLENBQUFBLENBQVVDLENBQUFBLENBQTZDQyxDQUFBQSxDQUF1QyxDQUNyRyxPQUFPLFNBQUEsR0FBMkJDLENBQUFBLENBQXFCLENBQ3JELElBQU1DLENBQUFBLENBQVlELENBQUFBLENBQVMsR0FBQSxDQUFLRSxDQUFBQSxFQUN2QkEsYUFBZSxLQUFBLENBQVNBLENBQUFBLENBQUksS0FBQSxFQUFTLE1BQUEsQ0FBT0EsQ0FBRyxDQUFBLENBQUtBLENBQzVELENBQUEsQ0FDRCxPQUFPSixDQUFBQSxDQUFPLElBQUEsQ0FBSyxJQUFBLENBQU0sR0FBR0csQ0FBUyxDQUN2QyxDQUNGLENBOUJBLElBQUFFLEVBQUFBLENBQUFDLEVBQUFBLENBQUFDLEVBQUFBLENBQUFDLEVBQUFBLENBQUFDLEVBQUFBLENBQUFDLENBQUFBLENBa0VFRCxFQUFBQSxDQUFBLENBQUNWLENBQUFBLENBQUFBLENBS0RTLEVBQUFBLENBQUEsQ0FBQ1QsQ0FBQUEsQ0FBQUEsQ0FLRFEsRUFBQUEsQ0FBQSxDQUFDUixHQUtETyxFQUFBQSxDQUFBLENBQUNQLENBQUFBLENBQUFBLENBS0RNLEVBQUFBLENBQUEsQ0FBQ04sQ0FBQUEsQ0FBQUEsQ0F0REksSUFBTVksQ0FBQUEsQ0FBTixLQUFtQyxDQThCeEMsV0FBQSxDQUFvQkMsQ0FBQUEsQ0FBaUJ2QixDQUFBQSxDQUFhLENBQTlCLElBQUEsQ0FBQSxNQUFBLENBQUF1QixDQUFBQSxDQTlCZkMsQ0FBQUEsQ0FBQUgsQ0FBQUEsQ0FBQSxDQUFBLENBQUEsSUFBQSxDQUFBLENBQ0xJLEVBQUFBLENBQUEsSUFBQSxDQUFRLE9BQUEsQ0FBQSxDQThCTixJQUFBLENBQUssSUFBQSxDQUFPLFFBQ2QsQ0FGb0IsTUFBQSxDQTNCcEIsSUFBSSxLQUFBLEVBQWdCLENBQ2xCLE9BQU8sSUFBQSxDQUFLLE1BQ2QsQ0FFQSxJQUFJLEtBQUEsQ0FBTUMsQ0FBQUEsQ0FBZSxDQUN2QixJQUFBLENBQUssTUFBQSxDQUFTQSxDQUFBQSxDQUNkLElBQUEsQ0FBSyxJQUFBLENBQU8sSUFBQSxDQUFLLEtBQUEsRUFBUyxRQUM1QixDQUVBLElBQUksSUFBQSxFQUErQixDQUNqQyxPQUFPLElBQUEsQ0FBSyxLQUNkLENBRUEsSUFBSSxJQUFBLENBQUtBLENBQUFBLENBQW1CLENBQzFCLElBQU1DLENBQUFBLENBQVFELENBQUFBLENBQU0sS0FBQSxFQUFTLE9BQUEsQ0FBUSxLQUFBLENBQy9CRSxDQUFBQSxDQUFPRixFQUFNLElBQUEsRUFBUSxPQUFBLENBQVEsSUFBQSxDQUM3QkcsQ0FBQUEsQ0FBT0gsQ0FBQUEsQ0FBTSxJQUFBLEVBQVEsT0FBQSxDQUFRLElBQUEsQ0FDN0JJLENBQUFBLENBQVFKLENBQUFBLENBQU0sS0FBQSxFQUFTLE9BQUEsQ0FBUSxLQUFBLENBQy9CSyxDQUFBQSxDQUFLLElBQUEsQ0FBSyxNQUFBLENBQ2hCLElBQUEsQ0FBSyxLQUFBLENBQVEsQ0FDWCxLQUFBLENBQU9BLENBQUFBLEVBQU0sQ0FBQSxDQUFJSixDQUFBQSxDQUFRLE1BQUEsQ0FDekIsSUFBQSxDQUFNSSxDQUFBQSxFQUFNLENBQUEsQ0FBSUgsQ0FBQUEsQ0FBTyxNQUFBLENBQ3ZCLElBQUEsQ0FBTUcsQ0FBQUEsRUFBTSxDQUFBLENBQUlGLEVBQU8sTUFBQSxDQUN2QixLQUFBLENBQU9FLENBQUFBLEVBQU0sQ0FBQSxDQUFJRCxDQUFBQSxDQUFRLE1BQzNCLEVBQ0YsQ0FPQSxLQUFBLENBQUEsR0FBU2pCLENBQUFBLENBQTJCLENBQ2xDLElBQUEsQ0FBSyxJQUFBLEVBQU0sS0FBQSxHQUFRUixDQUFBQSxDQUFPLEdBQUdRLENBQVEsRUFDdkMsQ0FHQSxJQUFBLENBQUEsR0FBUUEsQ0FBQUEsQ0FBMkIsQ0FDakMsSUFBQSxDQUFLLElBQUEsRUFBTSxJQUFBLEdBQU9QLENBQUFBLENBQU0sR0FBR08sQ0FBUSxFQUNyQyxDQUdBLElBQUEsQ0FBQSxHQUFRQSxDQUFBQSxDQUEyQixDQUNqQyxJQUFBLENBQUssSUFBQSxFQUFNLElBQUEsR0FBT04sQ0FBQUEsQ0FBTSxHQUFHTSxDQUFRLEVBQ3JDLENBR0EsS0FBQSxDQUFBLEdBQVNBLENBQUFBLENBQTJCLENBQ2xDLElBQUEsQ0FBSyxJQUFBLEVBQU0sS0FBQSxHQUFRTCxDQUFBQSxDQUFPLEdBQUdLLENBQVEsRUFDdkMsQ0FHQSxLQUFBLENBQUEsR0FBU0EsQ0FBQUEsQ0FBMkIsQ0FDbEMsSUFBQSxDQUFLLElBQUEsRUFBTSxLQUFBLEdBQVFKLENBQUFBLENBQU8sR0FBR0ksQ0FBUSxDQUFBLENBQ3JDLE9BQUEsQ0FBUSxJQUFBLENBQUssQ0FBQyxFQUNoQixDQUVRLFFBQUEsQ0FBU21CLENBQUFBLENBQWlCLENBQ2hDLElBQU1qQixDQUFBQSxDQUFNaUIsQ0FBQUEsQ0FBUSxPQUFBLEVBQVEsQ0FDeEJqQixDQUFBQSxDQUFJLFVBQUEsQ0FBV1YsQ0FBSyxDQUFBLENBQ3RCLElBQUEsQ0FBSyxLQUFBLENBQU1VLENBQUFBLENBQUksTUFBTVYsQ0FBQUEsQ0FBTSxNQUFBLENBQVMsQ0FBQyxDQUFDLENBQUEsQ0FDN0JVLENBQUFBLENBQUksVUFBQSxDQUFXVCxDQUFJLENBQUEsQ0FDNUIsSUFBQSxDQUFLLElBQUEsQ0FBS1MsQ0FBQUEsQ0FBSSxLQUFBLENBQU1ULENBQUFBLENBQUssTUFBQSxDQUFTLENBQUMsQ0FBQyxDQUFBLENBQzNCUyxDQUFBQSxDQUFJLFVBQUEsQ0FBV1IsQ0FBSSxDQUFBLENBQzVCLElBQUEsQ0FBSyxJQUFBLENBQUtRLENBQUFBLENBQUksS0FBQSxDQUFNUixDQUFBQSxDQUFLLE1BQUEsQ0FBUyxDQUFDLENBQUMsQ0FBQSxDQUMzQlEsQ0FBQUEsQ0FBSSxVQUFBLENBQVdQLENBQUssQ0FBQSxDQUM3QixJQUFBLENBQUssS0FBQSxDQUFNTyxDQUFBQSxDQUFJLEtBQUEsQ0FBTVAsQ0FBQUEsQ0FBTSxNQUFBLENBQVMsQ0FBQyxDQUFDLENBQUEsQ0FFdEMsSUFBQSxDQUFLLElBQUEsQ0FBS08sQ0FBRyxFQUVqQixDQUVBLE9BQU9rQixDQUFBQSxDQUFvQjdDLENBQUFBLENBQWMsQ0FDdkMsT0FBTyxJQUFJLE9BQUEsQ0FBYyxDQUFDOEMsQ0FBQUEsQ0FBU0MsQ0FBQUEsR0FBVyxDQUM1QyxJQUFBLENBQUssS0FBQSxDQUFNLENBQUEsRUFBRy9DLENBQUksQ0FBQSxPQUFBLENBQVMsQ0FBQSxDQUMzQixJQUFJZ0QsQ0FBQUEsQ0FBZ0IsRUFBQSxDQUNkQyxDQUFBQSxDQUFZQyxDQUFBQSxFQUFpQixDQUNqQyxJQUFNTixDQUFBQSxDQUFVTSxDQUFBQSxDQUFLLFFBQUEsRUFBUyxDQUMxQk4sQ0FBQUEsQ0FBUSxVQUFBLENBQVd2QixDQUFLLENBQUEsQ0FDMUIyQixDQUFBQSxFQUFTSixFQUFRLEtBQUEsQ0FBTXZCLENBQUFBLENBQU0sTUFBQSxDQUFTLENBQUMsQ0FBQSxDQUV2QyxJQUFBLENBQUssUUFBQSxDQUFTdUIsQ0FBTyxFQUV6QixDQUFBLENBQ0FDLENBQUFBLENBQUssTUFBQSxFQUFRLEVBQUEsQ0FBRyxNQUFBLENBQVFJLENBQVEsQ0FBQSxDQUNoQ0osQ0FBQUEsQ0FBSyxNQUFBLEVBQVEsRUFBQSxDQUFHLE1BQUEsQ0FBUUksQ0FBUSxDQUFBLENBQ2hDSixDQUFBQSxDQUNHLEVBQUEsQ0FBRyxPQUFBLENBQVVNLENBQUFBLEVBQVEsQ0FDcEJILENBQUFBLEVBQVNHLENBQUFBLENBQUksT0FBQSxDQUNiTixDQUFBQSxDQUFLLElBQUEsR0FDUCxDQUFDLENBQUEsQ0FDQSxJQUFBLENBQUssT0FBQSxDQUFTLENBQUNPLENBQUFBLENBQU1DLENBQUFBLEdBQVcsQ0FDM0JELENBQUFBLEVBQVFDLENBQUFBLEVBQVVMLENBQUFBLEVBQ3BCQSxDQUFBQSxHQUFVLENBQUEsZ0JBQUEsRUFBbUJILENBQUFBLENBQUssU0FBQSxDQUFVLElBQUEsQ0FBSyxHQUFHLENBQUMsQ0FBQSxDQUFBLENBQ3JELElBQUEsQ0FBSyxLQUFBLENBQU0sQ0FBQSxFQUFHN0MsQ0FBSSxDQUFBLE1BQUEsQ0FBQSxDQUFVLENBQUUsSUFBQSxDQUFBb0QsQ0FBQUEsQ0FBTSxNQUFBLENBQUFDLENBQUFBLENBQVEsS0FBQSxDQUFBTCxDQUFNLENBQUMsRUFDbkRELENBQUFBLENBQU8sSUFBSSxLQUFBLENBQU1DLENBQUssQ0FBQyxDQUFBLEdBRXZCLElBQUEsQ0FBSyxLQUFBLENBQU0sQ0FBQSxFQUFHaEQsQ0FBSSxDQUFBLE1BQUEsQ0FBUSxDQUFBLENBQzFCOEMsQ0FBQUEsRUFBUSxFQUVaLENBQUMsQ0FBQSxDQUNBLEVBQUEsQ0FBRyxvQkFBQSxDQUF1QlEsQ0FBQUEsRUFBVyxDQUNwQyxJQUFBLENBQUssS0FBQSxDQUFNLENBQUEsRUFBR3RELENBQUksQ0FBQSxVQUFBLENBQUEsQ0FBY3NELENBQU0sRUFDeEMsQ0FBQyxDQUFBLENBQ0EsRUFBQSxDQUFHLDBCQUFBLENBQTZCSCxDQUFBQSxFQUFRLENBQ3ZDLElBQUEsQ0FBSyxLQUFBLENBQU0sQ0FBQSxFQUFHbkQsQ0FBSSxDQUFBLFVBQUEsQ0FBQSxDQUFjbUQsQ0FBRyxFQUNyQyxDQUFDLEVBQ0wsQ0FBQyxDQUNILENBQ0YsRUFoSE9sQixDQUFBQSxDQUFBc0IsQ0FBQUEsQ0FBQSxDQUFBLENBbUNMQyxDQUFBQSxDQUFBdkIsQ0FBQUEsQ0FBQSxDQUFBLENBQUEsT0FBQSxDQURBRCxFQUFBQSxDQWxDV0UsQ0FBQUEsQ0FBQUEsQ0F3Q1hzQixDQUFBQSxDQUFBdkIsQ0FBQUEsQ0FBQSxDQUFBLENBQUEsTUFBQSxDQURBRixFQUFBQSxDQXZDV0csQ0FBQUEsQ0FBQUEsQ0E2Q1hzQixDQUFBQSxDQUFBdkIsQ0FBQUEsQ0FBQSxDQUFBLENBQUEsTUFBQSxDQURBSCxFQUFBQSxDQTVDV0ksQ0FBQUEsQ0FBQUEsQ0FrRFhzQixDQUFBQSxDQUFBdkIsRUFBQSxDQUFBLENBQUEsT0FBQSxDQURBSixFQUFBQSxDQWpEV0ssQ0FBQUEsQ0FBQUEsQ0F1RFhzQixDQUFBQSxDQUFBdkIsQ0FBQUEsQ0FBQSxDQUFBLENBQUEsT0FBQSxDQURBTCxFQUFBQSxDQXREV00sQ0FBQUEsQ0FBQUEsQ0FBTnVCLENBQUFBLENBQUF4QixDQUFBQSxDQUFNQyxDQUFBQSxDQUFBQSxDQWtIYixJQUFNd0IsQ0FBQUEsQ0FBUyxJQUFJeEIsRUFHbkJ5QixHQUFBQSxDQUFJLFdBQUEsQ0FBWSxDQUFDQyxDQUFBQSxDQUFPaEIsQ0FBQUEsR0FBWSxDQUNsQyxJQUFNakIsQ0FBQUEsQ0FBTWlCLENBQUFBLENBQVEsT0FBQSxFQUFRLENBQ3ZCakIsQ0FBQUEsR0FHRGlDLENBQUFBLEVBQVNDLFlBQUFBLENBQ1hILENBQUFBLENBQU8sS0FBQSxDQUFNL0IsQ0FBRyxFQUNQaUMsQ0FBQUEsRUFBU0UsY0FBQUEsRUFDbEJKLENBQUFBLENBQU8sSUFBQSxDQUFLL0IsQ0FBRyxDQUFBLEVBRW5CLENBQUMsQ0FBQSxDQzdKTSxTQUFTb0MsRUFBQUEsQ0FBaUNsRSxDQUFBQSxDQUF1QkssQ0FBQUEsQ0FBd0MsQ0FDOUcsT0FBTyxDQUFBLEdBQUlKLENBQUFBLEdBQVMsQ0FDbEIsR0FBSSxDQUNGLElBQU1rRSxDQUFBQSxDQUFNbkUsQ0FBQUEsQ0FBRyxHQUFHQyxDQUFJLENBQUEsQ0FDdEIsT0FBSWtFLENBQUFBLFlBQWUsT0FBQSxDQUNWQSxDQUFBQSxDQUFJLEtBQUEsQ0FBTSxJQUFNOUQsQ0FBWSxDQUFBLENBRTlCOEQsQ0FDVCxDQUFBLEtBQVEsQ0FDTixPQUFPOUQsQ0FDVCxDQUNGLENBQ0YsQ0NWTyxJQUFNK0QsRUFBQUEsQ0FBZ0IsSUFBQSxDQUNoQkMsRUFBQUEsQ0FBaUIsSUFBQSxDQUNqQkMsRUFBQUEsQ0FBYyxFQUFBLENBQ2RDLEVBQUFBLENBQW1CLENBQUEsQ0FDbkJDLEVBQUFBLENBQXlCLEVBQUEsQ0FDekJDLEVBQUFBLENBQW9CLENBQUMsY0FBQSxDQUFnQixlQUFlLENBQUEsQ0FFcERDLEVBQUFBLENBQWVDLENBQUFBLENBQUUsTUFBQSxDQUFPLENBQ25DLFFBQUEsQ0FBVUEsQ0FBQUEsQ0FBRSxRQUFPLENBQUUsUUFBQSxDQUFTLHFCQUFxQixDQUFBLENBQ25ELEtBQUEsQ0FBT0EsQ0FBQUEsQ0FBRSxNQUFBLEVBQU8sQ0FBRSxRQUFBLENBQVMsYUFBYSxDQUFBLENBQ3hDLE1BQUEsQ0FBUUEsQ0FBQUEsQ0FBRSxNQUFBLEVBQU8sQ0FBRSxRQUFBLENBQVMsY0FBYyxDQUFBLENBQzFDLEdBQUEsQ0FBS0EsQ0FBQUEsQ0FBRSxNQUFBLEVBQU8sQ0FBRSxRQUFBLENBQVMsbUJBQW1CLENBQUEsQ0FDNUMsU0FBQSxDQUFXQSxDQUFBQSxDQUFFLE9BQUEsRUFBUSxDQUFFLFFBQUEsQ0FBUywwQkFBMEIsQ0FBQSxDQUMxRCxTQUFVQSxDQUFBQSxDQUFFLEtBQUEsQ0FBTUEsQ0FBQUEsQ0FBRSxNQUFBLEVBQVEsQ0FBQSxDQUFFLFFBQUEsQ0FBUyxzREFBc0QsQ0FBQSxDQUM3RixhQUFBLENBQWVBLENBQUFBLENBQUUsT0FBQSxFQUFRLENBQUUsUUFBQSxDQUFTLDhDQUE4QyxDQUFBLENBQ2xGLGFBQUEsQ0FBZUEsQ0FBQUEsQ0FBRSxPQUFBLEVBQVEsQ0FBRSxRQUFBLENBQVMsdUNBQXVDLENBQUEsQ0FDM0UsVUFBQSxDQUFZQSxDQUFBQSxDQUFFLE9BQUEsRUFBUSxDQUFFLFFBQUEsQ0FBUyxzRUFBc0UsQ0FBQSxDQUN2RyxjQUFBLENBQWdCQSxDQUFBQSxDQUFFLFNBQVEsQ0FBRSxRQUFBLENBQVMsd0VBQXdFLENBQUEsQ0FDN0csa0JBQUEsQ0FBb0JBLENBQUFBLENBQUUsT0FBQSxFQUFRLENBQUUsUUFBQSxDQUFTLDREQUE0RCxDQUFBLENBQ3JHLHVCQUFBLENBQXlCQSxDQUFBQSxDQUN0QixPQUFBLEVBQVEsQ0FDUixRQUFBLENBQVMsd0VBQXdFLENBQUEsQ0FDcEYsY0FBQSxDQUFnQkEsQ0FBQUEsQ0FBRSxPQUFBLEVBQVEsQ0FBRSxRQUFBLENBQVMsaURBQWlELENBQUEsQ0FDdEYsYUFBQSxDQUFlQSxDQUFBQSxDQUFFLE1BQUEsRUFBTyxDQUFFLFFBQUEsQ0FBUyxnQ0FBZ0MsQ0FBQSxDQUNuRSxZQUFhQSxDQUFBQSxDQUFFLEtBQUEsQ0FBTUEsQ0FBQUEsQ0FBRSxNQUFBLEVBQVEsQ0FBQSxDQUFFLFFBQUEsQ0FBUywyQ0FBMkMsQ0FDdkYsQ0FBQyxDQUFBLENBd0JZQyxFQUFBQSxDQUFzQyxDQUNqRCxLQUFBLENBQU9SLEVBQUFBLENBQ1AsTUFBQSxDQUFRQyxFQUFBQSxDQUNSLEdBQUEsQ0FBS0MsRUFBQUEsQ0FDTCxRQUFBLENBQVVDLEVBQUFBLENBQ1YsUUFBQSxDQUFVRSxFQUFBQSxDQUNWLFNBQUEsQ0FBVyxLQUFBLENBQ1gsYUFBQSxDQUFlLEtBQUEsQ0FDZixhQUFBLENBQWUsS0FBQSxDQUNmLFVBQUEsQ0FBWSxLQUFBLENBQ1osY0FBQSxDQUFnQixNQUNoQixrQkFBQSxDQUFvQixLQUFBLENBQ3BCLHVCQUFBLENBQXlCLEtBQUEsQ0FDekIsY0FBQSxDQUFnQixLQUFBLENBQ2hCLGFBQUEsQ0FBZUQsRUFBQUEsQ0FDZixXQUFBLENBQWEsRUFDZixFQ25FTyxJQUFNSyxDQUFBQSxDQUFOLEtBQWMsQ0FDbkIsV0FBQSxDQUFxQkMsQ0FBQUEsQ0FBb0IsQ0FBcEIsSUFBQSxDQUFBLFNBQUEsQ0FBQUEsRUFBcUIsQ0FBckIsU0FBQSxDQUVyQixJQUFJLEtBQUEsRUFBVyxDQUNiLE9BQUssSUFBQSxDQUFLLFlBQUEsR0FDUixJQUFBLENBQUssTUFBQSxDQUFTLElBQUEsQ0FBSyxXQUFVLENBQzdCLElBQUEsQ0FBSyxZQUFBLENBQWUsSUFBQSxDQUFBLENBRWYsSUFBQSxDQUFLLE1BQ2QsQ0FFQSxJQUFJLFdBQUEsRUFBdUIsQ0FDekIsT0FBTyxJQUFBLENBQUssWUFDZCxDQUVRLFlBQUEsQ0FBZSxLQUFBLENBQ2YsTUFDVixFQ2JBLElBQU1DLEVBQUFBLENBQU0sV0FBQSxDQUdDQyxFQUFBQSxDQUFhLElBQUlILENBQUFBLENBQUssSUFBTSxDQUN2QyxJQUFBSSxDQUFBQSxDQUFBLEVBQUEsQ0FBQSxHQUFBLENBQUEsSUFBTUMsQ0FBQUEsQ0FBS0MsRUFBQUEsQ0FBQUYsQ0FBQUEsQ0FBQUcsZUFBQUEsQ0FBZ0IsSUFBQSxFQUFLLENBQUEsQ0FDaEMsSUFBTUMsQ0FBQUEsQ0FBU0gsQ0FBQUEsR0FBTyxJQUFBLENBQ3RCckIsQ0FBQUEsQ0FBTyxLQUFBLENBQU1rQixFQUFBQSxDQUFLLE9BQVFNLENBQU0sQ0FBQSxDQUNoQyxPQUFPQSxDQUFBQSxDQUFBQSxNQUhQQyxDQUFBQSxDQUFBLENBQUEsSUFBQUMsQ0FBQUEsQ0FBQUQsQ0FBQUEsQ0FBQUUsQ0FBQUEsQ0FBQSxLQUFBLENBQUEsT0FBQSxDQUFBQyxFQUFBQSxDQUFBUixDQUFBQSxDQUFBTSxDQUFBQSxDQUFBQyxDQUFBQSxFQUFBQSxDQUlGLENBQUMsQ0FBQSxDQ0ZELGVBQXNCRSxFQUFBQSxDQUFnQixDQUFFLFVBQUEsQ0FBQUMsQ0FBQUEsQ0FBWSxrQkFBQSxDQUFBQyxDQUFBQSxDQUFvQix1QkFBQSxDQUFBQyxDQUF3QixDQUFBLENBQW9CLENBQ2xILElBQU12RyxDQUFBQSxDQUFPLENBRVgsWUFBQSxDQUNBLHVCQUFBLENBRUEsOENBQ0EsWUFBQSxDQUNBLDBDQUFBLENBQ0Esb0JBQUEsQ0FDQSx5QkFBQSxDQUNBLG1CQUFBLENBRUEsNkJBQUEsQ0FDQSwwQkFBQSxDQUNBLHNCQUFBLENBQ0EsY0FBQSxDQUNBLG9CQUFBLENBQ0EsNEJBQUEsQ0FDQSx1Q0FBQSxDQUNBLHVDQUFBLENBQ0EsNEJBQUEsQ0FDQSw0QkFBQSxDQUNBLHlCQUFBLENBQ0EsZ0NBQUEsQ0FDQSxnQ0FBQSxDQUVBLDBCQUFBLENBRUEsK0JBQUEsQ0FDQSxtQ0FBQSxDQUNBLDBCQUFBLENBQ0Esc0JBQUEsQ0FDQSxxQ0FBQSxDQUNBLGdDQUFBLENBQ0Esd0NBQUEsQ0FFQSx1QkFDRixDQUFBLENBR0lzRyxDQUFBQSxFQUNGdEcsQ0FBQUEsQ0FBSyxJQUFBLENBQUssc0JBQXNCLEVBRTlCdUcsQ0FBQUEsRUFDRnZHLENBQUFBLENBQUssSUFBQSxDQUFLLDJCQUEyQixDQUFBLENBR25DeUIsQ0FBQUEsRUFBZSxDQUFBLENBQ2pCekIsQ0FBQUEsQ0FBSyxJQUFBLENBQUssYUFBQSxDQUFlLEtBQUssQ0FBQSxDQUU5QkEsQ0FBQUEsQ0FBSyxJQUFBLENBQUssYUFBYSxDQUFBLENBR3pCLElBQU13RyxDQUFBQSxDQUFXLENBQUMsa0JBQWtCLENBQUEsQ0FHcEMsR0FBSSxFQURjLENBQUNILENBQUFBLEVBQWNYLEVBQUFBLENBQVcsS0FBQSxDQUFBLENBRTFDMUYsQ0FBQUEsQ0FBSyxJQUFBLENBQUssdUJBQUEsQ0FBeUIsMkJBQTJCLENBQUEsQ0FBQSxLQUN6RCxDQUNMQSxDQUFBQSxDQUFLLElBQUEsQ0FBSyxxQkFBQSxDQUF1QixzQkFBc0IsQ0FBQSxDQUN2RCxJQUFNeUcsQ0FBQUEsQ0FBT0MsUUFBQUEsRUFBUyxDQUNsQkQsQ0FBQUEsR0FBUyxRQUFBLENBQ1h6RyxDQUFBQSxDQUFLLElBQUEsQ0FBSyxpQkFBaUIsQ0FBQSxDQUNsQnlHLENBQUFBLEdBQVMsT0FBQSxDQUNsQnpHLENBQUFBLENBQUssSUFBQSxDQUFLLGlCQUFpQixDQUFBLEVBRTNCQSxDQUFBQSxDQUFLLElBQUEsQ0FBSyxrQkFBQSxDQUFvQix3QkFBd0IsQ0FBQSxDQUN0RHdHLENBQUFBLENBQVMsSUFBQSxDQUFLLFFBQVEsQ0FBQSxFQUUxQixDQUVBLE9BQUF4RyxFQUFLLElBQUEsQ0FBSyxDQUFBLGdCQUFBLEVBQW1Cd0csQ0FBQUEsQ0FBUyxJQUFBLENBQUssR0FBRyxDQUFDLENBQUEsQ0FBRSxDQUFBLENBQzFDeEcsQ0FDVCxDQ2hGTyxJQUFNMkcsQ0FBQUEsQ0FBZSxpQkFBQSxDQUVyQixTQUFTQyxFQUFBQSxFQUFRLENBQ3RCLElBQU1DLENBQUFBLENBQU8sT0FBQSxDQUFRLElBQUEsQ0FDakJDLENBQUFBLENBQU9ELENBQUFBLENBQUssSUFBQSxDQUFNRSxDQUFBQSxFQUFRQSxDQUFBQSxDQUFJLFdBQVdKLENBQVksQ0FBQyxDQUFBLENBQzFELEdBQUksQ0FBQ0csQ0FBQUEsQ0FDSCxPQUFBdkMsQ0FBQUEsQ0FBTyxLQUFBLENBQU0sVUFBQSxDQUFZc0MsQ0FBSSxDQUFBLENBQ3RCLE9BQUEsQ0FBUSxJQUFBLENBRWpCLElBQU1sRyxDQUFBQSxDQUFPLENBQUMsTUFBQSxDQUFRLEdBQUdrRyxDQUFBQSxDQUFLLEtBQUEsQ0FBTSxFQUFFLENBQUMsQ0FBQSxDQUN2QyxPQUFBQyxDQUFBQSxDQUFPLE1BQUEsQ0FBTyxJQUFBLENBQUtBLENBQUFBLENBQUssS0FBQSxDQUFNLEdBQUcsQ0FBQSxDQUFFLENBQUMsQ0FBQSxDQUFJLFFBQVEsQ0FBQSxDQUFFLFFBQUEsRUFBUyxDQUMzRG5HLENBQUFBLENBQUssSUFBQSxDQUFLLEdBQUcsSUFBQSxDQUFLLEtBQUEsQ0FBTW1HLENBQUksQ0FBQyxDQUFBLENBQzdCdkMsQ0FBQUEsQ0FBTyxLQUFBLENBQU0sU0FBQSxDQUFXNUQsQ0FBSSxDQUFBLENBQ3JCQSxDQUNULENBU08sU0FBU3FHLEVBQUFBLENBQUtDLENBQUFBLENBQWFDLENBQUFBLENBQXVDLENBQ3ZFLElBQU1DLENBQUFBLENBQVFGLENBQUFBLENBQUksS0FBQSxDQUFNLEdBQUcsQ0FBQSxDQUFFLE1BQUEsQ0FBUTNGLEdBQU1BLENBQUFBLENBQUUsTUFBTSxDQUFBLENBQzdDLENBQUM4RixDQUFBQSxDQUFTLEdBQUd6RyxDQUFJLENBQUEsQ0FBSXdHLENBQUFBLENBQzNCLEdBQUksQ0FBQ0MsQ0FBQUEsQ0FDSCxNQUFNLElBQUksS0FBQSxDQUFNLGVBQWUsRUFFakMsSUFBTTFELENBQUFBLENBQU8yRCxLQUFBQSxDQUFNRCxDQUFBQSxDQUFTekcsQ0FBQUEsQ0FBTSxDQUNoQyxLQUFBLENBQU8sU0FBQSxDQUNQLEdBQUd1RyxDQUNMLENBQUMsQ0FBQSxDQUNHSSxDQUFBQSxDQUFTLEtBQUEsQ0FDYixPQUFPLENBQ0wsUUFBUzVELENBQUFBLENBQ1QsSUFBQSxDQUFNYSxDQUFBQSxDQUFPLE1BQUEsQ0FBT2IsQ0FBQUEsQ0FBTTBELENBQU8sQ0FBQSxDQUNqQyxJQUFJLE1BQUEsRUFBUyxDQUNYLE9BQU9FLENBQ1QsQ0FBQSxDQUNBLElBQUEsRUFBTyxDQUNMLEdBQUlBLENBQUFBLENBQ0YsT0FFRkEsQ0FBQUEsQ0FBUyxJQUFBLENBQ1QsSUFBTUMsQ0FBQUEsQ0FBTTdELENBQUFBLENBQUssR0FBQSxDQUNiNkQsQ0FBQUEsQ0FDRkMsRUFBQUEsQ0FBU0QsQ0FBQUEsQ0FBSyxTQUFTLENBQUEsQ0FFdkI3RCxDQUFBQSxDQUFLLElBQUEsQ0FBSyxTQUFTLEVBRXZCLENBQ0YsQ0FDRixDQ2hEQSxlQUFzQitELEVBQUFBLENBQWE5RyxDQUFBQSxDQUFpQixDQU1sRCxPQUFPLENBQUMsR0FMTSxNQUFNeUYsRUFBQUEsQ0FBZ0IsQ0FDbEMsVUFBQSxDQUFZekYsQ0FBQUEsQ0FBSyxRQUFBLENBQVMsZUFBZSxDQUFBLENBQ3pDLGtCQUFBLENBQW9CQSxDQUFBQSxDQUFLLFFBQUEsQ0FBUyx3QkFBd0IsQ0FBQSxDQUMxRCx1QkFBQSxDQUF5QkEsQ0FBQUEsQ0FBSyxRQUFBLENBQVMsNkJBQTZCLENBQ3RFLENBQUMsQ0FBQSxDQUNpQixjQUFjLENBQ2xDLENBRUEsSUFBTThFLEVBQUFBLENBQU0sWUFBQSxDQU1aLGVBQXNCaUMsRUFBQUEsQ0FBZSxDQUFFLElBQUEsQ0FBQS9HLENBQUssQ0FBQSxDQUEwQixDQUVwRSxHQUFNLENBQUUsT0FBQSxDQUFTZ0gsQ0FBUyxDQUFBLENBQUksTUFBTSxPQUFPLFVBQVUsQ0FBQSxDQUMvQzNILENBQUFBLENBQU8sTUFBTXlILEVBQUFBLENBQWE5RyxDQUFJLENBQUEsQ0FFOUJpSCxDQUFBQSxDQUFhLE1BQU1DLE9BQUFBLENBQVFoRyxJQUFBQSxDQUFLaUcsTUFBQUEsRUFBTyxDQUFHLGNBQWMsQ0FBQyxFQUN6REMsQ0FBQUEsQ0FBZS9ILENBQUFBLENBQUssR0FBQSxDQUFLZ0ksQ0FBQUEsRUFBTSxDQUFBLEVBQUEsRUFBS0EsQ0FBQyxDQUFBLENBQUUsQ0FBQSxDQUM3Q0QsQ0FBQUEsQ0FBYSxJQUFBLENBQUssQ0FBQSxnQkFBQSxFQUFtQkgsQ0FBVSxDQUFBLENBQUUsQ0FBQSxDQUNqREcsQ0FBQUEsQ0FBYSxJQUFBLENBQUssQ0FBQSxFQUFHcEIsQ0FBWSxDQUFBLENBQUEsRUFBSSxNQUFBLENBQU8sSUFBQSxDQUFLLElBQUEsQ0FBSyxTQUFBLENBQVVoRyxDQUFJLENBQUMsQ0FBQSxDQUFFLFFBQUEsQ0FBUyxRQUFRLENBQUMsQ0FBQSxDQUFFLENBQUEsQ0FDM0YsSUFBTXNHLEVBQU0sQ0FBQ1UsQ0FBQUEsQ0FBVSxHQUFHSSxDQUFBQSxDQUFjbkcsRUFBTSxDQUFBLENBQUUsSUFBQSxDQUFLLEdBQUcsQ0FBQSxDQUN4RDJDLENBQUFBLENBQU8sS0FBQSxDQUFNa0IsRUFBQUEsQ0FBS3dCLENBQUcsQ0FBQSxDQUVyQixJQUFNZ0IsQ0FBQUEsQ0FBeUIsQ0FBRSxHQUFHLE9BQUEsQ0FBUSxHQUFBLENBQUssY0FBQSxDQUFnQixNQUFPLENBQUEsQ0FDbEVDLENBQUFBLENBQVNsQixFQUFBQSxDQUFLQyxDQUFBQSxDQUFLLENBQUUsS0FBQSxDQUFPLENBQUMsUUFBQSxDQUFVLE1BQUEsQ0FBUSxNQUFBLENBQVEsS0FBSyxDQUFBLENBQUcsR0FBQSxDQUFBZ0IsQ0FBSSxDQUFDLENBQUEsQ0FDMUUsT0FBQUMsQ0FBQUEsQ0FBTyxPQUFBLENBQVEsSUFBQSxDQUFLLE1BQUEsQ0FBUSxJQUFNLENBQ2hDLEdBQUksQ0FDRkMsTUFBQUEsQ0FBT1AsQ0FBQUEsQ0FBWSxDQUFFLFNBQUEsQ0FBVyxDQUFBLENBQUEsQ0FBTSxLQUFBLENBQU8sQ0FBQSxDQUFLLENBQUMsRUFDckQsQ0FBQSxNQUFTUSxDQUFBQSxDQUFHLENBQ1Y3RCxDQUFBQSxDQUFPLElBQUEsQ0FBS2tCLEVBQUFBLENBQUsseUJBQUEsQ0FBMkIyQyxDQUFDLEVBQy9DLENBQ0YsQ0FBQyxDQUFBLENBQ01GLENBQ1QsQ0MzQ0EsSUFBTUcsQ0FBQUEsQ0FBc0IsQ0FBQyxPQUFBLENBQVMsT0FBQSxDQUFTLFFBQUEsQ0FBVSxPQUFPLENBQUEsQ0FDMURDLEVBQUFBLENBQWlCLHdCQUFBLENBRWhCLFNBQVNDLEVBQUFBLENBQVVDLENBQUFBLENBQXNCLENBQzlDLEdBQUksQ0FBQ0YsRUFBQUEsQ0FBZSxJQUFBLENBQUtFLENBQU0sQ0FBQSxDQUFHLENBQ2hDLElBQU1DLENBQUFBLENBQVcsQ0FBQSxFQUFHRCxDQUFBQSxDQUFPLEtBQUEsQ0FBTSxHQUFHLENBQUEsQ0FBRSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUEsQ0FDbEMvRSxDQUFBQSxDQUFVNEUsQ0FBQUEsQ0FBb0IsUUFBQSxDQUFTSSxDQUFRLENBQUEsQ0FDakQsQ0FBQSxzQkFBQSxFQUF5QkEsQ0FBUSxDQUFBLFdBQUEsRUFBY0osQ0FBQUEsQ0FBb0IsSUFBQSxDQUFLLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FDN0UsQ0FBQSxnQ0FBQSxFQUFtQ0EsQ0FBQUEsQ0FBb0IsSUFBQSxDQUFLLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FDckUsTUFBTSxJQUFJLEtBQUEsQ0FBTTVFLENBQU8sQ0FDekIsQ0FHQSxHQUFJK0UsQ0FBQUEsQ0FBTyxVQUFBLENBQVcsT0FBTyxDQUFBLEVBQUssQ0FBQ0UsVUFBQUEsQ0FBV0MsYUFBQUEsQ0FBY0gsQ0FBTSxDQUFDLENBQUEsQ0FDakUsTUFBTSxJQUFJLEtBQUEsQ0FBTSxDQUFBLHVCQUFBLEVBQTBCQSxDQUFNLENBQUEsQ0FBRSxDQUV0RCxDQ2lFTyxJQUFNSSxDQUFBQSxDQUFOLGNBQXdCQyxZQUF3QixDQUNyRCxXQUFBLENBQVlDLENBQUFBLENBQXFCLENBQy9CLE9BQU0sQ0FDTkEsQ0FBQUEsQ0FBTSxFQUFBLENBQUcsU0FBQSxDQUFZQyxDQUFBQSxFQUFRLENBQzNCLElBQU12RyxDQUFBQSxDQUFNdUcsQ0FBQUEsQ0FDWixPQUFRdkcsQ0FBQUEsQ0FBSSxJQUFBLEVBQ1YsS0FBSyxTQUFBLENBQW9CLENBQ3ZCLElBQUEsQ0FBSyxJQUFBLENBQUssU0FBQSxDQUFXQSxDQUFBQSxDQUFJLEtBQUEsQ0FBT0EsQ0FBQUEsQ0FBSSxPQUFPLENBQUEsQ0FDM0MsS0FDRixDQUNBLEtBQUssVUFBQSxDQUFxQixDQUN4QixJQUFBLENBQUssSUFBQSxDQUFLLFVBQUEsQ0FBWUEsRUFBSSxLQUFLLENBQUEsQ0FDL0IsS0FDRixDQUNBLEtBQUssTUFBQSxDQUFpQixDQUNwQixJQUFBLENBQUssSUFBQSxDQUFLLE1BQUEsQ0FBUUEsQ0FBQUEsQ0FBSSxPQUFPLENBQUEsQ0FDN0IsS0FDRixDQUNBLEtBQUssT0FBQSxDQUFrQixDQUNyQixJQUFBLENBQUssSUFBQSxDQUFLLE9BQUEsQ0FBUyxJQUFJLEtBQUEsQ0FBTUEsQ0FBQUEsQ0FBSSxLQUFLLENBQUMsQ0FBQSxDQUN2QyxLQUNGLENBQ0YsQ0FDRixDQUFDLENBQUEsQ0FDRHNHLEVBQU0sSUFBQSxDQUFLLE1BQUEsQ0FBU0UsQ0FBQUEsRUFBTSxJQUFBLENBQUssSUFBQSxDQUFLLE9BQUEsQ0FBU0EsQ0FBQyxDQUFDLEVBQ2pELENBQ0YsQ0FBQSxDQ2xHQSxJQUFNdkQsQ0FBQUEsQ0FBTSxPQUFBLENBVVosZUFBZXdELEVBQUFBLENBQVVULENBQUFBLENBQWdCVSxDQUFBQSxDQUF1QixDQUM5RDNFLENBQUFBLENBQU8sS0FBQSxDQUFNa0IsQ0FBQUEsQ0FBSyxXQUFBLENBQWErQyxDQUFBQSxDQUFRVSxDQUFNLENBQUEsQ0FFN0MsSUFBTXZJLENBQUFBLENBQWlCLENBQ3JCNkgsQ0FBQUEsQ0FDQSxTQUFBLENBQ0EsQ0FBQSxFQUFHVSxFQUFPLEtBQUssQ0FBQSxDQUFBLENBQ2YsVUFBQSxDQUNBLENBQUEsRUFBR0EsQ0FBQUEsQ0FBTyxNQUFNLENBQUEsQ0FBQSxDQUNoQixPQUFBLENBQ0EsQ0FBQSxFQUFHQSxDQUFBQSxDQUFPLEdBQUcsQ0FBQSxDQUFBLENBQ2IsWUFBQSxDQUNBLENBQUEsRUFBR0EsQ0FBQUEsQ0FBTyxRQUFRLENBQUEsQ0FBQSxDQUNsQixrQkFBQSxDQUNBLENBQUEsRUFBR0EsQ0FBQUEsQ0FBTyxhQUFhLENBQUEsQ0FBQSxDQUN2QixZQUFBLENBQ0FBLENBQUFBLENBQU8sUUFBQSxDQUFTLElBQUEsQ0FBSyxHQUFHLENBQzFCLENBQUEsQ0FDQSxPQUFJQSxDQUFBQSxDQUFPLFNBQUEsRUFDVHZJLEVBQUssSUFBQSxDQUFLLGNBQWMsQ0FBQSxDQUV0QnVJLENBQUFBLENBQU8sYUFBQSxFQUNUdkksQ0FBQUEsQ0FBSyxJQUFBLENBQUssbUJBQW1CLENBQUEsQ0FFM0J1SSxDQUFBQSxDQUFPLGFBQUEsRUFDVHZJLENBQUFBLENBQUssSUFBQSxDQUFLLGlCQUFpQixDQUFBLENBRXpCdUksQ0FBQUEsQ0FBTyxVQUFBLEVBQ1R2SSxDQUFBQSxDQUFLLElBQUEsQ0FBSyxlQUFlLENBQUEsQ0FFdkJ1SSxDQUFBQSxDQUFPLGNBQUEsRUFDVHZJLENBQUFBLENBQUssSUFBQSxDQUFLLG9CQUFvQixDQUFBLENBRTVCdUksQ0FBQUEsQ0FBTyxrQkFBQSxFQUNUdkksQ0FBQUEsQ0FBSyxJQUFBLENBQUssd0JBQXdCLEVBRWhDdUksQ0FBQUEsQ0FBTyx1QkFBQSxFQUNUdkksQ0FBQUEsQ0FBSyxJQUFBLENBQUssNkJBQTZCLENBQUEsQ0FFckN1SSxDQUFBQSxDQUFPLGNBQUEsRUFDVHZJLENBQUFBLENBQUssSUFBQSxDQUFLLG1CQUFtQixDQUFBLENBRTNCdUksQ0FBQUEsQ0FBTyxXQUFBLENBQVksTUFBQSxDQUFTLENBQUEsRUFDOUJ2SSxDQUFBQSxDQUFLLElBQUEsQ0FBSyxlQUFBLENBQWlCdUksQ0FBQUEsQ0FBTyxXQUFBLENBQVksSUFBQSxDQUFLLEdBQUcsQ0FBQyxDQUFBLENBR2xEeEIsRUFBQUEsQ0FBZSxDQUFFLElBQUEsQ0FBQS9HLENBQUssQ0FBQyxDQUNoQyxDQUVBLElBQU0sQ0FBQSxDQUFJMkUsRUFBQUEsQ0FFVixlQUFzQjZELEVBQUFBLENBQUlYLENBQUFBLENBQWdCdEIsQ0FBQUEsQ0FBa0QsQ0FDMUYzQyxDQUFBQSxDQUFPLEtBQUEsQ0FBTWtCLENBQUFBLENBQUssS0FBQSxDQUFPK0MsQ0FBQUEsQ0FBUXRCLENBQU8sQ0FBQSxDQUV4QyxHQUFNLENBQUUsT0FBQWhELENBQU8sQ0FBQSxDQUFJZ0QsQ0FBQUEsQ0FDbkJoRCxDQUFBQSxFQUFRLGNBQUEsRUFBZSxDQUN2QnFFLEVBQUFBLENBQVVDLENBQU0sQ0FBQSxDQUVoQixJQUFNWSxDQUFBQSxDQUFXbEMsQ0FBQUEsQ0FBUSxRQUFBLEVBQVksQ0FBQSxDQUFFLFFBQUEsQ0FDakNtQyxDQUFBQSxDQUE0QixDQUNoQyxLQUFBLENBQU9uQyxDQUFBQSxDQUFRLEtBQUEsRUFBUyxDQUFBLENBQUUsS0FBQSxDQUMxQixNQUFBLENBQVFBLENBQUFBLENBQVEsTUFBQSxFQUFVLENBQUEsQ0FBRSxNQUFBLENBQzVCLEdBQUEsQ0FBS0EsQ0FBQUEsQ0FBUSxHQUFBLEVBQU8sQ0FBQSxDQUFFLEdBQUEsQ0FDdEIsUUFBQSxDQUFVQSxDQUFBQSxDQUFRLFFBQUEsRUFBWSxDQUFBLENBQUUsUUFBQSxDQUNoQyxTQUFBLENBQVdBLENBQUFBLENBQVEsU0FBQSxFQUFhLENBQUEsQ0FBRSxTQUFBLENBQ2xDLGFBQUEsQ0FBZUEsQ0FBQUEsQ0FBUSxhQUFBLEVBQWlCLENBQUEsQ0FBRSxhQUFBLENBQzFDLGFBQUEsQ0FBZUEsQ0FBQUEsQ0FBUSxlQUFpQixDQUFBLENBQUUsYUFBQSxDQUMxQyxVQUFBLENBQVlBLENBQUFBLENBQVEsVUFBQSxFQUFjLENBQUEsQ0FBRSxVQUFBLENBQ3BDLGNBQUEsQ0FBZ0JBLENBQUFBLENBQVEsY0FBQSxFQUFrQixDQUFBLENBQUUsY0FBQSxDQUM1QyxrQkFBQSxDQUFvQkEsQ0FBQUEsQ0FBUSxrQkFBQSxFQUFzQixDQUFBLENBQUUsa0JBQUEsQ0FDcEQsdUJBQUEsQ0FBeUJBLENBQUFBLENBQVEsdUJBQUEsRUFBMkIsQ0FBQSxDQUFFLHVCQUFBLENBQzlELGNBQUEsQ0FBZ0JBLENBQUFBLENBQVEsY0FBQSxFQUFrQixDQUFBLENBQUUsY0FBQSxDQUM1QyxhQUFBLENBQWVBLENBQUFBLENBQVEsYUFBQSxFQUFpQixDQUFBLENBQUUsYUFBQSxDQUMxQyxZQUFhQSxDQUFBQSxDQUFRLFdBQUEsRUFBZSxDQUFBLENBQUUsV0FBQSxDQUN0QyxRQUFBLENBQUFrQyxDQUNGLENBQUEsQ0FFTUUsQ0FBQUEsQ0FBSyxXQUFBLENBQVksR0FBQSxFQUFJLENBQ3ZCQyxDQUFBQSxDQUFXLENBQUEsQ0FDVEMsQ0FBQUEsQ0FBUUMsQ0FBQUEsRUFBYyxDQUMxQkYsQ0FBQUEsQ0FBV0UsQ0FBQUEsQ0FDWHZDLENBQUFBLENBQVEsVUFBQSxHQUFhdUMsQ0FBQyxFQUN4QixDQUFBLENBRU12QixDQUFBQSxDQUFTLE1BQU1lLEVBQUFBLENBQVVULENBQUFBLENBQVFhLENBQVUsQ0FBQSxDQUU3Q0ssQ0FBQUEsQ0FDRUMsQ0FBQUEsQ0FBVSxJQUFNLENBQ3BCekIsQ0FBQUEsQ0FBTyxPQUFBLENBQVEsSUFBQSxHQUFPLENBQUUsSUFBQSxDQUFBLFFBQUEsQ0FBeUIsTUFBQSxDQUFRLE1BQUEsQ0FBT2hFLENBQUFBLEVBQVEsTUFBQSxFQUFVLE9BQU8sQ0FBRSxDQUFDLENBQUEsQ0FDNUZ3RixDQUFBQSxDQUFZLFVBQUEsQ0FBVyxJQUFNeEIsQ0FBQUEsQ0FBTyxJQUFBLEVBQUssQ0FBRyxHQUFLLEVBQ25ELENBQUEsQ0FDQWhFLENBQUFBLEVBQVEsZ0JBQUEsQ0FBaUIsT0FBQSxDQUFTeUYsQ0FBQUEsQ0FBUyxDQUFFLElBQUEsQ0FBTSxJQUFLLENBQUMsQ0FBQSxDQUV6RCxHQUFJLENBQ0YsSUFBTTVELENBQUFBLENBQVMsSUFBSSxPQUFBLENBQXdCLENBQUNwQyxDQUFBQSxDQUFTQyxDQUFBQSxHQUFXLENBQzlELElBQUlnRixDQUFBQSxDQUFVVixDQUFBQSxDQUFPLE9BQU8sQ0FBQSxDQUN6QixFQUFBLENBQUcsT0FBQSxDQUFVakUsQ0FBQUEsRUFBUyxDQUNyQixJQUFNekIsQ0FBQUEsQ0FBTSxJQUFBLENBQUssU0FBQSxDQUFVLENBQUUsTUFBQSxDQUFBZ0csQ0FBQUEsQ0FBUSxRQUFBLENBQUFlLENBQUFBLENBQVUsSUFBQSxDQUFBdEYsQ0FBQUEsQ0FBTSxNQUFBLENBQVFpRSxDQUFBQSxDQUFPLE1BQU8sQ0FBQyxFQUM1RXRFLENBQUFBLENBQU8sSUFBSSxLQUFBLENBQU0sQ0FBQSxTQUFBLEVBQVlwQixDQUFHLENBQUEsQ0FBRSxDQUFDLEVBQ3JDLENBQUMsQ0FBQSxDQUNBLEVBQUEsQ0FBRyxVQUFBLENBQVlnSCxDQUFJLENBQUEsQ0FDbkIsRUFBQSxDQUFHLFNBQUEsQ0FBVyxDQUFDSSxDQUFBQSxDQUFHQyxDQUFBQSxHQUFNM0MsQ0FBQUEsQ0FBUSxTQUFBLEdBQVkwQyxDQUFBQSxDQUFHQyxDQUFDLENBQUMsQ0FBQSxDQUNqRCxFQUFBLENBQUcsTUFBQSxDQUFRbEcsQ0FBTyxDQUFBLENBQ2xCLEVBQUEsQ0FBRyxPQUFBLENBQVNDLENBQU0sRUFDdkIsQ0FBQyxDQUFBLENBQ0Q0RixDQUFBQSxDQUFLLENBQUMsQ0FBQSxDQUNOLEdBQU0sQ0FBQ00sQ0FBTyxDQUFBLENBQUksTUFBTSxPQUFBLENBQVEsR0FBQSxDQUFJLENBQUMvRCxDQUFBQSxDQUFRbUMsQ0FBQUEsQ0FBTyxJQUFJLENBQUMsQ0FBQSxDQUN6RCxPQUFBc0IsQ0FBQUEsQ0FBSyxHQUFHLENBQUEsQ0FDUmpGLENBQUFBLENBQU8sS0FBQSxDQUFNa0IsQ0FBQUEsQ0FBSyxDQUFBLEtBQUEsRUFBUTJELENBQUFBLENBQVMsSUFBQSxDQUFLLEdBQUcsQ0FBQyxDQUFBLElBQUEsRUFBTyxJQUFBLENBQUssTUFBTSxXQUFBLENBQVksR0FBQSxFQUFJLENBQUlFLENBQUUsQ0FBQyxDQUFBLEVBQUEsQ0FBSSxDQUFBLENBQ2xGLENBQUUsR0FBR1EsQ0FBQUEsQ0FBUyxPQUFBLENBQVNULENBQVcsQ0FDM0MsQ0FBQSxNQUFTakIsQ0FBQUEsQ0FBRyxDQUNWLE1BQUFGLENBQUFBLENBQU8sSUFBQSxFQUFLLENBQ1poRSxDQUFBQSxFQUFRLGNBQUEsRUFBZSxDQUNqQmtFLENBQ1IsQ0FBQSxPQUFFLENBQ0EsWUFBQSxDQUFhc0IsQ0FBUyxDQUFBLENBQ3RCeEYsQ0FBQUEsRUFBUSxtQkFBQSxDQUFvQixPQUFBLENBQVN5RixDQUFPLEVBQzlDLENBQ0YiLCJmaWxlIjoiY2h1bmstS0dBVzRJWDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzA1LzI2LlxuXG5pbXBvcnQgdHlwZSB7IExvZ2dlckxpa2UgfSBmcm9tIFwiLi9sb2dnaW5nXCI7XG5cbmNvbnN0IEJBUl9XSURUSCA9IDQwO1xuXG5pbnRlcmZhY2UgQmFyT3B0aW9ucyB7XG4gIHRvdGFsOiBudW1iZXI7XG4gIG91dDogTm9kZUpTLldyaXRlU3RyZWFtO1xuICBzaG93Q291bnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXIge1xuICBwcml2YXRlIF93cml0dGVuID0gMDtcbiAgcHJpdmF0ZSBfc2hvd24gPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG90YWw6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3V0OiBOb2RlSlMuV3JpdGVTdHJlYW07XG4gIHByaXZhdGUgcmVhZG9ubHkgX3R0eTogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvd0NvdW50OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdHM6IEJhck9wdGlvbnMpIHtcbiAgICB0aGlzLl90b3RhbCA9IG9wdHMudG90YWw7XG4gICAgdGhpcy5fb3V0ID0gb3B0cy5vdXQ7XG4gICAgdGhpcy5fdHR5ID0gISFvcHRzLm91dC5pc1RUWTtcbiAgICB0aGlzLl9zaG93Q291bnQgPSBvcHRzLnNob3dDb3VudCA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCB0b3RhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3RhbDtcbiAgfVxuXG4gIHVwZGF0ZSh3cml0dGVuOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0dGVuID0gTWF0aC5taW4odGhpcy5fdG90YWwsIE1hdGgubWF4KDAsIHdyaXR0ZW4pKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgdXBkYXRlUGVyY2VudChwY3Q6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlKE1hdGgucm91bmQoKHBjdCAvIDEwMCkgKiB0aGlzLl90b3RhbCkpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3R0eSAmJiB0aGlzLl9zaG93bikge1xuICAgICAgdGhpcy5fb3V0LndyaXRlKFwiXFxyXFx4MWJbMktcIik7XG4gICAgfVxuICB9XG5cbiAgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBsb2cobGluZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhcigpO1xuICAgIHRoaXMuX291dC53cml0ZShgJHtsaW5lfVxcbmApO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBmaW5pc2gobGluZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhcigpO1xuICAgIHRoaXMuX291dC53cml0ZShgJHtsaW5lfVxcbmApO1xuICAgIHRoaXMuX3Nob3duID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3R0eSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fd3JpdHRlbiA9PT0gMCAmJiAhdGhpcy5fc2hvd24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmF0aW8gPSB0aGlzLl90b3RhbCA+IDAgPyB0aGlzLl93cml0dGVuIC8gdGhpcy5fdG90YWwgOiAwO1xuICAgIGNvbnN0IGZpbGxlZCA9IE1hdGgucm91bmQocmF0aW8gKiBCQVJfV0lEVEgpO1xuICAgIGNvbnN0IGJhciA9IFwiI1wiLnJlcGVhdChmaWxsZWQpICsgXCItXCIucmVwZWF0KEJBUl9XSURUSCAtIGZpbGxlZCk7XG4gICAgY29uc3QgcGN0ID0gTWF0aC5yb3VuZChyYXRpbyAqIDEwMCk7XG4gICAgY29uc3Qgc3VmZml4ID0gdGhpcy5fc2hvd0NvdW50ID8gYCR7dGhpcy5fd3JpdHRlbn0vJHt0aGlzLl90b3RhbH0gKCR7cGN0fSUpYCA6IGAke3BjdH0lYDtcbiAgICB0aGlzLl9vdXQud3JpdGUoYFxcclske2Jhcn1dICR7c3VmZml4fWApO1xuICAgIHRoaXMuX3Nob3duID0gdHJ1ZTtcbiAgfVxufVxuXG4vLyBBcm91bmQgZWFjaCBjb25zb2xlLiogY2FsbCwgY2xlYXIgdGhlIGJhciBsaW5lIHRoZW4gcmVkcmF3IOKAlCBrZWVwcyBuYXRpdmUgY29uc29sZSBjb2xvcmluZyBpbnRhY3QuXG5leHBvcnQgZnVuY3Rpb24gYmFyTG9nZ2VyKGJhcjogUHJvZ3Jlc3NCYXIpOiBMb2dnZXJMaWtlIHtcbiAgY29uc3Qgd3JhcCA9XG4gICAgPFQgZXh0ZW5kcyAoLi4uYTogdW5rbm93bltdKSA9PiB2b2lkPihmbjogVCkgPT5cbiAgICAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgICBiYXIuY2xlYXIoKTtcbiAgICAgIGZuKC4uLmFyZ3MpO1xuICAgICAgYmFyLnJlZHJhdygpO1xuICAgIH07XG4gIHJldHVybiB7XG4gICAgZGVidWc6IHdyYXAoY29uc29sZS5kZWJ1ZyksXG4gICAgaW5mbzogd3JhcChjb25zb2xlLmluZm8pLFxuICAgIHdhcm46IHdyYXAoY29uc29sZS53YXJuKSxcbiAgICBlcnJvcjogd3JhcChjb25zb2xlLmVycm9yKSxcbiAgfTtcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMjUuXG5cbmV4cG9ydCB0eXBlIEVudlBhcnNlcjxUPiA9ICh2YWx1ZTogdW5rbm93bikgPT4gVDtcblxuZXhwb3J0IGZ1bmN0aW9uIHBlbnY8VD4obmFtZTogc3RyaW5nLCBwYXJzZXI6IEVudlBhcnNlcjxUPiwgZGVmYXVsdFZhbHVlOiBUKTogVDtcbmV4cG9ydCBmdW5jdGlvbiBwZW52PFQ+KG5hbWU6IHN0cmluZywgcGFyc2VyOiBFbnZQYXJzZXI8VD4sIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHwgdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIHBlbnY8VD4obmFtZTogc3RyaW5nLCBwYXJzZXI6IEVudlBhcnNlcjxUPiwgZGVmYXVsdFZhbHVlPzogVCk6IFQgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZXIocHJvY2Vzcy5lbnZbbmFtZV0pO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAxLzMwLlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VOdW1iZXIoeDogdW5rbm93bik6IG51bWJlciB7XG4gIGlmICh0eXBlb2YgeCA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiB4O1xuICB9XG4gIGNvbnN0IG51bSA9IE51bWJlcih4KTtcbiAgaWYgKE51bWJlci5pc05hTihudW0pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBWYWx1ZSAke3h9IGlzIG5vdCBhIHZhbGlkIG51bWJlcmApO1xuICB9XG4gIHJldHVybiBudW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVN0cmluZyh4OiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiB4ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHg7XG4gIH1cbiAgcmV0dXJuIFN0cmluZyh4KTtcbn1cblxuLy8gQ29tbWEtc2VwYXJhdGVkIHN0cmluZyDihpIgYXJyYXkgdmlhIGEgcGVyLWl0ZW0gcGFyc2VyOyBlbXB0eS9ibGFuayDihpIgW10uXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJheTxUPihpdGVtOiAoeDogdW5rbm93bikgPT4gVCk6ICh4OiB1bmtub3duKSA9PiBUW10ge1xuICByZXR1cm4gKHgpID0+IHtcbiAgICBpZiAodHlwZW9mIHggIT09IFwic3RyaW5nXCIgfHwgeC50cmltKCkgPT09IFwiXCIpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHguc3BsaXQoXCIsXCIpLm1hcCgocykgPT4gaXRlbShzLnRyaW0oKSkpO1xuICB9O1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8wOS5cblxuaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IHBlbnYgfSBmcm9tIFwiLi9lbnZcIjtcbmltcG9ydCB7IHBhcnNlTnVtYmVyIH0gZnJvbSBcIi4vcGFyc2VyXCI7XG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbmV4cG9ydCBjb25zdCBwdXBMb2dMZXZlbCA9IHBlbnYoXCJQVVBfTE9HX0xFVkVMXCIsIHBhcnNlTnVtYmVyLCAyKTtcblxuZXhwb3J0IGNvbnN0IHB1cFBrZ1Jvb3QgPSBkaXJuYW1lKHJlcXVpcmUucmVzb2x2ZShcInB1cC1yZWNvcmRlci9wYWNrYWdlLmpzb25cIikpO1xuZXhwb3J0IGNvbnN0IHB1cEFwcCA9IGpvaW4ocHVwUGtnUm9vdCwgXCJkaXN0XCIsIFwiYXBwLmNqc1wiKTtcbmV4cG9ydCBjb25zdCBwdXBQcmVsb2FkID0gam9pbihwdXBQa2dSb290LCBcImRpc3RcIiwgXCJydW50aW1lXCIsIFwicHJlbG9hZC5janNcIik7XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA2LlxuXG5pbXBvcnQgdHlwZSB7IENoaWxkUHJvY2VzcyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCB7IExvZyB9IGZyb20gXCJub2RlLWF2XCI7XG5pbXBvcnQgeyBBVl9MT0dfRVJST1IsIEFWX0xPR19XQVJOSU5HIH0gZnJvbSBcIm5vZGUtYXYvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBwdXBMb2dMZXZlbCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlckxpa2Uge1xuICBkZWJ1Zz8odGhpczogdm9pZCwgLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQ7XG5cbiAgaW5mbz8odGhpczogdm9pZCwgLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQ7XG5cbiAgd2Fybj8odGhpczogdm9pZCwgLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQ7XG5cbiAgZXJyb3I/KHRoaXM6IHZvaWQsIC4uLm1lc3NhZ2VzOiB1bmtub3duW10pOiB2b2lkO1xufVxuXG5jb25zdCBERUJVRyA9IFwiPHB1cEBkZWJ1Zz5cIjtcbmNvbnN0IElORk8gPSBcIjxwdXBAaW5mbz5cIjtcbmNvbnN0IFdBUk4gPSBcIjxwdXBAd2Fybj5cIjtcbmNvbnN0IEVSUk9SID0gXCI8cHVwQGVycm9yPlwiO1xuY29uc3QgRkFUQUwgPSBcIjxwdXBAZmF0YWw+XCI7XG5cbmZ1bmN0aW9uIHN0YWNrSG9vayh0YXJnZXQ6ICguLi5tZXNzYWdlczogdW5rbm93bltdKSA9PiB1bmtub3duLCBfY29udGV4dDogQ2xhc3NNZXRob2REZWNvcmF0b3JDb250ZXh0KSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGhpczogTG9nZ2VyLCAuLi5tZXNzYWdlczogdW5rbm93bltdKSB7XG4gICAgY29uc3QgcHJvY2Vzc2VkID0gbWVzc2FnZXMubWFwKChtc2cpID0+IHtcbiAgICAgIHJldHVybiBtc2cgaW5zdGFuY2VvZiBFcnJvciA/IChtc2cuc3RhY2sgPz8gU3RyaW5nKG1zZykpIDogbXNnO1xuICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQuY2FsbCh0aGlzLCAuLi5wcm9jZXNzZWQpO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgTG9nZ2VyIGltcGxlbWVudHMgTG9nZ2VyTGlrZSB7XG4gIHByaXZhdGUgX2ltcGw/OiBMb2dnZXJMaWtlO1xuXG4gIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sZXZlbDtcbiAgfVxuXG4gIHNldCBsZXZlbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGV2ZWwgPSB2YWx1ZTtcbiAgICB0aGlzLmltcGwgPSB0aGlzLl9pbXBsID8/IGNvbnNvbGU7XG4gIH1cblxuICBnZXQgaW1wbCgpOiBMb2dnZXJMaWtlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faW1wbDtcbiAgfVxuXG4gIHNldCBpbXBsKHZhbHVlOiBMb2dnZXJMaWtlKSB7XG4gICAgY29uc3QgZGVidWcgPSB2YWx1ZS5kZWJ1ZyA/PyBjb25zb2xlLmRlYnVnO1xuICAgIGNvbnN0IGluZm8gPSB2YWx1ZS5pbmZvID8/IGNvbnNvbGUuaW5mbztcbiAgICBjb25zdCB3YXJuID0gdmFsdWUud2FybiA/PyBjb25zb2xlLndhcm47XG4gICAgY29uc3QgZXJyb3IgPSB2YWx1ZS5lcnJvciA/PyBjb25zb2xlLmVycm9yO1xuICAgIGNvbnN0IGx2ID0gdGhpcy5fbGV2ZWw7XG4gICAgdGhpcy5faW1wbCA9IHtcbiAgICAgIGRlYnVnOiBsdiA+PSAzID8gZGVidWcgOiB1bmRlZmluZWQsXG4gICAgICBpbmZvOiBsdiA+PSAyID8gaW5mbyA6IHVuZGVmaW5lZCxcbiAgICAgIHdhcm46IGx2ID49IDEgPyB3YXJuIDogdW5kZWZpbmVkLFxuICAgICAgZXJyb3I6IGx2ID49IDAgPyBlcnJvciA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbGV2ZWw6IG51bWJlciA9IHB1cExvZ0xldmVsKSB7XG4gICAgdGhpcy5pbXBsID0gY29uc29sZTtcbiAgfVxuXG4gIEBzdGFja0hvb2tcbiAgZGVidWcoLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuaW1wbD8uZGVidWc/LihERUJVRywgLi4ubWVzc2FnZXMpO1xuICB9XG5cbiAgQHN0YWNrSG9va1xuICBpbmZvKC4uLm1lc3NhZ2VzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICB0aGlzLmltcGw/LmluZm8/LihJTkZPLCAuLi5tZXNzYWdlcyk7XG4gIH1cblxuICBAc3RhY2tIb29rXG4gIHdhcm4oLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuaW1wbD8ud2Fybj8uKFdBUk4sIC4uLm1lc3NhZ2VzKTtcbiAgfVxuXG4gIEBzdGFja0hvb2tcbiAgZXJyb3IoLi4ubWVzc2FnZXM6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuaW1wbD8uZXJyb3I/LihFUlJPUiwgLi4ubWVzc2FnZXMpO1xuICB9XG5cbiAgQHN0YWNrSG9va1xuICBmYXRhbCguLi5tZXNzYWdlczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5pbXBsPy5lcnJvcj8uKEZBVEFMLCAuLi5tZXNzYWdlcyk7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtc2cgPSBtZXNzYWdlLnRyaW1FbmQoKTtcbiAgICBpZiAobXNnLnN0YXJ0c1dpdGgoREVCVUcpKSB7XG4gICAgICB0aGlzLmRlYnVnKG1zZy5zbGljZShERUJVRy5sZW5ndGggKyAxKSk7XG4gICAgfSBlbHNlIGlmIChtc2cuc3RhcnRzV2l0aChJTkZPKSkge1xuICAgICAgdGhpcy5pbmZvKG1zZy5zbGljZShJTkZPLmxlbmd0aCArIDEpKTtcbiAgICB9IGVsc2UgaWYgKG1zZy5zdGFydHNXaXRoKFdBUk4pKSB7XG4gICAgICB0aGlzLndhcm4obXNnLnNsaWNlKFdBUk4ubGVuZ3RoICsgMSkpO1xuICAgIH0gZWxzZSBpZiAobXNnLnN0YXJ0c1dpdGgoRVJST1IpKSB7XG4gICAgICB0aGlzLmVycm9yKG1zZy5zbGljZShFUlJPUi5sZW5ndGggKyAxKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5mbyhtc2cpO1xuICAgIH1cbiAgfVxuXG4gIGF0dGFjaChwcm9jOiBDaGlsZFByb2Nlc3MsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmRlYnVnKGAke25hbWV9LmF0dGFjaGApO1xuICAgICAgbGV0IGZhdGFsOiBzdHJpbmcgPSBcIlwiO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChtZXNzYWdlLnN0YXJ0c1dpdGgoRkFUQUwpKSB7XG4gICAgICAgICAgZmF0YWwgKz0gbWVzc2FnZS5zbGljZShGQVRBTC5sZW5ndGggKyAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcHJvYy5zdGRlcnI/Lm9uKFwiZGF0YVwiLCBkaXNwYXRjaCk7XG4gICAgICBwcm9jLnN0ZG91dD8ub24oXCJkYXRhXCIsIGRpc3BhdGNoKTtcbiAgICAgIHByb2NcbiAgICAgICAgLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgICAgIGZhdGFsICs9IGVyci5tZXNzYWdlO1xuICAgICAgICAgIHByb2Mua2lsbCgpO1xuICAgICAgICB9KVxuICAgICAgICAub25jZShcImNsb3NlXCIsIChjb2RlLCBzaWduYWwpID0+IHtcbiAgICAgICAgICBpZiAoY29kZSB8fCBzaWduYWwgfHwgZmF0YWwpIHtcbiAgICAgICAgICAgIGZhdGFsIHx8PSBgY29tbWFuZCBmYWlsZWQ6ICR7cHJvYy5zcGF3bmFyZ3Muam9pbihcIiBcIil9YDtcbiAgICAgICAgICAgIHRoaXMuZGVidWcoYCR7bmFtZX0uY2xvc2VgLCB7IGNvZGUsIHNpZ25hbCwgZmF0YWwgfSk7XG4gICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGZhdGFsKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVidWcoYCR7bmFtZX0uY2xvc2VgKTtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5vbihcInVuaGFuZGxlZFJlamVjdGlvblwiLCAocmVhc29uKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvcihgJHtuYW1lfS51bmhhbmRsZWRgLCByZWFzb24pO1xuICAgICAgICB9KVxuICAgICAgICAub24oXCJ1bmNhdWdodEV4Y2VwdGlvbk1vbml0b3JcIiwgKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3IoYCR7bmFtZX0udW5oYW5kbGVkYCwgZXJyKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigpO1xuXG4vLyBSb3V0ZSBmZm1wZWcgbmF0aXZlIGxvZ3MgdGhyb3VnaCBwdXAncyBsb2dnZXIuXG5Mb2cuc2V0Q2FsbGJhY2soKGxldmVsLCBtZXNzYWdlKSA9PiB7XG4gIGNvbnN0IG1zZyA9IG1lc3NhZ2UudHJpbUVuZCgpO1xuICBpZiAoIW1zZykge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAobGV2ZWwgPD0gQVZfTE9HX0VSUk9SKSB7XG4gICAgbG9nZ2VyLmVycm9yKG1zZyk7XG4gIH0gZWxzZSBpZiAobGV2ZWwgPD0gQVZfTE9HX1dBUk5JTkcpIHtcbiAgICBsb2dnZXIud2Fybihtc2cpO1xuICB9XG59KTtcblxuZXhwb3J0IHsgbG9nZ2VyIH07XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzI0LlxuXG5leHBvcnQgZnVuY3Rpb24gbm9lcnI8QSBleHRlbmRzIHVua25vd25bXSwgUiwgRD4oZm46ICguLi5hcmdzOiBBKSA9PiBSLCBkZWZhdWx0VmFsdWU6IEQpOiAoLi4uYXJnczogQSkgPT4gUiB8IEQge1xuICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmV0ID0gZm4oLi4uYXJncyk7XG4gICAgICBpZiAocmV0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICByZXR1cm4gcmV0LmNhdGNoKCgpID0+IGRlZmF1bHRWYWx1ZSkgYXMgUiB8IEQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA2LlxuXG5pbXBvcnQgeiBmcm9tIFwiem9kXCI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1dJRFRIID0gMTkyMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0hFSUdIVCA9IDEwODA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9GUFMgPSAzMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RVUkFUSU9OID0gNTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1dJTkRPV19USU1FT1VUID0gMTA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRfRklMRVMgPSBbXCJvdXQvaHRtbC5tcDRcIiwgXCJvdXQvaHRtbC53ZWJtXCJdO1xuXG5leHBvcnQgY29uc3QgcmVuZGVyU2NoZW1hID0gei5vYmplY3Qoe1xuICBkdXJhdGlvbjogei5udW1iZXIoKS5kZXNjcmliZShcIkR1cmF0aW9uIGluIHNlY29uZHNcIiksXG4gIHdpZHRoOiB6Lm51bWJlcigpLmRlc2NyaWJlKFwiVmlkZW8gd2lkdGhcIiksXG4gIGhlaWdodDogei5udW1iZXIoKS5kZXNjcmliZShcIlZpZGVvIGhlaWdodFwiKSxcbiAgZnBzOiB6Lm51bWJlcigpLmRlc2NyaWJlKFwiRnJhbWVzIHBlciBzZWNvbmRcIiksXG4gIHdpdGhBdWRpbzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJDYXB0dXJlIGFuZCBlbmNvZGUgYXVkaW9cIiksXG4gIG91dEZpbGVzOiB6LmFycmF5KHouc3RyaW5nKCkpLmRlc2NyaWJlKFwiT3V0cHV0IHBhdGhzOyBleHRlbnNpb24gKC5tcDQvLndlYm0pIHNlbGVjdHMgZW5jb2RlclwiKSxcbiAgdXNlSW5uZXJQcm94eTogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJVc2UgYmlsaWJpbGkgaW5uZXIgcHJveHkgZm9yIHJlc291cmNlIGFjY2Vzc1wiKSxcbiAgZGV0ZXJtaW5pc3RpYzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJSZW5kZXIgYnkgZnJhbWUgcmF0aGVyIHRoYW4gcmVjb3JkaW5nXCIpLFxuICBkaXNhYmxlR3B1OiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIkRpc2FibGUgR1BVIHJlbmRlcmluZywgbWF5IHJlZHVjZSBwZXJmb3JtYW5jZSBidXQgaW5jcmVhc2Ugc3RhYmlsaXR5XCIpLFxuICBkaXNhYmxlSHdDb2RlYzogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJEaXNhYmxlIGhhcmR3YXJlIHZpZGVvIGVuY29kZXIgKE5WRU5DL1ZpZGVvVG9vbGJveCksIHVzZSBzb2Z0d2FyZSB4MjY1XCIpLFxuICBkaXNhYmxlV2ViU2VjdXJpdHk6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiRHJvcCB0aGUgc2FtZS1vcmlnaW4gd2FsbDsgcmVxdWlyZWQgdG8gcmVjb3JkIGEgbG9jYWwgZmlsZVwiKSxcbiAgaWdub3JlQ2VydGlmaWNhdGVFcnJvcnM6IHpcbiAgICAuYm9vbGVhbigpXG4gICAgLmRlc2NyaWJlKFwiUmVjb3JkIG92ZXIgVExTIHRoZSBwbGF0Zm9ybSByZWplY3RzLCBlLmcuIGEgc2VsZi1zaWduZWQgaW50cmFuZXQgaG9zdFwiKSxcbiAgd2luZG93VG9sZXJhbnQ6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiRmFsbCBiYWNrIHRvIGRvbS1yZWFkeSBpZiB3YXJtdXAgbG9hZCB0aW1lcyBvdXRcIiksXG4gIHdpbmRvd1RpbWVvdXQ6IHoubnVtYmVyKCkuZGVzY3JpYmUoXCJXaW5kb3cgbG9hZCB0aW1lb3V0IGluIHNlY29uZHNcIiksXG4gIHNjcmVlbnNob3RzOiB6LmFycmF5KHoubnVtYmVyKCkpLmRlc2NyaWJlKFwiU2Vjb25kIG1hcmtzIHRvIGR1bXAgZnJhbWUgYml0bWFwcyBhcyBQTkdcIiksXG59KTtcblxuZXhwb3J0IHR5cGUgUmVuZGVyT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIHJlbmRlclNjaGVtYT47XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVDYWxsYmFjayA9IChsZXZlbDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIFByb2dyZXNzQ2FsbGJhY2sgPSAocHJvZ3Jlc3M6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBJUENSZW5kZXJPcHRpb25zIGV4dGVuZHMgUmVuZGVyT3B0aW9ucyB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBzaWduYWw6IEFib3J0U2lnbmFsO1xuICBvblByb2dyZXNzOiBQcm9ncmVzc0NhbGxiYWNrO1xuICBvbkNvbnNvbGU6IENvbnNvbGVDYWxsYmFjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJSZXN1bHQge1xuICBvcHRpb25zOiBSZW5kZXJPcHRpb25zO1xuICB3cml0dGVuOiBudW1iZXI7XG4gIG91dEZpbGVzOiBzdHJpbmdbXTtcbiAgYmxhbms6IG51bWJlcjtcbiAgamFuazogbnVtYmVyO1xuICBzY3JlZW5zaG90czogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVuZGVyT3B0aW9uczogUmVuZGVyT3B0aW9ucyA9IHtcbiAgd2lkdGg6IERFRkFVTFRfV0lEVEgsXG4gIGhlaWdodDogREVGQVVMVF9IRUlHSFQsXG4gIGZwczogREVGQVVMVF9GUFMsXG4gIGR1cmF0aW9uOiBERUZBVUxUX0RVUkFUSU9OLFxuICBvdXRGaWxlczogREVGQVVMVF9PVVRfRklMRVMsXG4gIHdpdGhBdWRpbzogZmFsc2UsXG4gIHVzZUlubmVyUHJveHk6IGZhbHNlLFxuICBkZXRlcm1pbmlzdGljOiBmYWxzZSxcbiAgZGlzYWJsZUdwdTogZmFsc2UsXG4gIGRpc2FibGVId0NvZGVjOiBmYWxzZSxcbiAgZGlzYWJsZVdlYlNlY3VyaXR5OiBmYWxzZSxcbiAgaWdub3JlQ2VydGlmaWNhdGVFcnJvcnM6IGZhbHNlLFxuICB3aW5kb3dUb2xlcmFudDogZmFsc2UsXG4gIHdpbmRvd1RpbWVvdXQ6IERFRkFVTFRfV0lORE9XX1RJTUVPVVQsXG4gIHNjcmVlbnNob3RzOiBbXSxcbn07XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAxLzMwLlxuXG5leHBvcnQgY2xhc3MgTGF6eTxUPiB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG1ha2VWYWx1ZTogKCkgPT4gVCkge31cblxuICBnZXQgdmFsdWUoKTogVCB7XG4gICAgaWYgKCF0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLm1ha2VWYWx1ZSgpO1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdmFsdWUhO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3ZhbHVlOiBUIHwgdW5kZWZpbmVkO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNy5cblxuaW1wb3J0IHsgSGFyZHdhcmVDb250ZXh0IH0gZnJvbSBcIm5vZGUtYXYvYXBpXCI7XG5pbXBvcnQgeyBMYXp5IH0gZnJvbSBcIi4vbGF6eVwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuXG5jb25zdCBUQUcgPSBcIltIV0FjY2VsXVwiO1xuXG4vLyBMYXp5OiBlYWdlciBhdXRvKCkgZGxvcGVucyBsaWJjdWRhIGF0IGltcG9ydCwgd2hvc2UgaW5pdCB0aHJlYWQgY2FuIFNFR1YgR1BVLWxlc3MgcG9kcyAoMjAyNi0wNy0yNCBleGl0LTEzMiBzdG9ybSkuXG5leHBvcnQgY29uc3QgY2FuSVVzZUdQVSA9IG5ldyBMYXp5KCgpID0+IHtcbiAgdXNpbmcgaHcgPSBIYXJkd2FyZUNvbnRleHQuYXV0bygpO1xuICBjb25zdCByZXN1bHQgPSBodyAhPT0gbnVsbDtcbiAgbG9nZ2VyLmRlYnVnKFRBRywgXCJncHU6XCIsIHJlc3VsdCk7XG4gIHJldHVybiByZXN1bHQ7XG59KTtcbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDQvMDMuXG5cbmltcG9ydCB7IHBsYXRmb3JtIH0gZnJvbSBcIm5vZGU6b3NcIjtcbmltcG9ydCB7IHB1cExvZ0xldmVsIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBjYW5JVXNlR1BVIH0gZnJvbSBcIi4vaHdhY2NlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocm9taXVtT3B0aW9ucyB7XG4gIGRpc2FibGVHcHU6IGJvb2xlYW47XG4gIGRpc2FibGVXZWJTZWN1cml0eTogYm9vbGVhbjtcbiAgaWdub3JlQ2VydGlmaWNhdGVFcnJvcnM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaHJvbWl1bU9wdGlvbnMoeyBkaXNhYmxlR3B1LCBkaXNhYmxlV2ViU2VjdXJpdHksIGlnbm9yZUNlcnRpZmljYXRlRXJyb3JzIH06IENocm9taXVtT3B0aW9ucykge1xuICBjb25zdCBvcHRzID0gW1xuICAgIC8vIOWuueWZqOaymeeusVxuICAgIFwibm8tc2FuZGJveFwiLFxuICAgIFwiZGlzYWJsZS1kZXYtc2htLXVzYWdlXCIsXG4gICAgLy8g5b2V5Yi26KGM5Li6XG4gICAgXCJkaXNhYmxlLWJsaW5rLWZlYXR1cmVzPUF1dG9tYXRpb25Db250cm9sbGVkXCIsXG4gICAgXCJtdXRlLWF1ZGlvXCIsXG4gICAgXCJhdXRvcGxheS1wb2xpY3k9bm8tdXNlci1nZXN0dXJlLXJlcXVpcmVkXCIsXG4gICAgXCJkaXNhYmxlLWV4dGVuc2lvbnNcIixcbiAgICBcImRlbnktcGVybWlzc2lvbi1wcm9tcHRzXCIsXG4gICAgXCJ1c2UtbW9jay1rZXljaGFpblwiLFxuICAgIC8vIOa4suafk1xuICAgIFwiZm9yY2UtZGV2aWNlLXNjYWxlLWZhY3Rvcj0xXCIsXG4gICAgXCJmb3JjZS1jb2xvci1wcm9maWxlPXNyZ2JcIixcbiAgICBcImlnbm9yZS1ncHUtYmxvY2tsaXN0XCIsXG4gICAgXCJ1c2UtZ2w9YW5nbGVcIixcbiAgICBcImRldGVybWluaXN0aWMtbW9kZVwiLFxuICAgIFwiZW5hYmxlLWJlZ2luLWZyYW1lLWNvbnRyb2xcIixcbiAgICBcImRpc2FibGUtbmV3LWNvbnRlbnQtcmVuZGVyaW5nLXRpbWVvdXRcIixcbiAgICBcInJ1bi1hbGwtY29tcG9zaXRvci1zdGFnZXMtYmVmb3JlLWRyYXdcIixcbiAgICBcImRpc2FibGUtdGhyZWFkZWQtYW5pbWF0aW9uXCIsXG4gICAgXCJkaXNhYmxlLXRocmVhZGVkLXNjcm9sbGluZ1wiLFxuICAgIFwiZGlzYWJsZS1jaGVja2VyLWltYWdpbmdcIixcbiAgICBcImRpc2FibGUtaW1hZ2UtYW5pbWF0aW9uLXJlc3luY1wiLFxuICAgIFwiZW5hYmxlLXN1cmZhY2Utc3luY2hyb25pemF0aW9uXCIsXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3B1cHBldGVlci9wdXBwZXRlZXIvaXNzdWVzLzI0MTBcbiAgICBcImZvbnQtcmVuZGVyLWhpbnRpbmc9bm9uZVwiLFxuICAgIC8vIOi1hOa6kOaOp+WItlxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kLW5ldHdvcmtpbmdcIixcbiAgICBcImpzLWZsYWdzPS0tbWF4LW9sZC1zcGFjZS1zaXplPTUxMlwiLFxuICAgIFwicmVuZGVyZXItcHJvY2Vzcy1saW1pdD0xXCIsXG4gICAgXCJudW0tcmFzdGVyLXRocmVhZHM9MlwiLFxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kLXRpbWVyLXRocm90dGxpbmdcIixcbiAgICBcImRpc2FibGUtcmVuZGVyZXItYmFja2dyb3VuZGluZ1wiLFxuICAgIFwiZGlzYWJsZS1iYWNrZ3JvdW5kaW5nLW9jY2x1ZGVkLXdpbmRvd3NcIixcbiAgICAvLyDml6Xlv5fov73ouKpcbiAgICBcImVuYWJsZS1sb2dnaW5nPXN0ZGVyclwiLFxuICBdO1xuXG4gIC8vIFJlbGF4IGF0IHRoZSBwcm9jZXNzIGxldmVsIG9ubHkgYWxvbmdzaWRlIHRoZSB3aW5kb3ctbGV2ZWwga25vYiwgc28gbmVpdGhlciBsYXllciBzaWxlbnRseSBvdmVycmlkZXMgdGhlIG90aGVyLlxuICBpZiAoZGlzYWJsZVdlYlNlY3VyaXR5KSB7XG4gICAgb3B0cy5wdXNoKFwiZGlzYWJsZS13ZWItc2VjdXJpdHlcIik7XG4gIH1cbiAgaWYgKGlnbm9yZUNlcnRpZmljYXRlRXJyb3JzKSB7XG4gICAgb3B0cy5wdXNoKFwiaWdub3JlLWNlcnRpZmljYXRlLWVycm9yc1wiKTtcbiAgfVxuXG4gIGlmIChwdXBMb2dMZXZlbCA+PSAzKSB7XG4gICAgb3B0cy5wdXNoKFwibG9nLWxldmVsPTBcIiwgXCJ2PTFcIik7XG4gIH0gZWxzZSB7XG4gICAgb3B0cy5wdXNoKFwibG9nLWxldmVsPTNcIik7XG4gIH1cblxuICBjb25zdCBmZWF0dXJlcyA9IFtcIkZvbnRhdGlvbkJhY2tlbmRcIl07XG4gIC8vIGRpc2FibGVHcHUgZmlyc3Q6IGl0IHNob3J0LWNpcmN1aXRzIHBhc3QgdGhlIGxhenkgcHJvYmUsIHNvIGEgZGlzYWJsZWQgcG9kIG5ldmVyIGRsb3BlbnMgbGliY3VkYS5cbiAgY29uc3QgZW5hYmxlR3B1ID0gIWRpc2FibGVHcHUgJiYgY2FuSVVzZUdQVS52YWx1ZTtcbiAgaWYgKCFlbmFibGVHcHUpIHtcbiAgICBvcHRzLnB1c2goXCJ1c2UtYW5nbGU9c3dpZnRzaGFkZXJcIiwgXCJlbmFibGUtdW5zYWZlLXN3aWZ0c2hhZGVyXCIpO1xuICB9IGVsc2Uge1xuICAgIG9wdHMucHVzaChcImRpc2FibGUtZ3B1LXNhbmRib3hcIiwgXCJlbmFibGUtdW5zYWZlLXdlYmdwdVwiKTtcbiAgICBjb25zdCBwbGF0ID0gcGxhdGZvcm0oKTtcbiAgICBpZiAocGxhdCA9PT0gXCJkYXJ3aW5cIikge1xuICAgICAgb3B0cy5wdXNoKFwidXNlLWFuZ2xlPW1ldGFsXCIpO1xuICAgIH0gZWxzZSBpZiAocGxhdCA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgICBvcHRzLnB1c2goXCJ1c2UtYW5nbGU9ZDNkMTFcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdHMucHVzaChcInVzZS1hbmdsZT12dWxrYW5cIiwgXCJkaXNhYmxlLXZ1bGthbi1zdXJmYWNlXCIpO1xuICAgICAgZmVhdHVyZXMucHVzaChcIlZ1bGthblwiKTtcbiAgICB9XG4gIH1cblxuICBvcHRzLnB1c2goYGVuYWJsZS1mZWF0dXJlcz0ke2ZlYXR1cmVzLmpvaW4oXCIsXCIpfWApO1xuICByZXR1cm4gb3B0cztcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDEvMzAuXG5cbmltcG9ydCB7IHR5cGUgQ2hpbGRQcm9jZXNzLCB0eXBlIFNwYXduT3B0aW9ucywgc3Bhd24gfSBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgdHJlZUtpbGwgZnJvbSBcInRyZWUta2lsbFwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUFVQX0FSR1NfS0VZID0gXCItLXB1cC1wcml2LWFyZ3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcmdzKCkge1xuICBjb25zdCBhcmd2ID0gcHJvY2Vzcy5hcmd2O1xuICBsZXQgcHJpdiA9IGFyZ3YuZmluZCgoYXJnKSA9PiBhcmcuc3RhcnRzV2l0aChQVVBfQVJHU19LRVkpKTtcbiAgaWYgKCFwcml2KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwicHJvY2FyZ3ZcIiwgYXJndik7XG4gICAgcmV0dXJuIHByb2Nlc3MuYXJndjtcbiAgfVxuICBjb25zdCBhcmdzID0gW1wiZXhlY1wiLCAuLi5hcmd2LnNsaWNlKC0xKV07XG4gIHByaXYgPSBCdWZmZXIuZnJvbShwcml2LnNwbGl0KFwiPVwiKVsxXSEsIFwiYmFzZTY0XCIpLnRvU3RyaW5nKCk7XG4gIGFyZ3MucHVzaCguLi5KU09OLnBhcnNlKHByaXYpKTtcbiAgbG9nZ2VyLmRlYnVnKFwicHVwYXJnc1wiLCBhcmdzKTtcbiAgcmV0dXJuIGFyZ3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0hhbmRsZSB7XG4gIHByb2Nlc3M6IENoaWxkUHJvY2VzcztcbiAgd2FpdDogUHJvbWlzZTx2b2lkPjtcbiAgZ2V0IGtpbGxlZCgpOiBib29sZWFuO1xuICBraWxsKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjKGNtZDogc3RyaW5nLCBvcHRpb25zPzogU3Bhd25PcHRpb25zKTogUHJvY2Vzc0hhbmRsZSB7XG4gIGNvbnN0IHBhcnRzID0gY21kLnNwbGl0KFwiIFwiKS5maWx0ZXIoKHMpID0+IHMubGVuZ3RoKTtcbiAgY29uc3QgW2NvbW1hbmQsIC4uLmFyZ3NdID0gcGFydHM7XG4gIGlmICghY29tbWFuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImVtcHR5IGNvbW1hbmRcIik7XG4gIH1cbiAgY29uc3QgcHJvYyA9IHNwYXduKGNvbW1hbmQsIGFyZ3MsIHtcbiAgICBzdGRpbzogXCJpbmhlcml0XCIsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG4gIGxldCBraWxsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIHtcbiAgICBwcm9jZXNzOiBwcm9jLFxuICAgIHdhaXQ6IGxvZ2dlci5hdHRhY2gocHJvYywgY29tbWFuZCksXG4gICAgZ2V0IGtpbGxlZCgpIHtcbiAgICAgIHJldHVybiBraWxsZWQ7XG4gICAgfSxcbiAgICBraWxsKCkge1xuICAgICAgaWYgKGtpbGxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBraWxsZWQgPSB0cnVlO1xuICAgICAgY29uc3QgcGlkID0gcHJvYy5waWQ7XG4gICAgICBpZiAocGlkKSB7XG4gICAgICAgIHRyZWVLaWxsKHBpZCwgXCJTSUdLSUxMXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvYy5raWxsKFwiU0lHS0lMTFwiKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNS5cblxuaW1wb3J0IHsgcm1TeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSBcIm5vZGU6b3NcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBjaHJvbWl1bU9wdGlvbnMgfSBmcm9tIFwiLi4vYmFzZS9jaHJvbWl1bVwiO1xuaW1wb3J0IHsgcHVwQXBwIH0gZnJvbSBcIi4uL2Jhc2UvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi4vYmFzZS9sb2dnaW5nXCI7XG5pbXBvcnQgeyBleGVjLCBQVVBfQVJHU19LRVkgfSBmcm9tIFwiLi4vYmFzZS9wcm9jZXNzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbGVjdHJvbk9wdHMoYXJnczogdW5rbm93bltdKSB7XG4gIGNvbnN0IGZsYWdzID0gYXdhaXQgY2hyb21pdW1PcHRpb25zKHtcbiAgICBkaXNhYmxlR3B1OiBhcmdzLmluY2x1ZGVzKFwiLS1kaXNhYmxlLWdwdVwiKSxcbiAgICBkaXNhYmxlV2ViU2VjdXJpdHk6IGFyZ3MuaW5jbHVkZXMoXCItLWRpc2FibGUtd2ViLXNlY3VyaXR5XCIpLFxuICAgIGlnbm9yZUNlcnRpZmljYXRlRXJyb3JzOiBhcmdzLmluY2x1ZGVzKFwiLS1pZ25vcmUtY2VydGlmaWNhdGUtZXJyb3JzXCIpLFxuICB9KTtcbiAgcmV0dXJuIFsuLi5mbGFncywgXCJoZWFkbGVzcz1uZXdcIl07XG59XG5cbmNvbnN0IFRBRyA9IFwiW0VsZWN0cm9uXVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bkVsZWN0cm9uQXBwT3B0aW9ucyB7XG4gIGFyZ3M6IHVua25vd25bXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkVsZWN0cm9uQXBwKHsgYXJncyB9OiBSdW5FbGVjdHJvbkFwcE9wdGlvbnMpIHtcbiAgLy8gTGF6eTogZWxlY3Ryb24ncyBlbnRyeSB0aHJvd3MgaWYgdGhlIGJpbmFyeSBpcyBhYnNlbnQsIHNvIHV0aWwtb25seSBjb25zdW1lcnMgbXVzdCBub3QgbG9hZCBpdCBhdCBpbXBvcnQgdGltZS5cbiAgY29uc3QgeyBkZWZhdWx0OiBlbGVjdHJvbiB9ID0gYXdhaXQgaW1wb3J0KFwiZWxlY3Ryb25cIik7XG4gIGNvbnN0IG9wdHMgPSBhd2FpdCBlbGVjdHJvbk9wdHMoYXJncyk7XG4gIC8vIFBlci1wcm9jZXNzIHByb2ZpbGU6IGlzb2xhdGVzIHRoaXMgY2FsbCdzIENocm9taXVtIGNhY2hlICh3YXJtdXAgd2luZG93cyBzaGFyZSBpdCB2aWEgZGVmYXVsdFNlc3Npb24pLCB3aXBlZCBvbiBleGl0LlxuICBjb25zdCBwcm9maWxlRGlyID0gYXdhaXQgbWtkdGVtcChqb2luKHRtcGRpcigpLCBcInB1cC1wcm9maWxlLVwiKSk7XG4gIGNvbnN0IGVsZWN0cm9uQXJncyA9IG9wdHMubWFwKChhKSA9PiBgLS0ke2F9YCk7XG4gIGVsZWN0cm9uQXJncy5wdXNoKGAtLXVzZXItZGF0YS1kaXI9JHtwcm9maWxlRGlyfWApO1xuICBlbGVjdHJvbkFyZ3MucHVzaChgJHtQVVBfQVJHU19LRVl9PSR7QnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoYXJncykpLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWApO1xuICBjb25zdCBjbWQgPSBbZWxlY3Ryb24sIC4uLmVsZWN0cm9uQXJncywgcHVwQXBwXS5qb2luKFwiIFwiKTtcbiAgbG9nZ2VyLmRlYnVnKFRBRywgY21kKTtcblxuICBjb25zdCBlbnY6IE5vZGVKUy5Qcm9jZXNzRW52ID0geyAuLi5wcm9jZXNzLmVudiwgUlVTVF9CQUNLVFJBQ0U6IFwiZnVsbFwiIH07XG4gIGNvbnN0IGhhbmRsZSA9IGV4ZWMoY21kLCB7IHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwicGlwZVwiLCBcImlwY1wiXSwgZW52IH0pO1xuICBoYW5kbGUucHJvY2Vzcy5vbmNlKFwiZXhpdFwiLCAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJtU3luYyhwcm9maWxlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLndhcm4oVEFHLCBcInByb2ZpbGUgY2xlYW51cCBmYWlsZWQ6XCIsIGUpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBoYW5kbGU7XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA5LlxuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tIFwibm9kZTp1cmxcIjtcblxuY29uc3QgU1VQUE9SVEVEX1BST1RPQ09MUyA9IFtcImZpbGU6XCIsIFwiaHR0cDpcIiwgXCJodHRwczpcIiwgXCJkYXRhOlwiXTtcbmNvbnN0IFNPVVJDRV9QQVRURVJOID0gL14oZmlsZTp8aHR0cHM/OnxkYXRhOikvO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tIVE1MKHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghU09VUkNFX1BBVFRFUk4udGVzdChzb3VyY2UpKSB7XG4gICAgY29uc3QgcHJvdG9jb2wgPSBgJHtzb3VyY2Uuc3BsaXQoXCI6XCIpWzBdfTpgO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBTVVBQT1JURURfUFJPVE9DT0xTLmluY2x1ZGVzKHByb3RvY29sKVxuICAgICAgPyBgdW5zdXBwb3J0ZWQgcHJvdG9jb2w6ICR7cHJvdG9jb2x9LCBleHBlY3RlZCAke1NVUFBPUlRFRF9QUk9UT0NPTFMuam9pbihcIiwgXCIpfWBcbiAgICAgIDogYGludmFsaWQgc291cmNlIGZvcm1hdCwgZXhwZWN0ZWQgJHtTVVBQT1JURURfUFJPVE9DT0xTLmpvaW4oXCIsIFwiKX1gO1xuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8vIGZpbGU6IHNvdXJjZXMgYXJlIGNoZWFwIHRvIHN0YXQgaGVyZTsgRWxlY3Ryb24gd291bGQgb25seSBzdXJmYWNlIGEgbWlzc2luZyBvbmUgYXMgZGlkLWZhaWwtbG9hZCBhZnRlciBzcGF3bit3YXJtdXAuXG4gIGlmIChzb3VyY2Uuc3RhcnRzV2l0aChcImZpbGU6XCIpICYmICFleGlzdHNTeW5jKGZpbGVVUkxUb1BhdGgoc291cmNlKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHNvdXJjZSBmaWxlIG5vdCBmb3VuZDogJHtzb3VyY2V9YCk7XG4gIH1cbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDQvMDEuXG5cbmltcG9ydCB0eXBlIHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIm5vZGU6ZXZlbnRzXCI7XG5cbmV4cG9ydCBlbnVtIElwY01zZ1R5cGUge1xuICAvLyBjaGlsZCDihpIgcGFyZW50XG4gIENvbnNvbGUgPSBcImNvbnNvbGVcIixcbiAgUHJvZ3Jlc3MgPSBcInByb2dyZXNzXCIsXG4gIERvbmUgPSBcImRvbmVcIixcbiAgRXJyb3IgPSBcImVycm9yXCIsXG4gIC8vIHBhcmVudCDihpIgY2hpbGRcbiAgQ2FuY2VsID0gXCJjYW5jZWxcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zb2xlTXNnIHtcbiAgdHlwZTogSXBjTXNnVHlwZS5Db25zb2xlO1xuICBsZXZlbDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsTXNnIHtcbiAgdHlwZTogSXBjTXNnVHlwZS5DYW5jZWw7XG4gIHJlYXNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcGNEb25lUGF5bG9hZCB7XG4gIHdyaXR0ZW46IG51bWJlcjtcbiAgb3V0RmlsZXM6IHN0cmluZ1tdO1xuICBibGFuazogbnVtYmVyO1xuICBqYW5rOiBudW1iZXI7XG4gIHNjcmVlbnNob3RzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzc01zZyB7XG4gIHR5cGU6IElwY01zZ1R5cGUuUHJvZ3Jlc3M7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9uZU1zZyB7XG4gIHR5cGU6IElwY01zZ1R5cGUuRG9uZTtcbiAgcGF5bG9hZDogSXBjRG9uZVBheWxvYWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JNc2cge1xuICB0eXBlOiBJcGNNc2dUeXBlLkVycm9yO1xuICBlcnJvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJcGNNc2cgPSBDb25zb2xlTXNnIHwgUHJvZ3Jlc3NNc2cgfCBEb25lTXNnIHwgRXJyb3JNc2cgfCBDYW5jZWxNc2c7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBjRXZlbnRzIHtcbiAgcHJvZ3Jlc3M6IFt2YWx1ZTogbnVtYmVyXTtcbiAgY29uc29sZTogW2xldmVsOiBzdHJpbmcsIG1zZzogc3RyaW5nXTtcbiAgZG9uZTogW3BheWxvYWQ6IElwY0RvbmVQYXlsb2FkXTtcbiAgZXJyb3I6IFtlcnJvcjogRXJyb3JdO1xuICBjbG9zZTogW2NvZGU6IG51bWJlciB8IG51bGxdO1xufVxuXG5leHBvcnQgY2xhc3MgSXBjV3JpdGVyIHtcbiAgd3JpdGVDb25zb2xlKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuc2VuZCh7IHR5cGU6IElwY01zZ1R5cGUuQ29uc29sZSwgbGV2ZWwsIG1lc3NhZ2UgfSk7XG4gIH1cblxuICB3cml0ZVByb2dyZXNzKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLlByb2dyZXNzLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIHdyaXRlRXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLkVycm9yLCBlcnJvciB9KTtcbiAgfVxuXG4gIHdyaXRlRG9uZShwYXlsb2FkOiBJcGNEb25lUGF5bG9hZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnNlbmQoeyB0eXBlOiBJcGNNc2dUeXBlLkRvbmUsIHBheWxvYWQgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbmQobXNnOiBJcGNNc2cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5zZW5kKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgICBwcm9jZXNzLnNlbmQobXNnLCAoKSA9PiByZXNvbHZlKCkpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJcGNSZWFkZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXI8SXBjRXZlbnRzPiB7XG4gIGNvbnN0cnVjdG9yKGNoaWxkOiBDaGlsZFByb2Nlc3MpIHtcbiAgICBzdXBlcigpO1xuICAgIGNoaWxkLm9uKFwibWVzc2FnZVwiLCAocmF3KSA9PiB7XG4gICAgICBjb25zdCBtc2cgPSByYXcgYXMgSXBjTXNnO1xuICAgICAgc3dpdGNoIChtc2cudHlwZSkge1xuICAgICAgICBjYXNlIElwY01zZ1R5cGUuQ29uc29sZToge1xuICAgICAgICAgIHRoaXMuZW1pdChcImNvbnNvbGVcIiwgbXNnLmxldmVsLCBtc2cubWVzc2FnZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBJcGNNc2dUeXBlLlByb2dyZXNzOiB7XG4gICAgICAgICAgdGhpcy5lbWl0KFwicHJvZ3Jlc3NcIiwgbXNnLnZhbHVlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIElwY01zZ1R5cGUuRG9uZToge1xuICAgICAgICAgIHRoaXMuZW1pdChcImRvbmVcIiwgbXNnLnBheWxvYWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgSXBjTXNnVHlwZS5FcnJvcjoge1xuICAgICAgICAgIHRoaXMuZW1pdChcImVycm9yXCIsIG5ldyBFcnJvcihtc2cuZXJyb3IpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGNoaWxkLm9uY2UoXCJleGl0XCIsIChjKSA9PiB0aGlzLmVtaXQoXCJjbG9zZVwiLCBjKSk7XG4gIH1cbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMDkuXG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2Jhc2UvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgcnVuRWxlY3Ryb25BcHAgfSBmcm9tIFwiLi9yZW5kZXJlci9lbGVjdHJvblwiO1xuaW1wb3J0IHsgY2hlY2tIVE1MIH0gZnJvbSBcIi4vcmVuZGVyZXIvaHRtbF9jaGVja1wiO1xuaW1wb3J0IHsgdHlwZSBJcGNEb25lUGF5bG9hZCwgSXBjTXNnVHlwZSwgSXBjUmVhZGVyIH0gZnJvbSBcIi4vcmVuZGVyZXIvaXBjXCI7XG5pbXBvcnQge1xuICB0eXBlIENvbnNvbGVDYWxsYmFjayxcbiAgZGVmYXVsdFJlbmRlck9wdGlvbnMsXG4gIHR5cGUgUHJvZ3Jlc3NDYWxsYmFjayxcbiAgdHlwZSBSZW5kZXJPcHRpb25zLFxuICB0eXBlIFJlbmRlclJlc3VsdCxcbn0gZnJvbSBcIi4vcmVuZGVyZXIvc2NoZW1hXCI7XG5cbmNvbnN0IFRBRyA9IFwiW3B1cF1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBQdXBPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxSZW5kZXJPcHRpb25zPiB7XG4gIHNpZ25hbD86IEFib3J0U2lnbmFsO1xuICBvblByb2dyZXNzPzogUHJvZ3Jlc3NDYWxsYmFjaztcbiAgb25Db25zb2xlPzogQ29uc29sZUNhbGxiYWNrO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cFJlc3VsdCBleHRlbmRzIFJlbmRlclJlc3VsdCB7fVxuXG5hc3luYyBmdW5jdGlvbiBydW5QdXBBcHAoc291cmNlOiBzdHJpbmcsIHJlbmRlcjogUmVuZGVyT3B0aW9ucykge1xuICBsb2dnZXIuZGVidWcoVEFHLCBgcnVuUHVwQXBwYCwgc291cmNlLCByZW5kZXIpO1xuXG4gIGNvbnN0IGFyZ3M6IHN0cmluZ1tdID0gW1xuICAgIHNvdXJjZSxcbiAgICBgLS13aWR0aGAsXG4gICAgYCR7cmVuZGVyLndpZHRofWAsXG4gICAgYC0taGVpZ2h0YCxcbiAgICBgJHtyZW5kZXIuaGVpZ2h0fWAsXG4gICAgYC0tZnBzYCxcbiAgICBgJHtyZW5kZXIuZnBzfWAsXG4gICAgYC0tZHVyYXRpb25gLFxuICAgIGAke3JlbmRlci5kdXJhdGlvbn1gLFxuICAgIGAtLXdpbmRvdy10aW1lb3V0YCxcbiAgICBgJHtyZW5kZXIud2luZG93VGltZW91dH1gLFxuICAgIGAtLW91dC1maWxlYCxcbiAgICByZW5kZXIub3V0RmlsZXMuam9pbihcIixcIiksXG4gIF07XG4gIGlmIChyZW5kZXIud2l0aEF1ZGlvKSB7XG4gICAgYXJncy5wdXNoKGAtLXdpdGgtYXVkaW9gKTtcbiAgfVxuICBpZiAocmVuZGVyLnVzZUlubmVyUHJveHkpIHtcbiAgICBhcmdzLnB1c2goYC0tdXNlLWlubmVyLXByb3h5YCk7XG4gIH1cbiAgaWYgKHJlbmRlci5kZXRlcm1pbmlzdGljKSB7XG4gICAgYXJncy5wdXNoKGAtLWRldGVybWluaXN0aWNgKTtcbiAgfVxuICBpZiAocmVuZGVyLmRpc2FibGVHcHUpIHtcbiAgICBhcmdzLnB1c2goYC0tZGlzYWJsZS1ncHVgKTtcbiAgfVxuICBpZiAocmVuZGVyLmRpc2FibGVId0NvZGVjKSB7XG4gICAgYXJncy5wdXNoKGAtLWRpc2FibGUtaHctY29kZWNgKTtcbiAgfVxuICBpZiAocmVuZGVyLmRpc2FibGVXZWJTZWN1cml0eSkge1xuICAgIGFyZ3MucHVzaChgLS1kaXNhYmxlLXdlYi1zZWN1cml0eWApO1xuICB9XG4gIGlmIChyZW5kZXIuaWdub3JlQ2VydGlmaWNhdGVFcnJvcnMpIHtcbiAgICBhcmdzLnB1c2goYC0taWdub3JlLWNlcnRpZmljYXRlLWVycm9yc2ApO1xuICB9XG4gIGlmIChyZW5kZXIud2luZG93VG9sZXJhbnQpIHtcbiAgICBhcmdzLnB1c2goYC0td2luZG93LXRvbGVyYW50YCk7XG4gIH1cbiAgaWYgKHJlbmRlci5zY3JlZW5zaG90cy5sZW5ndGggPiAwKSB7XG4gICAgYXJncy5wdXNoKGAtLXNjcmVlbnNob3RzYCwgcmVuZGVyLnNjcmVlbnNob3RzLmpvaW4oXCIsXCIpKTtcbiAgfVxuXG4gIHJldHVybiBydW5FbGVjdHJvbkFwcCh7IGFyZ3MgfSk7XG59XG5cbmNvbnN0IGQgPSBkZWZhdWx0UmVuZGVyT3B0aW9ucztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHB1cChzb3VyY2U6IHN0cmluZywgb3B0aW9uczogUGFydGlhbDxQdXBPcHRpb25zPik6IFByb21pc2U8UHVwUmVzdWx0PiB7XG4gIGxvZ2dlci5kZWJ1ZyhUQUcsIGBwdXBgLCBzb3VyY2UsIG9wdGlvbnMpO1xuXG4gIGNvbnN0IHsgc2lnbmFsIH0gPSBvcHRpb25zO1xuICBzaWduYWw/LnRocm93SWZBYm9ydGVkKCk7XG4gIGNoZWNrSFRNTChzb3VyY2UpO1xuXG4gIGNvbnN0IG91dEZpbGVzID0gb3B0aW9ucy5vdXRGaWxlcyA/PyBkLm91dEZpbGVzO1xuICBjb25zdCByZW5kZXJPcHRzOiBSZW5kZXJPcHRpb25zID0ge1xuICAgIHdpZHRoOiBvcHRpb25zLndpZHRoID8/IGQud2lkdGgsXG4gICAgaGVpZ2h0OiBvcHRpb25zLmhlaWdodCA/PyBkLmhlaWdodCxcbiAgICBmcHM6IG9wdGlvbnMuZnBzID8/IGQuZnBzLFxuICAgIGR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uID8/IGQuZHVyYXRpb24sXG4gICAgd2l0aEF1ZGlvOiBvcHRpb25zLndpdGhBdWRpbyA/PyBkLndpdGhBdWRpbyxcbiAgICB1c2VJbm5lclByb3h5OiBvcHRpb25zLnVzZUlubmVyUHJveHkgPz8gZC51c2VJbm5lclByb3h5LFxuICAgIGRldGVybWluaXN0aWM6IG9wdGlvbnMuZGV0ZXJtaW5pc3RpYyA/PyBkLmRldGVybWluaXN0aWMsXG4gICAgZGlzYWJsZUdwdTogb3B0aW9ucy5kaXNhYmxlR3B1ID8/IGQuZGlzYWJsZUdwdSxcbiAgICBkaXNhYmxlSHdDb2RlYzogb3B0aW9ucy5kaXNhYmxlSHdDb2RlYyA/PyBkLmRpc2FibGVId0NvZGVjLFxuICAgIGRpc2FibGVXZWJTZWN1cml0eTogb3B0aW9ucy5kaXNhYmxlV2ViU2VjdXJpdHkgPz8gZC5kaXNhYmxlV2ViU2VjdXJpdHksXG4gICAgaWdub3JlQ2VydGlmaWNhdGVFcnJvcnM6IG9wdGlvbnMuaWdub3JlQ2VydGlmaWNhdGVFcnJvcnMgPz8gZC5pZ25vcmVDZXJ0aWZpY2F0ZUVycm9ycyxcbiAgICB3aW5kb3dUb2xlcmFudDogb3B0aW9ucy53aW5kb3dUb2xlcmFudCA/PyBkLndpbmRvd1RvbGVyYW50LFxuICAgIHdpbmRvd1RpbWVvdXQ6IG9wdGlvbnMud2luZG93VGltZW91dCA/PyBkLndpbmRvd1RpbWVvdXQsXG4gICAgc2NyZWVuc2hvdHM6IG9wdGlvbnMuc2NyZWVuc2hvdHMgPz8gZC5zY3JlZW5zaG90cyxcbiAgICBvdXRGaWxlcyxcbiAgfTtcblxuICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICBsZXQgcHJvZ3Jlc3MgPSAwO1xuICBjb25zdCB0aWNrID0gKHA6IG51bWJlcikgPT4ge1xuICAgIHByb2dyZXNzID0gcDtcbiAgICBvcHRpb25zLm9uUHJvZ3Jlc3M/LihwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGUgPSBhd2FpdCBydW5QdXBBcHAoc291cmNlLCByZW5kZXJPcHRzKTtcblxuICBsZXQga2lsbFRpbWVyOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgb25BYm9ydCA9ICgpID0+IHtcbiAgICBoYW5kbGUucHJvY2Vzcy5zZW5kPy4oeyB0eXBlOiBJcGNNc2dUeXBlLkNhbmNlbCwgcmVhc29uOiBTdHJpbmcoc2lnbmFsPy5yZWFzb24gPz8gXCJhYm9ydFwiKSB9KTtcbiAgICBraWxsVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IGhhbmRsZS5raWxsKCksIDVfMDAwKTtcbiAgfTtcbiAgc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFByb21pc2U8SXBjRG9uZVBheWxvYWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIG5ldyBJcGNSZWFkZXIoaGFuZGxlLnByb2Nlc3MpXG4gICAgICAgIC5vbihcImNsb3NlXCIsIChjb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoeyBzb3VyY2UsIHByb2dyZXNzLCBjb2RlLCBraWxsZWQ6IGhhbmRsZS5raWxsZWQgfSk7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgY3Jhc2hlZDogJHttc2d9YCkpO1xuICAgICAgICB9KVxuICAgICAgICAub24oXCJwcm9ncmVzc1wiLCB0aWNrKVxuICAgICAgICAub24oXCJjb25zb2xlXCIsIChsLCBtKSA9PiBvcHRpb25zLm9uQ29uc29sZT8uKGwsIG0pKVxuICAgICAgICAub24oXCJkb25lXCIsIHJlc29sdmUpXG4gICAgICAgIC5vbihcImVycm9yXCIsIHJlamVjdCk7XG4gICAgfSk7XG4gICAgdGljaygwKTtcbiAgICBjb25zdCBbc3VtbWFyeV0gPSBhd2FpdCBQcm9taXNlLmFsbChbcmVzdWx0LCBoYW5kbGUud2FpdF0pO1xuICAgIHRpY2soMTAwKTtcbiAgICBsb2dnZXIuZGVidWcoVEFHLCBgZG9uZSAke291dEZpbGVzLmpvaW4oXCIsXCIpfSBpbiAke01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkgLSB0MCl9bXNgKTtcbiAgICByZXR1cm4geyAuLi5zdW1tYXJ5LCBvcHRpb25zOiByZW5kZXJPcHRzIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBoYW5kbGUua2lsbCgpO1xuICAgIHNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcbiAgICB0aHJvdyBlO1xuICB9IGZpbmFsbHkge1xuICAgIGNsZWFyVGltZW91dChraWxsVGltZXIpO1xuICAgIHNpZ25hbD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIG9uQWJvcnQpO1xuICB9XG59XG4iXX0=
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'source-map-support/register.js';import {p,q,f,d,i,e,h,j,a,b,s}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24udHMiLCIuLi9zcmMvY2xpLnRzIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVNvdXJjZSIsInMiLCJhYnMiLCJyZWFscGF0aFN5bmMiLCJyZXNvbHZlIiwibWFrZUNMSSIsIm9wdGlvbnMiLCJzaGFwZSIsInJlbmRlclNjaGVtYSIsImQiLCJkZWZhdWx0UmVuZGVyT3B0aW9ucyIsInByb2dyYW0iLCJzb3VyY2UiLCJvcHRzIiwibm9lcnIiLCJwYXJzZU51bWJlciIsInBhcnNlQXJyYXkiLCJwYXJzZVN0cmluZyIsImUiLCJsb2dnZXIiLCJwYXJncyIsImN0cmwiLCJleGl0Q29kZSIsImMiLCJ0b3RhbCIsImJhciIsIlByb2dyZXNzQmFyIiwiYmFyTG9nZ2VyIiwidDAiLCJzY3JlZW5zaG90cyIsIm91dEZpbGVzIiwicHVwIiwicCIsInNlYyJdLCJtYXBwaW5ncyI6IndMQVlBLFNBQVNBLENBQUFBLENBQWdCQyxDQUFBQSxDQUFtQixDQUMxQyxHQUFJQSxDQUFBQSxDQUFFLFFBQUEsQ0FBUyxLQUFLLENBQUEsRUFBS0EsQ0FBQUEsQ0FBRSxVQUFBLENBQVcsT0FBTyxDQUFBLENBQzNDLE9BQU9BLENBQUFBLENBRVQsSUFBSUMsQ0FBQUEsQ0FDSixHQUFJLENBQ0ZBLENBQUFBLENBQU1DLFlBQUFBLENBQWFGLENBQUMsRUFDdEIsQ0FBQSxLQUFRLENBQ05DLENBQUFBLENBQU1FLE9BQUFBLENBQVFILENBQUMsRUFDakIsQ0FDQSxPQUFPLENBQUEsT0FBQSxFQUFVQyxDQUFHLENBQUEsQ0FDdEIsQ0FPQSxlQUFzQkcsQ0FBQUEsQ0FBUUMsQ0FBQUEsQ0FBcUIsQ0FDakQsSUFBTUMsR0FBQUEsQ0FBUUMsQ0FBQUEsQ0FBYSxLQUFBLENBQ3JCQyxHQUFBQSxDQUFJQyxDQUFBQSxDQUNWQyxPQUFBQSxDQUNHLElBQUEsQ0FBS0wsQ0FBQUEsQ0FBUSxJQUFJLENBQUEsQ0FDakIsUUFBQSxDQUFTLFVBQUEsQ0FBWSxvREFBb0QsQ0FBQSxDQUN6RSxN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QUFBLEVBQU0sT0FBQSxDQUFRLENBQUMsQ0FBQSxDQUN2REgsQ0FBQUEsQ0FBSSxNQUFBLENBQU9ELENBQUssQ0FBQSxDQUNaSyxDQUFBQSxDQUFZLE1BQUEsRUFDZEosQ0FBQUEsQ0FBSSxHQUFBLENBQUksQ0FBQSxtQkFBQSxFQUFpQkksQ0FBQUEsQ0FBWSxJQUFBLENBQUssR0FBRyxDQUFDLENBQUEsQ0FBRSxDQUFBLENBRTlDQyxDQUFBQSxDQUFTLE1BQUEsRUFDWEwsQ0FBQUEsQ0FBSSxHQUFBLENBQUksQ0FBQSxjQUFBLEVBQVlLLENBQUFBLENBQVMsSUFBQSxDQUFLLEdBQUcsQ0FBQyxDQUFBLENBQUUsQ0FBQSxDQUUxQ0wsQ0FBQUEsQ0FBSSxNQUFBLENBQU8sQ0FBQSxlQUFBLEVBQWFELENBQUssQ0FBQSxTQUFBLEVBQVlsQixDQUFBQSxDQUFRLEtBQUssQ0FBQSxDQUFBLEVBQUlBLENBQUFBLENBQVEsTUFBTSxDQUFBLEdBQUEsRUFBTUEsQ0FBQUEsQ0FBUSxHQUFHLENBQUEsT0FBQSxFQUFVMkIsQ0FBRyxDQUFBLENBQUEsQ0FBRyxFQUMzRyxDQUFBLE1BQVNmLENBQUFBLENBQUcsQ0FDVk8sQ0FBQUEsQ0FBSSxNQUFBLENBQU8sQ0FBQSxPQUFBLEVBQVVQLENBQUFBLFlBQWEsS0FBQSxDQUFRQSxDQUFBQSxDQUFFLE9BQUEsQ0FBVSxNQUFBLENBQU9BLENBQUMsQ0FBQyxDQUFBLENBQUUsRUFDbkUsQ0FBQSxPQUFFLENBQ0EsT0FBQSxDQUFRLElBQUEsQ0FBS0ksR0FBUSxFQUN2QixDQUNGLENBQ0YsQ0FBQyxDQUFBIiwiZmlsZSI6ImNsaS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMDkuXG5cbmltcG9ydCB7IHJlYWxwYXRoU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgcHJvZ3JhbSB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2Jhc2UvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgbm9lcnIgfSBmcm9tIFwiLi9iYXNlL25vZXJyXCI7XG5pbXBvcnQgeyBwYXJzZUFycmF5LCBwYXJzZU51bWJlciwgcGFyc2VTdHJpbmcgfSBmcm9tIFwiLi9iYXNlL3BhcnNlclwiO1xuaW1wb3J0IHsgcGFyZ3MgfSBmcm9tIFwiLi9iYXNlL3Byb2Nlc3NcIjtcbmltcG9ydCB7IGRlZmF1bHRSZW5kZXJPcHRpb25zLCB0eXBlIFJlbmRlck9wdGlvbnMsIHJlbmRlclNjaGVtYSB9IGZyb20gXCIuL3JlbmRlcmVyL3NjaGVtYVwiO1xuXG4vLyBTY2hlbWVkIFVSSXMgcGFzcyB0aHJvdWdoOyBiYXJlIHBhdGhzIGdldCBjYW5vbmljYWxpemVkIGFuZCB3cmFwcGVkIGFzIGZpbGU6Ly8uXG5mdW5jdGlvbiBub3JtYWxpemVTb3VyY2Uoczogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHMuaW5jbHVkZXMoXCI6Ly9cIikgfHwgcy5zdGFydHNXaXRoKFwiZGF0YTpcIikpIHtcbiAgICByZXR1cm4gcztcbiAgfVxuICBsZXQgYWJzOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgYWJzID0gcmVhbHBhdGhTeW5jKHMpO1xuICB9IGNhdGNoIHtcbiAgICBhYnMgPSByZXNvbHZlKHMpO1xuICB9XG4gIHJldHVybiBgZmlsZTovLyR7YWJzfWA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ0xJT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcnVuOiAoc291cmNlOiBzdHJpbmcsIG9wdGlvbnM6IFJlbmRlck9wdGlvbnMpID0+IFByb21pc2U8dW5rbm93bj47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWtlQ0xJKG9wdGlvbnM6IENMSU9wdGlvbnMpIHtcbiAgY29uc3Qgc2hhcGUgPSByZW5kZXJTY2hlbWEuc2hhcGU7XG4gIGNvbnN0IGQgPSBkZWZhdWx0UmVuZGVyT3B0aW9ucztcbiAgcHJvZ3JhbVxuICAgIC5uYW1lKG9wdGlvbnMubmFtZSlcbiAgICAuYXJndW1lbnQoXCI8c291cmNlPlwiLCBcImZpbGU6Ly8sIGh0dHAocyk6Ly8sIGRhdGE6IFVSSSwgb3IgZmlsZXN5c3RlbSBwYXRoXCIpXG4gICAgLm9wdGlvbihcIi1XLCAtLXdpZHRoIDxudW1iZXI+XCIsIHNoYXBlLndpZHRoLmRlc2NyaXB0aW9uLCBgJHtkLndpZHRofWApXG4gICAgLm9wdGlvbihcIi1ILCAtLWhlaWdodCA8bnVtYmVyPlwiLCBzaGFwZS5oZWlnaHQuZGVzY3JpcHRpb24sIGAke2QuaGVpZ2h0fWApXG4gICAgLm9wdGlvbihcIi1TLCAtLXNjcmVlbnNob3RzIDxzZWNvbmRzPlwiLCBzaGFwZS5zY3JlZW5zaG90cy5kZXNjcmlwdGlvbiwgXCJcIilcbiAgICAub3B0aW9uKFwiLWYsIC0tZnBzIDxudW1iZXI+XCIsIHNoYXBlLmZwcy5kZXNjcmlwdGlvbiwgYCR7ZC5mcHN9YClcbiAgICAub3B0aW9uKFwiLXQsIC0tZHVyYXRpb24gPG51bWJlcj5cIiwgc2hhcGUuZHVyYXRpb24uZGVzY3JpcHRpb24sIGAke2QuZHVyYXRpb259YClcbiAgICAub3B0aW9uKFwiLW8sIC0tb3V0LWZpbGUgPHBhdGhzPlwiLCBzaGFwZS5vdXRGaWxlcy5kZXNjcmlwdGlvbiwgZC5vdXRGaWxlcy5qb2luKFwiLFwiKSlcbiAgICAub3B0aW9uKFwiLWEsIC0td2l0aC1hdWRpb1wiLCBzaGFwZS53aXRoQXVkaW8uZGVzY3JpcHRpb24sIGQud2l0aEF1ZGlvKVxuICAgIC5vcHRpb24oXCItZCwgLS1kZXRlcm1pbmlzdGljXCIsIHNoYXBlLmRldGVybWluaXN0aWMuZGVzY3JpcHRpb24sIGQuZGV0ZXJtaW5pc3RpYylcbiAgICAub3B0aW9uKFwiLS11c2UtaW5uZXItcHJveHlcIiwgc2hhcGUudXNlSW5uZXJQcm94eS5kZXNjcmlwdGlvbiwgZC51c2VJbm5lclByb3h5KVxuICAgIC5vcHRpb24oXCItLWRpc2FibGUtZ3B1XCIsIHNoYXBlLmRpc2FibGVHcHUuZGVzY3JpcHRpb24sIGQuZGlzYWJsZUdwdSlcbiAgICAub3B0aW9uKFwiLS1kaXNhYmxlLWh3LWNvZGVjXCIsIHNoYXBlLmRpc2FibGVId0NvZGVjLmRlc2NyaXB0aW9uLCBkLmRpc2FibGVId0NvZGVjKVxuICAgIC5vcHRpb24oXCItLWRpc2FibGUtd2ViLXNlY3VyaXR5XCIsIHNoYXBlLmRpc2FibGVXZWJTZWN1cml0eS5kZXNjcmlwdGlvbiwgZC5kaXNhYmxlV2ViU2VjdXJpdHkpXG4gICAgLm9wdGlvbihcIi0td2luZG93LXRvbGVyYW50XCIsIHNoYXBlLndpbmRvd1RvbGVyYW50LmRlc2NyaXB0aW9uLCBkLndpbmRvd1RvbGVyYW50KVxuICAgIC5vcHRpb24oXCItLXdpbmRvdy10aW1lb3V0IDxudW1iZXI+XCIsIHNoYXBlLndpbmRvd1RpbWVvdXQuZGVzY3JpcHRpb24sIGAke2Qud2luZG93VGltZW91dH1gKVxuICAgIC5hY3Rpb24oYXN5bmMgKHNvdXJjZTogc3RyaW5nLCBvcHRzKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBvcHRpb25zLnJ1bihub3JtYWxpemVTb3VyY2Uoc291cmNlKSwge1xuICAgICAgICAgIHdpZHRoOiBub2VycihwYXJzZU51bWJlciwgZC53aWR0aCkob3B0cy53aWR0aCksXG4gICAgICAgICAgaGVpZ2h0OiBub2VycihwYXJzZU51bWJlciwgZC5oZWlnaHQpKG9wdHMuaGVpZ2h0KSxcbiAgICAgICAgICBmcHM6IG5vZXJyKHBhcnNlTnVtYmVyLCBkLmZwcykob3B0cy5mcHMpLFxuICAgICAgICAgIGR1cmF0aW9uOiBub2VycihwYXJzZU51bWJlciwgZC5kdXJhdGlvbikob3B0cy5kdXJhdGlvbiksXG4gICAgICAgICAgb3V0RmlsZXM6IHBhcnNlQXJyYXkocGFyc2VTdHJpbmcpKG9wdHMub3V0RmlsZSksXG4gICAgICAgICAgd2l0aEF1ZGlvOiBvcHRzLndpdGhBdWRpbyA/PyBkLndpdGhBdWRpbyxcbiAgICAgICAgICB1c2VJbm5lclByb3h5OiBvcHRzLnVzZUlubmVyUHJveHkgPz8gZC51c2VJbm5lclByb3h5LFxuICAgICAgICAgIGRldGVybWluaXN0aWM6IG9wdHMuZGV0ZXJtaW5pc3RpYyA/PyBkLmRldGVybWluaXN0aWMsXG4gICAgICAgICAgZGlzYWJsZUdwdTogb3B0cy5kaXNhYmxlR3B1ID8/IGQuZGlzYWJsZUdwdSxcbiAgICAgICAgICBkaXNhYmxlSHdDb2RlYzogb3B0cy5kaXNhYmxlSHdDb2RlYyA/PyBkLmRpc2FibGVId0NvZGVjLFxuICAgICAgICAgIGRpc2FibGVXZWJTZWN1cml0eTogb3B0cy5kaXNhYmxlV2ViU2VjdXJpdHkgPz8gZC5kaXNhYmxlV2ViU2VjdXJpdHksXG4gICAgICAgICAgd2luZG93VG9sZXJhbnQ6IG9wdHMud2luZG93VG9sZXJhbnQgPz8gZC53aW5kb3dUb2xlcmFudCxcbiAgICAgICAgICB3aW5kb3dUaW1lb3V0OiBub2VycihwYXJzZU51bWJlciwgZC53aW5kb3dUaW1lb3V0KShvcHRzLndpbmRvd1RpbWVvdXQpLFxuICAgICAgICAgIHNjcmVlbnNob3RzOiBwYXJzZUFycmF5KHBhcnNlTnVtYmVyKShvcHRzLnNjcmVlbnNob3RzKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZ2dlci5mYXRhbChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgYXdhaXQgcHJvZ3JhbS5wYXJzZUFzeW5jKHBhcmdzKCkpO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNS5cblxuaW1wb3J0IHsgYmFyTG9nZ2VyLCBQcm9ncmVzc0JhciB9IGZyb20gXCIuL2Jhc2UvY2xpX3VpXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi9iYXNlL2xvZ2dpbmdcIjtcbmltcG9ydCB7IG1ha2VDTEkgfSBmcm9tIFwiLi9jb21tb25cIjtcbmltcG9ydCB7IHB1cCB9IGZyb20gXCIuL3B1cFwiO1xuXG5tYWtlQ0xJKHtcbiAgbmFtZTogXCJwdXBcIixcbiAgcnVuOiBhc3luYyAoc291cmNlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBsZXQgZXhpdENvZGUgPSAwO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR1RFUk1cIiwgKCkgPT4ge1xuICAgICAgZXhpdENvZGUgPSAxNDM7XG4gICAgICBjdHJsLmFib3J0KG5ldyBFcnJvcihcIlNJR1RFUk1cIikpO1xuICAgIH0pO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR0lOVFwiLCAoKSA9PiB7XG4gICAgICBleGl0Q29kZSA9IDEzMDtcbiAgICAgIGN0cmwuYWJvcnQobmV3IEVycm9yKFwiU0lHSU5UXCIpKTtcbiAgICB9KTtcbiAgICBwcm9jZXNzLm9uY2UoXCJleGl0XCIsIChjKSA9PiB7XG4gICAgICBleGl0Q29kZSA9IGM7XG4gICAgICBjdHJsLmFib3J0KG5ldyBFcnJvcihcIlNJR0tJTExcIikpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG90YWwgPSBNYXRoLmNlaWwob3B0aW9ucy5mcHMgKiBvcHRpb25zLmR1cmF0aW9uKTtcbiAgICBjb25zdCBiYXIgPSBuZXcgUHJvZ3Jlc3NCYXIoeyB0b3RhbCwgb3V0OiBwcm9jZXNzLnN0ZGVyciwgc2hvd0NvdW50OiB0cnVlIH0pO1xuICAgIGxvZ2dlci5pbXBsID0gYmFyTG9nZ2VyKGJhcik7XG5cbiAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHNjcmVlbnNob3RzLCBvdXRGaWxlcyB9ID0gYXdhaXQgcHVwKHNvdXJjZSwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBzaWduYWw6IGN0cmwuc2lnbmFsLFxuICAgICAgICBvblByb2dyZXNzOiAocCkgPT4gYmFyLnVwZGF0ZVBlcmNlbnQocCksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHNlYyA9ICgocGVyZm9ybWFuY2Uubm93KCkgLSB0MCkgLyAxMDAwKS50b0ZpeGVkKDIpO1xuICAgICAgYmFyLnVwZGF0ZSh0b3RhbCk7XG4gICAgICBpZiAoc2NyZWVuc2hvdHMubGVuZ3RoKSB7XG4gICAgICAgIGJhci5sb2coYHNjcmVlbnNob3RzIOKGkiAke3NjcmVlbnNob3RzLmpvaW4oXCIsXCIpfWApO1xuICAgICAgfVxuICAgICAgaWYgKG91dEZpbGVzLmxlbmd0aCkge1xuICAgICAgICBiYXIubG9nKGB2aWRlb3Mg4oaSICR7b3V0RmlsZXMuam9pbihcIixcIil9YCk7XG4gICAgICB9XG4gICAgICBiYXIuZmluaXNoKGBzdW1tYXJ5IOKGkiAke3RvdGFsfSBmcmFtZXMsICR7b3B0aW9ucy53aWR0aH14JHtvcHRpb25zLmhlaWdodH0gQCAke29wdGlvbnMuZnBzfWZwcyBpbiAke3NlY31zYCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYmFyLmZpbmlzaChgZXJyb3I6ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpfWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBwcm9jZXNzLmV4aXQoZXhpdENvZGUpO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
|
|
1
|
+
import'source-map-support/register.js';import {p,q,f,d,i,e,h,j,a,b,s}from'./chunk-KGAW4IX4.js';import {realpathSync}from'fs';import {resolve}from'path';import {program}from'commander';function P(o){if(o.includes("://")||o.startsWith("data:"))return o;let i;try{i=realpathSync(o);}catch{i=resolve(o);}return `file://${i}`}async function I(o){let i$1=p.shape,e$1=q;program.name(o.name).argument("<source>","file://, http(s)://, data: URI, or filesystem path").option("-W, --width <number>",i$1.width.description,`${e$1.width}`).option("-H, --height <number>",i$1.height.description,`${e$1.height}`).option("-S, --screenshots <seconds>",i$1.screenshots.description,"").option("-f, --fps <number>",i$1.fps.description,`${e$1.fps}`).option("-t, --duration <number>",i$1.duration.description,`${e$1.duration}`).option("-o, --out-file <paths>",i$1.outFiles.description,e$1.outFiles.join(",")).option("-a, --with-audio",i$1.withAudio.description,e$1.withAudio).option("-d, --deterministic",i$1.deterministic.description,e$1.deterministic).option("--use-inner-proxy",i$1.useInnerProxy.description,e$1.useInnerProxy).option("--disable-gpu",i$1.disableGpu.description,e$1.disableGpu).option("--disable-hw-codec",i$1.disableHwCodec.description,e$1.disableHwCodec).option("--disable-web-security",i$1.disableWebSecurity.description,e$1.disableWebSecurity).option("--ignore-certificate-errors",i$1.ignoreCertificateErrors.description,e$1.ignoreCertificateErrors).option("--window-tolerant",i$1.windowTolerant.description,e$1.windowTolerant).option("--window-timeout <number>",i$1.windowTimeout.description,`${e$1.windowTimeout}`).action(async(a,r)=>{try{await o.run(P(a),{width:i(d,e$1.width)(r.width),height:i(d,e$1.height)(r.height),fps:i(d,e$1.fps)(r.fps),duration:i(d,e$1.duration)(r.duration),outFiles:f(e)(r.outFile),withAudio:r.withAudio??e$1.withAudio,useInnerProxy:r.useInnerProxy??e$1.useInnerProxy,deterministic:r.deterministic??e$1.deterministic,disableGpu:r.disableGpu??e$1.disableGpu,disableHwCodec:r.disableHwCodec??e$1.disableHwCodec,disableWebSecurity:r.disableWebSecurity??e$1.disableWebSecurity,ignoreCertificateErrors:r.ignoreCertificateErrors??e$1.ignoreCertificateErrors,windowTolerant:r.windowTolerant??e$1.windowTolerant,windowTimeout:i(d,e$1.windowTimeout)(r.windowTimeout),screenshots:f(d)(r.screenshots)});}catch(t){h.fatal(t);}}),await program.parseAsync(j());}I({name:"pup",run:async(o,i)=>{let e=new AbortController,a$1=0;process.once("SIGTERM",()=>{a$1=143,e.abort(new Error("SIGTERM"));}),process.once("SIGINT",()=>{a$1=130,e.abort(new Error("SIGINT"));}),process.once("exit",n=>{a$1=n,e.abort(new Error("SIGKILL"));});let r=Math.ceil(i.fps*i.duration),t=new a({total:r,out:process.stderr,showCount:true});h.impl=b(t);let C=performance.now();try{let{screenshots:n,outFiles:u}=await s(o,{...i,signal:e.signal,onProgress:T=>t.updatePercent(T)}),S=((performance.now()-C)/1e3).toFixed(2);t.update(r),n.length&&t.log(`screenshots \u2192 ${n.join(",")}`),u.length&&t.log(`videos \u2192 ${u.join(",")}`),t.finish(`summary \u2192 ${r} frames, ${i.width}x${i.height} @ ${i.fps}fps in ${S}s`);}catch(n){t.finish(`error: ${n instanceof Error?n.message:String(n)}`);}finally{process.exit(a$1);}}});//# sourceMappingURL=cli.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24udHMiLCIuLi9zcmMvY2xpLnRzIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVNvdXJjZSIsInMiLCJhYnMiLCJyZWFscGF0aFN5bmMiLCJyZXNvbHZlIiwibWFrZUNMSSIsIm9wdGlvbnMiLCJzaGFwZSIsInJlbmRlclNjaGVtYSIsImQiLCJkZWZhdWx0UmVuZGVyT3B0aW9ucyIsInByb2dyYW0iLCJzb3VyY2UiLCJvcHRzIiwibm9lcnIiLCJwYXJzZU51bWJlciIsInBhcnNlQXJyYXkiLCJwYXJzZVN0cmluZyIsImUiLCJsb2dnZXIiLCJwYXJncyIsImN0cmwiLCJleGl0Q29kZSIsImMiLCJ0b3RhbCIsImJhciIsIlByb2dyZXNzQmFyIiwiYmFyTG9nZ2VyIiwidDAiLCJzY3JlZW5zaG90cyIsIm91dEZpbGVzIiwicHVwIiwicCIsInNlYyJdLCJtYXBwaW5ncyI6IndMQVlBLFNBQVNBLENBQUFBLENBQWdCQyxDQUFBQSxDQUFtQixDQUMxQyxHQUFJQSxDQUFBQSxDQUFFLFFBQUEsQ0FBUyxLQUFLLENBQUEsRUFBS0EsQ0FBQUEsQ0FBRSxVQUFBLENBQVcsT0FBTyxDQUFBLENBQzNDLE9BQU9BLENBQUFBLENBRVQsSUFBSUMsQ0FBQUEsQ0FDSixHQUFJLENBQ0ZBLENBQUFBLENBQU1DLFlBQUFBLENBQWFGLENBQUMsRUFDdEIsQ0FBQSxLQUFRLENBQ05DLENBQUFBLENBQU1FLE9BQUFBLENBQVFILENBQUMsRUFDakIsQ0FDQSxPQUFPLENBQUEsT0FBQSxFQUFVQyxDQUFHLENBQUEsQ0FDdEIsQ0FPQSxlQUFzQkcsQ0FBQUEsQ0FBUUMsQ0FBQUEsQ0FBcUIsQ0FDakQsSUFBTUMsR0FBQUEsQ0FBUUMsQ0FBQUEsQ0FBYSxLQUFBLENBQ3JCQyxHQUFBQSxDQUFJQyxDQUFBQSxDQUNWQyxPQUFBQSxDQUNHLElBQUEsQ0FBS0wsQ0FBQUEsQ0FBUSxJQUFJLENBQUEsQ0FDakIsU0FBUyxVQUFBLENBQVksb0RBQW9ELENBQUEsQ0FDekUsTUFBQSxD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LENBQUksYUFBQSxDQUFjTyxDQUFDLENBQ3hDLENBQUMsQ0FBQSxDQUNLQyxDQUFBQSxDQUFBQSxDQUFBQSxDQUFRLFdBQUEsQ0FBWSxHQUFBLEVBQUksQ0FBSUwsQ0FBQUEsRUFBTSxHQUFBLEVBQU0sT0FBQSxDQUFRLENBQUMsQ0FBQSxDQUN2REgsQ0FBQUEsQ0FBSSxNQUFBLENBQU9ELENBQUssQ0FBQSxDQUNaSyxDQUFBQSxDQUFZLE1BQUEsRUFDZEosQ0FBQUEsQ0FBSSxHQUFBLENBQUksQ0FBQSxtQkFBQSxFQUFpQkksQ0FBQUEsQ0FBWSxJQUFBLENBQUssR0FBRyxDQUFDLENBQUEsQ0FBRSxDQUFBLENBRTlDQyxDQUFBQSxDQUFTLE1BQUEsRUFDWEwsQ0FBQUEsQ0FBSSxHQUFBLENBQUksQ0FBQSxjQUFBLEVBQVlLLENBQUFBLENBQVMsSUFBQSxDQUFLLEdBQUcsQ0FBQyxDQUFBLENBQUUsQ0FBQSxDQUUxQ0wsQ0FBQUEsQ0FBSSxNQUFBLENBQU8sQ0FBQSxlQUFBLEVBQWFELENBQUssQ0FBQSxTQUFBLEVBQVlsQixFQUFRLEtBQUssQ0FBQSxDQUFBLEVBQUlBLENBQUFBLENBQVEsTUFBTSxDQUFBLEdBQUEsRUFBTUEsQ0FBQUEsQ0FBUSxHQUFHLENBQUEsT0FBQSxFQUFVMkIsQ0FBRyxDQUFBLENBQUEsQ0FBRyxFQUMzRyxDQUFBLE1BQVNmLENBQUFBLENBQUcsQ0FDVk8sQ0FBQUEsQ0FBSSxNQUFBLENBQU8sVUFBVVAsQ0FBQUEsWUFBYSxLQUFBLENBQVFBLENBQUFBLENBQUUsT0FBQSxDQUFVLE1BQUEsQ0FBT0EsQ0FBQyxDQUFDLENBQUEsQ0FBRSxFQUNuRSxDQUFBLE9BQUUsQ0FDQSxPQUFBLENBQVEsSUFBQSxDQUFLSSxHQUFRLEVBQ3ZCLENBQ0YsQ0FDRixDQUFDLENBQUEiLCJmaWxlIjoiY2xpLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8wOS5cblxuaW1wb3J0IHsgcmVhbHBhdGhTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBwcm9ncmFtIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vYmFzZS9sb2dnaW5nXCI7XG5pbXBvcnQgeyBub2VyciB9IGZyb20gXCIuL2Jhc2Uvbm9lcnJcIjtcbmltcG9ydCB7IHBhcnNlQXJyYXksIHBhcnNlTnVtYmVyLCBwYXJzZVN0cmluZyB9IGZyb20gXCIuL2Jhc2UvcGFyc2VyXCI7XG5pbXBvcnQgeyBwYXJncyB9IGZyb20gXCIuL2Jhc2UvcHJvY2Vzc1wiO1xuaW1wb3J0IHsgZGVmYXVsdFJlbmRlck9wdGlvbnMsIHR5cGUgUmVuZGVyT3B0aW9ucywgcmVuZGVyU2NoZW1hIH0gZnJvbSBcIi4vcmVuZGVyZXIvc2NoZW1hXCI7XG5cbi8vIFNjaGVtZWQgVVJJcyBwYXNzIHRocm91Z2g7IGJhcmUgcGF0aHMgZ2V0IGNhbm9uaWNhbGl6ZWQgYW5kIHdyYXBwZWQgYXMgZmlsZTovLy5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNvdXJjZShzOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAocy5pbmNsdWRlcyhcIjovL1wiKSB8fCBzLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSkge1xuICAgIHJldHVybiBzO1xuICB9XG4gIGxldCBhYnM6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBhYnMgPSByZWFscGF0aFN5bmMocyk7XG4gIH0gY2F0Y2gge1xuICAgIGFicyA9IHJlc29sdmUocyk7XG4gIH1cbiAgcmV0dXJuIGBmaWxlOi8vJHthYnN9YDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDTElPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBydW46IChzb3VyY2U6IHN0cmluZywgb3B0aW9uczogUmVuZGVyT3B0aW9ucykgPT4gUHJvbWlzZTx1bmtub3duPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1ha2VDTEkob3B0aW9uczogQ0xJT3B0aW9ucykge1xuICBjb25zdCBzaGFwZSA9IHJlbmRlclNjaGVtYS5zaGFwZTtcbiAgY29uc3QgZCA9IGRlZmF1bHRSZW5kZXJPcHRpb25zO1xuICBwcm9ncmFtXG4gICAgLm5hbWUob3B0aW9ucy5uYW1lKVxuICAgIC5hcmd1bWVudChcIjxzb3VyY2U+XCIsIFwiZmlsZTovLywgaHR0cChzKTovLywgZGF0YTogVVJJLCBvciBmaWxlc3lzdGVtIHBhdGhcIilcbiAgICAub3B0aW9uKFwiLVcsIC0td2lkdGggPG51bWJlcj5cIiwgc2hhcGUud2lkdGguZGVzY3JpcHRpb24sIGAke2Qud2lkdGh9YClcbiAgICAub3B0aW9uKFwiLUgsIC0taGVpZ2h0IDxudW1iZXI+XCIsIHNoYXBlLmhlaWdodC5kZXNjcmlwdGlvbiwgYCR7ZC5oZWlnaHR9YClcbiAgICAub3B0aW9uKFwiLVMsIC0tc2NyZWVuc2hvdHMgPHNlY29uZHM+XCIsIHNoYXBlLnNjcmVlbnNob3RzLmRlc2NyaXB0aW9uLCBcIlwiKVxuICAgIC5vcHRpb24oXCItZiwgLS1mcHMgPG51bWJlcj5cIiwgc2hhcGUuZnBzLmRlc2NyaXB0aW9uLCBgJHtkLmZwc31gKVxuICAgIC5vcHRpb24oXCItdCwgLS1kdXJhdGlvbiA8bnVtYmVyPlwiLCBzaGFwZS5kdXJhdGlvbi5kZXNjcmlwdGlvbiwgYCR7ZC5kdXJhdGlvbn1gKVxuICAgIC5vcHRpb24oXCItbywgLS1vdXQtZmlsZSA8cGF0aHM+XCIsIHNoYXBlLm91dEZpbGVzLmRlc2NyaXB0aW9uLCBkLm91dEZpbGVzLmpvaW4oXCIsXCIpKVxuICAgIC5vcHRpb24oXCItYSwgLS13aXRoLWF1ZGlvXCIsIHNoYXBlLndpdGhBdWRpby5kZXNjcmlwdGlvbiwgZC53aXRoQXVkaW8pXG4gICAgLm9wdGlvbihcIi1kLCAtLWRldGVybWluaXN0aWNcIiwgc2hhcGUuZGV0ZXJtaW5pc3RpYy5kZXNjcmlwdGlvbiwgZC5kZXRlcm1pbmlzdGljKVxuICAgIC5vcHRpb24oXCItLXVzZS1pbm5lci1wcm94eVwiLCBzaGFwZS51c2VJbm5lclByb3h5LmRlc2NyaXB0aW9uLCBkLnVzZUlubmVyUHJveHkpXG4gICAgLm9wdGlvbihcIi0tZGlzYWJsZS1ncHVcIiwgc2hhcGUuZGlzYWJsZUdwdS5kZXNjcmlwdGlvbiwgZC5kaXNhYmxlR3B1KVxuICAgIC5vcHRpb24oXCItLWRpc2FibGUtaHctY29kZWNcIiwgc2hhcGUuZGlzYWJsZUh3Q29kZWMuZGVzY3JpcHRpb24sIGQuZGlzYWJsZUh3Q29kZWMpXG4gICAgLm9wdGlvbihcIi0tZGlzYWJsZS13ZWItc2VjdXJpdHlcIiwgc2hhcGUuZGlzYWJsZVdlYlNlY3VyaXR5LmRlc2NyaXB0aW9uLCBkLmRpc2FibGVXZWJTZWN1cml0eSlcbiAgICAub3B0aW9uKFwiLS1pZ25vcmUtY2VydGlmaWNhdGUtZXJyb3JzXCIsIHNoYXBlLmlnbm9yZUNlcnRpZmljYXRlRXJyb3JzLmRlc2NyaXB0aW9uLCBkLmlnbm9yZUNlcnRpZmljYXRlRXJyb3JzKVxuICAgIC5vcHRpb24oXCItLXdpbmRvdy10b2xlcmFudFwiLCBzaGFwZS53aW5kb3dUb2xlcmFudC5kZXNjcmlwdGlvbiwgZC53aW5kb3dUb2xlcmFudClcbiAgICAub3B0aW9uKFwiLS13aW5kb3ctdGltZW91dCA8bnVtYmVyPlwiLCBzaGFwZS53aW5kb3dUaW1lb3V0LmRlc2NyaXB0aW9uLCBgJHtkLndpbmRvd1RpbWVvdXR9YClcbiAgICAuYWN0aW9uKGFzeW5jIChzb3VyY2U6IHN0cmluZywgb3B0cykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgb3B0aW9ucy5ydW4obm9ybWFsaXplU291cmNlKHNvdXJjZSksIHtcbiAgICAgICAgICB3aWR0aDogbm9lcnIocGFyc2VOdW1iZXIsIGQud2lkdGgpKG9wdHMud2lkdGgpLFxuICAgICAgICAgIGhlaWdodDogbm9lcnIocGFyc2VOdW1iZXIsIGQuaGVpZ2h0KShvcHRzLmhlaWdodCksXG4gICAgICAgICAgZnBzOiBub2VycihwYXJzZU51bWJlciwgZC5mcHMpKG9wdHMuZnBzKSxcbiAgICAgICAgICBkdXJhdGlvbjogbm9lcnIocGFyc2VOdW1iZXIsIGQuZHVyYXRpb24pKG9wdHMuZHVyYXRpb24pLFxuICAgICAgICAgIG91dEZpbGVzOiBwYXJzZUFycmF5KHBhcnNlU3RyaW5nKShvcHRzLm91dEZpbGUpLFxuICAgICAgICAgIHdpdGhBdWRpbzogb3B0cy53aXRoQXVkaW8gPz8gZC53aXRoQXVkaW8sXG4gICAgICAgICAgdXNlSW5uZXJQcm94eTogb3B0cy51c2VJbm5lclByb3h5ID8/IGQudXNlSW5uZXJQcm94eSxcbiAgICAgICAgICBkZXRlcm1pbmlzdGljOiBvcHRzLmRldGVybWluaXN0aWMgPz8gZC5kZXRlcm1pbmlzdGljLFxuICAgICAgICAgIGRpc2FibGVHcHU6IG9wdHMuZGlzYWJsZUdwdSA/PyBkLmRpc2FibGVHcHUsXG4gICAgICAgICAgZGlzYWJsZUh3Q29kZWM6IG9wdHMuZGlzYWJsZUh3Q29kZWMgPz8gZC5kaXNhYmxlSHdDb2RlYyxcbiAgICAgICAgICBkaXNhYmxlV2ViU2VjdXJpdHk6IG9wdHMuZGlzYWJsZVdlYlNlY3VyaXR5ID8/IGQuZGlzYWJsZVdlYlNlY3VyaXR5LFxuICAgICAgICAgIGlnbm9yZUNlcnRpZmljYXRlRXJyb3JzOiBvcHRzLmlnbm9yZUNlcnRpZmljYXRlRXJyb3JzID8/IGQuaWdub3JlQ2VydGlmaWNhdGVFcnJvcnMsXG4gICAgICAgICAgd2luZG93VG9sZXJhbnQ6IG9wdHMud2luZG93VG9sZXJhbnQgPz8gZC53aW5kb3dUb2xlcmFudCxcbiAgICAgICAgICB3aW5kb3dUaW1lb3V0OiBub2VycihwYXJzZU51bWJlciwgZC53aW5kb3dUaW1lb3V0KShvcHRzLndpbmRvd1RpbWVvdXQpLFxuICAgICAgICAgIHNjcmVlbnNob3RzOiBwYXJzZUFycmF5KHBhcnNlTnVtYmVyKShvcHRzLnNjcmVlbnNob3RzKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZ2dlci5mYXRhbChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgYXdhaXQgcHJvZ3JhbS5wYXJzZUFzeW5jKHBhcmdzKCkpO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMi8yNS5cblxuaW1wb3J0IHsgYmFyTG9nZ2VyLCBQcm9ncmVzc0JhciB9IGZyb20gXCIuL2Jhc2UvY2xpX3VpXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi9iYXNlL2xvZ2dpbmdcIjtcbmltcG9ydCB7IG1ha2VDTEkgfSBmcm9tIFwiLi9jb21tb25cIjtcbmltcG9ydCB7IHB1cCB9IGZyb20gXCIuL3B1cFwiO1xuXG5tYWtlQ0xJKHtcbiAgbmFtZTogXCJwdXBcIixcbiAgcnVuOiBhc3luYyAoc291cmNlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBsZXQgZXhpdENvZGUgPSAwO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR1RFUk1cIiwgKCkgPT4ge1xuICAgICAgZXhpdENvZGUgPSAxNDM7XG4gICAgICBjdHJsLmFib3J0KG5ldyBFcnJvcihcIlNJR1RFUk1cIikpO1xuICAgIH0pO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR0lOVFwiLCAoKSA9PiB7XG4gICAgICBleGl0Q29kZSA9IDEzMDtcbiAgICAgIGN0cmwuYWJvcnQobmV3IEVycm9yKFwiU0lHSU5UXCIpKTtcbiAgICB9KTtcbiAgICBwcm9jZXNzLm9uY2UoXCJleGl0XCIsIChjKSA9PiB7XG4gICAgICBleGl0Q29kZSA9IGM7XG4gICAgICBjdHJsLmFib3J0KG5ldyBFcnJvcihcIlNJR0tJTExcIikpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG90YWwgPSBNYXRoLmNlaWwob3B0aW9ucy5mcHMgKiBvcHRpb25zLmR1cmF0aW9uKTtcbiAgICBjb25zdCBiYXIgPSBuZXcgUHJvZ3Jlc3NCYXIoeyB0b3RhbCwgb3V0OiBwcm9jZXNzLnN0ZGVyciwgc2hvd0NvdW50OiB0cnVlIH0pO1xuICAgIGxvZ2dlci5pbXBsID0gYmFyTG9nZ2VyKGJhcik7XG5cbiAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHNjcmVlbnNob3RzLCBvdXRGaWxlcyB9ID0gYXdhaXQgcHVwKHNvdXJjZSwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBzaWduYWw6IGN0cmwuc2lnbmFsLFxuICAgICAgICBvblByb2dyZXNzOiAocCkgPT4gYmFyLnVwZGF0ZVBlcmNlbnQocCksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHNlYyA9ICgocGVyZm9ybWFuY2Uubm93KCkgLSB0MCkgLyAxMDAwKS50b0ZpeGVkKDIpO1xuICAgICAgYmFyLnVwZGF0ZSh0b3RhbCk7XG4gICAgICBpZiAoc2NyZWVuc2hvdHMubGVuZ3RoKSB7XG4gICAgICAgIGJhci5sb2coYHNjcmVlbnNob3RzIOKGkiAke3NjcmVlbnNob3RzLmpvaW4oXCIsXCIpfWApO1xuICAgICAgfVxuICAgICAgaWYgKG91dEZpbGVzLmxlbmd0aCkge1xuICAgICAgICBiYXIubG9nKGB2aWRlb3Mg4oaSICR7b3V0RmlsZXMuam9pbihcIixcIil9YCk7XG4gICAgICB9XG4gICAgICBiYXIuZmluaXNoKGBzdW1tYXJ5IOKGkiAke3RvdGFsfSBmcmFtZXMsICR7b3B0aW9ucy53aWR0aH14JHtvcHRpb25zLmhlaWdodH0gQCAke29wdGlvbnMuZnBzfWZwcyBpbiAke3NlY31zYCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYmFyLmZpbmlzaChgZXJyb3I6ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpfWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBwcm9jZXNzLmV4aXQoZXhpdENvZGUpO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'source-map-support/register.js';export{n as DEFAULT_DURATION,m as DEFAULT_FPS,l as DEFAULT_HEIGHT,k as DEFAULT_WIDTH,o as DEFAULT_WINDOW_TIMEOUT,r as Lazy,g as Logger,a as ProgressBar,b as barLogger,h as logger,i as noerr,d as parseNumber,c as penv,s as pup}from'./chunk-
|
|
1
|
+
import'source-map-support/register.js';export{n as DEFAULT_DURATION,m as DEFAULT_FPS,l as DEFAULT_HEIGHT,k as DEFAULT_WIDTH,o as DEFAULT_WINDOW_TIMEOUT,r as Lazy,g as Logger,a as ProgressBar,b as barLogger,h as logger,i as noerr,d as parseNumber,c as penv,s as pup}from'./chunk-KGAW4IX4.js';import {setTimeout as setTimeout$1}from'timers/promises';function u(t){return new Promise(r=>setTimeout(r,t))}function E(t,r){let e,o=false;async function i(s){let n=await t(s);o||(e=setTimeout(()=>i(s+1),n??r));}return e=setTimeout(()=>i(0),r),()=>{o=true,clearTimeout(e);}}function D({fn:t,maxAttempts:r=3,timeout:e,signal:o}){let i=new Error(`timeout over ${e}ms`);return async(...s)=>{let n=0;for(;;){o?.throwIfAborted();try{let m=[t(...s)];return e&&m.push(setTimeout$1(e).then(()=>{throw i})),await Promise.race(m)}catch(m){if(o?.throwIfAborted(),n++,n>=r)throw m;await u(2**n*100+Math.random()*100);}}}}export{E as periodical,u as sleep,D as useRetry};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlL3RpbWluZy50cyIsIi4uL3NyYy9iYXNlL3JldHJ5LnRzIl0sIm5hbWVzIjpbInNsZWVwIiwibXMiLCJyZXNvbHZlIiwicGVyaW9kaWNhbCIsImNhbGxiYWNrIiwidG9rZW4iLCJjbG9zZWQiLCJ0aWNrIiwiY291bnQiLCJuZXh0IiwidXNlUmV0cnkiLCJmbiIsIm1heEF0dGVtcHRzIiwidGltZW91dCIsInNpZ25hbCIsInRpbWVvdXRFcnJvciIsImFyZ3MiLCJhdHRlbXB0IiwicHJvbWlzZXMiLCJzZXRUaW1lb3V0IiwiZSJdLCJtYXBwaW5ncyI6IjRWQUVPLFNBQVNBLEVBQU1DLENBQUFBLENBQVksQ0FDaEMsT0FBTyxJQUFJLFFBQWVDLENBQUFBLEVBQVksVUFBQSxDQUFXQSxDQUFBQSxDQUFTRCxDQUFFLENBQUMsQ0FDL0QsQ0FzQk8sU0FBU0UsQ0FBQUEsQ0FBV0MsRUFBc0VILENBQUFBLENBQVksQ0FDM0csSUFBSUksQ0FBQUEsQ0FDQUMsRUFBUyxLQUFBLENBQ2IsZUFBZUMsQ0FBQUEsQ0FBS0MsQ0FBQUEsQ0FBZSxDQUNqQyxJQUFNQyxDQUFBQSxDQUFPLE1BQU1MLENBQUFBLENBQVNJLENBQUssQ0FBQSxDQUM3QkYsQ0FBQUEsR0FHSkQsQ0FBQUEsQ0FBUSxVQUFBLENBQVcsSUFBTUUsQ0FBQUEsQ0FBS0MsQ0FBQUEsQ0FBUSxDQUFDLENBQUEsQ0FBR0MsR0FBUVIsQ0FBRSxDQUFBLEVBQ3RELENBQ0EsT0FBQUksRUFBUSxVQUFBLENBQVcsSUFBTUUsQ0FBQUEsQ0FBSyxDQUFDLEVBQUdOLENBQUUsQ0FBQSxDQUM3QixJQUFNLENBQ1hLLEVBQVMsSUFBQSxDQUNULFlBQUEsQ0FBYUQsQ0FBSyxFQUNwQixDQUNGLENDNUJPLFNBQVNLLENBQUFBLENBQXNDLENBQ3BELEdBQUFDLENBQUFBLENBQ0EsV0FBQSxDQUFBQyxDQUFBQSxDQUFjLENBQUEsQ0FDZCxRQUFBQyxDQUFBQSxDQUNBLE1BQUEsQ0FBQUMsQ0FDRixDQUFBLENBQTRCLENBQzFCLElBQU1DLENBQUFBLENBQWUsSUFBSSxNQUFNLENBQUEsYUFBQSxFQUFnQkYsQ0FBTyxDQUFBLEVBQUEsQ0FBSSxDQUFBLENBQzFELE9BQU8sTUFBQSxHQUFVRyxDQUFBQSxHQUFlLENBQzlCLElBQUlDLEVBQVUsQ0FBQSxDQUNkLE9BQWEsQ0FDWEgsQ0FBQUEsRUFBUSxnQkFBZSxDQUN2QixHQUFJLENBQ0YsSUFBTUksRUFBVyxDQUFDUCxDQUFBQSxDQUFHLEdBQUdLLENBQUksQ0FBQyxDQUFBLENBQzdCLE9BQUlILENBQUFBLEVBQ0ZLLENBQUFBLENBQVMsS0FDUEMsWUFBQUEsQ0FBV04sQ0FBTyxDQUFBLENBQUUsSUFBQSxDQUFLLElBQU0sQ0FDN0IsTUFBTUUsQ0FDUixDQUFDLENBQ0gsQ0FBQSxDQUVLLE1BQU0sT0FBQSxDQUFRLElBQUEsQ0FBS0csQ0FBUSxDQUNwQyxDQUFBLE1BQVNFLENBQUFBLENBQUcsQ0FHVixHQUZBTixDQUFBQSxFQUFRLGNBQUEsRUFBZSxDQUN2QkcsQ0FBQUEsRUFBQUEsQ0FDSUEsR0FBV0wsQ0FBQUEsQ0FDYixNQUFNUSxDQUFBQSxDQUVSLE1BQU1wQixFQUFNLENBQUEsRUFBS2lCLENBQUFBLENBQVUsR0FBQSxDQUFNLElBQUEsQ0FBSyxRQUFPLENBQUksR0FBRyxFQUN0RCxDQUNGLENBQ0YsQ0FDRiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDIvMDkuXG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFRpbWVvdXQ8VD4ocDogUHJvbWlzZTxUPiwgbXM6IG51bWJlciwgbGFiZWw6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiByZWplY3QobmV3IEVycm9yKGAke2xhYmVsfSB0aW1lZCBvdXQgYWZ0ZXIgJHttc31tc2ApKSwgbXMpO1xuICAgIHAudGhlbihyZXNvbHZlLCByZWplY3QpLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKSk7XG4gIH0pO1xufVxuXG4vLyBSZWplY3QgYXMgc29vbiBhcyBgc2lnbmFsYCBhYm9ydHMsIGVsc2Ugc2V0dGxlIHdpdGggYHBgOyBuby1vcCBwYXNzdGhyb3VnaCB3aGVuIG5vIHNpZ25hbC5cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydGFibGU8VD4ocDogUHJvbWlzZTxUPiwgc2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFzaWduYWwpIHtcbiAgICByZXR1cm4gcDtcbiAgfVxuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IG9uQWJvcnQgPSAoKSA9PiByZWplY3Qoc2lnbmFsLnJlYXNvbik7XG4gICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBvbkFib3J0LCB7IG9uY2U6IHRydWUgfSk7XG4gICAgcC50aGVuKHJlc29sdmUsIHJlamVjdCkuZmluYWxseSgoKSA9PiBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIG9uQWJvcnQpKTtcbiAgfSk7XG59XG5cbi8vIENhbGxiYWNrIG1heSByZXR1cm4gdGhlIG5leHQgaW50ZXJ2YWwgKG1zKSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBmb3IgdGhlIGZvbGxvd2luZyB0aWNrLlxuZXhwb3J0IGZ1bmN0aW9uIHBlcmlvZGljYWwoY2FsbGJhY2s6IChjb3VudDogbnVtYmVyKSA9PiBQcm9taXNlPG51bWJlciB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQsIG1zOiBudW1iZXIpIHtcbiAgbGV0IHRva2VuOiBOb2RlSlMuVGltZW91dDtcbiAgbGV0IGNsb3NlZCA9IGZhbHNlO1xuICBhc3luYyBmdW5jdGlvbiB0aWNrKGNvdW50OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0ID0gYXdhaXQgY2FsbGJhY2soY291bnQpO1xuICAgIGlmIChjbG9zZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdG9rZW4gPSBzZXRUaW1lb3V0KCgpID0+IHRpY2soY291bnQgKyAxKSwgbmV4dCA/PyBtcyk7XG4gIH1cbiAgdG9rZW4gPSBzZXRUaW1lb3V0KCgpID0+IHRpY2soMCksIG1zKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBjbG9zZWQgPSB0cnVlO1xuICAgIGNsZWFyVGltZW91dCh0b2tlbik7XG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA1LlxuXG5pbXBvcnQgeyBzZXRUaW1lb3V0IH0gZnJvbSBcIm5vZGU6dGltZXJzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBzbGVlcCB9IGZyb20gXCIuL3RpbWluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5T3B0aW9uczxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXQ+IHtcbiAgZm46ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJldD47XG4gIG1heEF0dGVtcHRzPzogbnVtYmVyO1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICAvLyBBYm9ydCBiYWlscyBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJldHJ5aW5nOyBzaWduYWwgaXMgbm90IGF1dG8tdGhyZWFkZWQgaW50byBmbiDigJQgY2FsbGVyIHdpcmVzIGl0IChmZXRjaCwgUzMgc2VuZCkuXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlUmV0cnk8QXJncyBleHRlbmRzIHVua25vd25bXSwgUmV0Pih7XG4gIGZuLFxuICBtYXhBdHRlbXB0cyA9IDMsXG4gIHRpbWVvdXQsXG4gIHNpZ25hbCxcbn06IFJldHJ5T3B0aW9uczxBcmdzLCBSZXQ+KSB7XG4gIGNvbnN0IHRpbWVvdXRFcnJvciA9IG5ldyBFcnJvcihgdGltZW91dCBvdmVyICR7dGltZW91dH1tc2ApO1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpID0+IHtcbiAgICBsZXQgYXR0ZW1wdCA9IDA7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW2ZuKC4uLmFyZ3MpXTtcbiAgICAgICAgaWYgKHRpbWVvdXQpIHtcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgc2V0VGltZW91dCh0aW1lb3V0KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhyb3cgdGltZW91dEVycm9yO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yYWNlKHByb21pc2VzKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2lnbmFsPy50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICBhdHRlbXB0Kys7XG4gICAgICAgIGlmIChhdHRlbXB0ID49IG1heEF0dGVtcHRzKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBzbGVlcCgyICoqIGF0dGVtcHQgKiAxMDAgKyBNYXRoLnJhbmRvbSgpICogMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
@@ -15,5 +15,5 @@ class PupCapture extends AudioWorkletProcessor {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
registerProcessor('pup-capture', PupCapture);
|
|
18
|
-
`;function s(){if(window.__pup_audio_capturing__)return;window.__pup_audio_capturing__=true;let i=window.AudioContext||window.webkitAudioContext;if(!i)return;let r=new WeakSet,d=new WeakSet,c,_=()=>(c??=(async()=>{let t=new i,e=URL.createObjectURL(new Blob([A],{type:"application/javascript"}));await t.audioWorklet.addModule(e),URL.revokeObjectURL(e);let o=new AudioWorkletNode(t,"pup-capture"),n=t.createGain();return n.gain.value=0,o.connect(n).connect(t.destination),o.port.onmessage=a=>{window.__pup_audio__?.chunk(a.data);},window.__pup_audio__?.meta(t.sampleRate),t.resume(),{ctx:t,node:o}})(),c),l=AudioContext.prototype.createMediaElementSource;AudioContext.prototype.createMediaElementSource=function(t){return d.add(t),l.call(this,t)};let p=AudioNode.prototype.connect;AudioNode.prototype.connect=function(t,e,o){let n=t.context,a=n?.__pup_capture_dest__;return a&&n&&t===n.destination&&this!==a&&p.call(this,a,e,o),p.call(this,t,e,o)};function u(...t){let e=new i(...t);if(!r.has(e)){r.add(e);let o=e.createMediaStreamDestination();e.__pup_capture_dest__=o,_().then(n=>n.ctx.createMediaStreamSource(o.stream).connect(n.node));}return e}u.prototype=i.prototype,Object.setPrototypeOf(u,i),window.AudioContext=u,"webkitAudioContext"in window&&(window.webkitAudioContext=u);let w=HTMLMediaElement.prototype.play;HTMLMediaElement.prototype.play=function(){return this.__pup_captured__||(this.__pup_captured__=true,Promise.resolve().then(()=>{if(!d.has(this)){let t=new u;t.createMediaElementSource(this).connect(t.destination);}})),w.call(this)};}s();})();//# sourceMappingURL=audio.global.js.map
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2F1ZGlvL2NhcHR1cmUudHMiLCIuLi8uLi9zcmMvcnVudGltZS9hdWRpby50cyJdLCJuYW1lcyI6WyJXT1JLTEVUX1NSQyIsImluc3RhbGxBdWRpb0NhcHR1cmUiLCJPUklHX0FDIiwiY2FwdHVyZWRDb250ZXh0cyIsInNvdXJjZWRFbGVtZW50cyIsIm1hc3RlciIsImVuc3VyZU1hc3RlciIsImN0eCIsInVybCIsIm5vZGUiLCJtdXRlIiwiZSIsIm9yaWdDcmVhdGVNRVMiLCJlbCIsIm9yaWdDb25uZWN0IiwiZGVzdCIsIm91dElkeCIsImluSWR4IiwiY2FwdHVyZURlc3QiLCJQYXRjaGVkQUMiLCJhcmdzIiwibSIsIm9yaWdQbGF5Il0sIm1hcHBpbmdzIjoieUJBMkJBLElBQU1BLENBQUFBLENBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLENBQUEsQ0FvQmIsU0FBU0MsQ0FBQUEsRUFBNEIsQ0FDMUMsR0FBSSxPQUFPLHVCQUFBLENBQ1QsT0FFRixNQUFBLENBQU8sdUJBQUEsQ0FBMEIsSUFBQSxDQUVqQyxJQUFNQyxDQUFBQSxDQUFVLE1BQUEsQ0FBTyxjQUFnQixNQUFBLENBQU8sa0JBQUEsQ0FDOUMsR0FBSSxDQUFDQSxDQUFBQSxDQUNILE9BR0YsSUFBTUMsQ0FBQUEsQ0FBbUIsSUFBSSxPQUFBLENBQ3ZCQyxDQUFBQSxDQUFrQixJQUFJLE9BQUEsQ0FHeEJDLEVBRUVDLENBQUFBLENBQWUsS0FDbkJELENBQUFBLEdBQUFBLENBQVksU0FBWSxDQUN0QixJQUFNRSxDQUFBQSxDQUFNLElBQUlMLENBQUFBLENBQ1ZNLENBQUFBLENBQU0sR0FBQSxDQUFJLGVBQUEsQ0FBZ0IsSUFBSSxLQUFLLENBQUNSLENBQVcsQ0FBQSxDQUFHLENBQUUsSUFBQSxDQUFNLHdCQUF5QixDQUFDLENBQUMsRUFDM0YsTUFBTU8s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LENBQzVDLGdCQUFBLENBQWlCLFVBQVUsSUFBQSxDQUFPLFVBQVksQ0FDNUMsT0FBSyxLQUFLLGdCQUFBLEdBQ1IsSUFBQSxDQUFLLGdCQUFBLENBQW1CLElBQUEsQ0FDeEIsT0FBQSxDQUFRLE9BQUEsRUFBUSxDQUFFLElBQUEsQ0FBSyxJQUFNLENBQzNCLEdBQUksQ0FBQ2xCLENBQUFBLENBQWdCLElBQUksSUFBSSxDQUFBLENBQUcsQ0FDOUIsSUFBTUcsRUFBTSxJQUFLWSxDQUFBQSxDQUNqQlosQ0FBQUEsQ0FBSSx3QkFBQSxDQUF5QixJQUFJLENBQUEsQ0FBRSxPQUFBLENBQVFBLENBQUFBLENBQUksV0FBVyxFQUM1RCxDQUNGLENBQUMsQ0FBQSxDQUFBLENBRUllLEVBQVMsSUFBQSxDQUFLLElBQUksQ0FDM0IsRUFDRixDQ3ZJQXJCLENBQUFBLEVBQW9CIiwiZmlsZSI6ImF1ZGlvLmdsb2JhbC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDQvMjguXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgX19wdXBfYXVkaW9fY2FwdHVyaW5nX18/OiBib29sZWFuO1xuICAgIHdlYmtpdEF1ZGlvQ29udGV4dD86IHR5cGVvZiBBdWRpb0NvbnRleHQ7XG4gICAgX19wdXBfYXVkaW9fXz86IFB1cEF1ZGlvQnJpZGdlO1xuICB9XG4gIGludGVyZmFjZSBBdWRpb0NvbnRleHQge1xuICAgIF9fcHVwX2NhcHR1cmVfZGVzdF9fPzogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTtcbiAgfVxuICBpbnRlcmZhY2UgSFRNTE1lZGlhRWxlbWVudCB7XG4gICAgX19wdXBfY2FwdHVyZWRfXz86IGJvb2xlYW47XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXBBdWRpb0JyaWRnZSB7XG4gIG1ldGE6IChzYW1wbGVSYXRlOiBudW1iZXIpID0+IHZvaWQ7XG4gIGNodW5rOiAocGNtOiBGbG9hdDMyQXJyYXkpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBNYXN0ZXIge1xuICBjdHg6IEF1ZGlvQ29udGV4dDtcbiAgbm9kZTogQXVkaW9Xb3JrbGV0Tm9kZTtcbn1cblxuLy8gUnVucyBvbiB0aGUgd29ya2xldCB0aHJlYWQsIHNvIGl0IHNoaXBzIGFzIHNvdXJjZSB0ZXh0IGluc3RlYWQgb2YgYXMgcGFydCBvZiB0aGlzIGJ1bmRsZS5cbmNvbnN0IFdPUktMRVRfU1JDID0gYFxuY2xhc3MgUHVwQ2FwdHVyZSBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3NvciB7XG4gIHByb2Nlc3MoaW5wdXRzKSB7XG4gICAgY29uc3QgaW5wdXQgPSBpbnB1dHNbMF07XG4gICAgaWYgKCFpbnB1dCB8fCAhaW5wdXQubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBMID0gaW5wdXRbMF07XG4gICAgY29uc3QgUiA9IGlucHV0WzFdIHx8IEw7XG4gICAgY29uc3Qgb3V0ID0gbmV3IEZsb2F0MzJBcnJheShMLmxlbmd0aCAqIDIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTC5sZW5ndGg7IGkrKykge1xuICAgICAgb3V0W2kgKiAyXSA9IExbaV07XG4gICAgICBvdXRbaSAqIDIgKyAxXSA9IFJbaV07XG4gICAgfVxuICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZShvdXQsIFtvdXQuYnVmZmVyXSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbnJlZ2lzdGVyUHJvY2Vzc29yKCdwdXAtY2FwdHVyZScsIFB1cENhcHR1cmUpO1xuYDtcblxuLy8gUGFnZS13b3JsZCBjYXB0dXJlOiBwYXRjaGVzIEF1ZGlvQ29udGV4dC9IVE1MTWVkaWFFbGVtZW50LCB0aGVuIGhhbmRzIFBDTSB0byB0aGUgcHJlbG9hZCBicmlkZ2UgZm9yIElQQy5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YWxsQXVkaW9DYXB0dXJlKCk6IHZvaWQge1xuICBpZiAod2luZG93Ll9fcHVwX2F1ZGlvX2NhcHR1cmluZ19fKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHdpbmRvdy5fX3B1cF9hdWRpb19jYXB0dXJpbmdfXyA9IHRydWU7XG5cbiAgY29uc3QgT1JJR19BQyA9IHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dDtcbiAgaWYgKCFPUklHX0FDKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY2FwdHVyZWRDb250ZXh0cyA9IG5ldyBXZWFrU2V0PEF1ZGlvQ29udGV4dD4oKTtcbiAgY29uc3Qgc291cmNlZEVsZW1lbnRzID0gbmV3IFdlYWtTZXQ8SFRNTE1lZGlhRWxlbWVudD4oKTtcblxuICAvLyBPbmUgbWFzdGVyIGNvbnRleHQgbWl4ZXMgZXZlcnkgcGFnZSBjb250ZXh0LCBzbyB0aGUgZW5jb2RlciBzZWVzIGEgc2luZ2xlIHN0cmVhbSB3aGF0ZXZlciB0aGUgcGFnZSBidWlsZHMuXG4gIGxldCBtYXN0ZXI6IFByb21pc2U8TWFzdGVyPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdCBlbnN1cmVNYXN0ZXIgPSAoKTogUHJvbWlzZTxNYXN0ZXI+ID0+IHtcbiAgICBtYXN0ZXIgPz89IChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjdHggPSBuZXcgT1JJR19BQygpO1xuICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbV09SS0xFVF9TUkNdLCB7IHR5cGU6IFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiIH0pKTtcbiAgICAgIGF3YWl0IGN0eC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKHVybCk7XG4gICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgICBjb25zdCBub2RlID0gbmV3IEF1ZGlvV29ya2xldE5vZGUoY3R4LCBcInB1cC1jYXB0dXJlXCIpO1xuICAgICAgLy8gTXV0ZWQgcGF0aCB0byB0aGUgZGVzdGluYXRpb246IGEgd29ya2xldCB0aGF0IHJlYWNoZXMgbm8gc2luayBpcyBuZXZlciBwdWxsZWQsIHNvIGl0IHdvdWxkIGNhcHR1cmUgbm90aGluZy5cbiAgICAgIGNvbnN0IG11dGUgPSBjdHguY3JlYXRlR2FpbigpO1xuICAgICAgbXV0ZS5nYWluLnZhbHVlID0gMDtcbiAgICAgIG5vZGUuY29ubmVjdChtdXRlKS5jb25uZWN0KGN0eC5kZXN0aW5hdGlvbik7XG4gICAgICBub2RlLnBvcnQub25tZXNzYWdlID0gKGU6IE1lc3NhZ2VFdmVudDxGbG9hdDMyQXJyYXk+KSA9PiB7XG4gICAgICAgIC8vIFJlc29sdmVkIHBlciBjYWxsOiBjb250ZXh0QnJpZGdlIG1heSBleHBvc2UgdGhlIGNoYW5uZWwgYWZ0ZXIgdGhpcyBzY3JpcHQgaGFzIGFscmVhZHkgcnVuLlxuICAgICAgICB3aW5kb3cuX19wdXBfYXVkaW9fXz8uY2h1bmsoZS5kYXRhKTtcbiAgICAgIH07XG4gICAgICB3aW5kb3cuX19wdXBfYXVkaW9fXz8ubWV0YShjdHguc2FtcGxlUmF0ZSk7XG4gICAgICB2b2lkIGN0eC5yZXN1bWUoKTtcbiAgICAgIHJldHVybiB7IGN0eCwgbm9kZSB9O1xuICAgIH0pKCk7XG4gICAgcmV0dXJuIG1hc3RlcjtcbiAgfTtcblxuICBjb25zdCBvcmlnQ3JlYXRlTUVTID0gQXVkaW9Db250ZXh0LnByb3RvdHlwZS5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2U7XG4gIEF1ZGlvQ29udGV4dC5wcm90b3R5cGUuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlID0gZnVuY3Rpb24gKGVsKSB7XG4gICAgc291cmNlZEVsZW1lbnRzLmFkZChlbCk7XG4gICAgcmV0dXJuIG9yaWdDcmVhdGVNRVMuY2FsbCh0aGlzLCBlbCk7XG4gIH07XG5cbiAgY29uc3Qgb3JpZ0Nvbm5lY3QgPSBBdWRpb05vZGUucHJvdG90eXBlLmNvbm5lY3QgYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gQXVkaW9Ob2RlO1xuICBBdWRpb05vZGUucHJvdG90eXBlLmNvbm5lY3QgPSBmdW5jdGlvbiAoXG4gICAgdGhpczogQXVkaW9Ob2RlLFxuICAgIGRlc3Q6IEF1ZGlvTm9kZSB8IEF1ZGlvUGFyYW0sXG4gICAgb3V0SWR4PzogbnVtYmVyLFxuICAgIGluSWR4PzogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBjdHggPSAoZGVzdCBhcyBBdWRpb05vZGUpLmNvbnRleHQgYXMgQXVkaW9Db250ZXh0IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNhcHR1cmVEZXN0ID0gY3R4Py5fX3B1cF9jYXB0dXJlX2Rlc3RfXztcbiAgICBpZiAoY2FwdHVyZURlc3QgJiYgY3R4ICYmIGRlc3QgPT09IGN0eC5kZXN0aW5hdGlvbiAmJiB0aGlzICE9PSBjYXB0dXJlRGVzdCkge1xuICAgICAgb3JpZ0Nvbm5lY3QuY2FsbCh0aGlzLCBjYXB0dXJlRGVzdCwgb3V0SWR4LCBpbklkeCk7XG4gICAgfVxuICAgIHJldHVybiBvcmlnQ29ubmVjdC5jYWxsKHRoaXMsIGRlc3QsIG91dElkeCwgaW5JZHgpO1xuICB9IGFzIHR5cGVvZiBBdWRpb05vZGUucHJvdG90eXBlLmNvbm5lY3Q7XG5cbiAgZnVuY3Rpb24gUGF0Y2hlZEFDKHRoaXM6IEF1ZGlvQ29udGV4dCwgLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgY29uc3QgY3R4ID0gbmV3IChPUklHX0FDIGFzIHsgbmV3ICguLi5hOiB1bmtub3duW10pOiBBdWRpb0NvbnRleHQgfSkoLi4uYXJncyk7XG4gICAgaWYgKCFjYXB0dXJlZENvbnRleHRzLmhhcyhjdHgpKSB7XG4gICAgICBjYXB0dXJlZENvbnRleHRzLmFkZChjdHgpO1xuICAgICAgLy8gVGFwIGFzc2lnbmVkIHN5bmNocm9ub3VzbHksIHNvIGEgY29ubmVjdCgpIGlzc3VlZCByaWdodCBhZnRlciBjb25zdHJ1Y3Rpb24gYWxyZWFkeSByb3V0ZXMgaW50byBpdC5cbiAgICAgIGNvbnN0IGNhcHR1cmVEZXN0ID0gY3R4LmNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKTtcbiAgICAgIGN0eC5fX3B1cF9jYXB0dXJlX2Rlc3RfXyA9IGNhcHR1cmVEZXN0O1xuICAgICAgLy8gVGhlIHRhcCBiZWxvbmdzIHRvIHRoZSBtYXN0ZXIgY29udGV4dDogY29ubmVjdGluZyBub2RlcyBhY3Jvc3MgY29udGV4dHMgaXMgYW4gZXJyb3IuXG4gICAgICB2b2lkIGVuc3VyZU1hc3RlcigpLnRoZW4oKG0pID0+IG0uY3R4LmNyZWF0ZU1lZGlhU3RyZWFtU291cmNlKGNhcHR1cmVEZXN0LnN0cmVhbSkuY29ubmVjdChtLm5vZGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIGN0eDtcbiAgfVxuICBQYXRjaGVkQUMucHJvdG90eXBlID0gT1JJR19BQy5wcm90b3R5cGU7XG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihQYXRjaGVkQUMsIE9SSUdfQUMpO1xuICB3aW5kb3cuQXVkaW9Db250ZXh0ID0gUGF0Y2hlZEFDIGFzIHVua25vd24gYXMgdHlwZW9mIEF1ZGlvQ29udGV4dDtcbiAgaWYgKFwid2Via2l0QXVkaW9Db250ZXh0XCIgaW4gd2luZG93KSB7XG4gICAgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCA9IFBhdGNoZWRBQyBhcyB1bmtub3duIGFzIHR5cGVvZiBBdWRpb0NvbnRleHQ7XG4gIH1cblxuICBjb25zdCBvcmlnUGxheSA9IEhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLnBsYXk7XG4gIEhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLl9fcHVwX2NhcHR1cmVkX18pIHtcbiAgICAgIHRoaXMuX19wdXBfY2FwdHVyZWRfXyA9IHRydWU7XG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKCFzb3VyY2VkRWxlbWVudHMuaGFzKHRoaXMpKSB7XG4gICAgICAgICAgY29uc3QgY3R4ID0gbmV3IChQYXRjaGVkQUMgYXMgdW5rbm93biBhcyB0eXBlb2YgQXVkaW9Db250ZXh0KSgpO1xuICAgICAgICAgIGN0eC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UodGhpcykuY29ubmVjdChjdHguZGVzdGluYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9yaWdQbGF5LmNhbGwodGhpcyk7XG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzA3LzI3LlxuXG5pbXBvcnQgeyBpbnN0YWxsQXVkaW9DYXB0dXJlIH0gZnJvbSBcIi4vYXVkaW8vY2FwdHVyZVwiO1xuXG5pbnN0YWxsQXVkaW9DYXB0dXJlKCk7XG4iXX0=
|
|
18
|
+
`;function s(){if(window.__pup_audio_capturing__)return;window.__pup_audio_capturing__=true;let i=window.AudioContext||window.webkitAudioContext;if(!i)return;let r=new WeakSet,d=new WeakSet,c,_=()=>(c??=(async()=>{let t=new i,e=URL.createObjectURL(new Blob([A],{type:"application/javascript"}));await t.audioWorklet.addModule(e),URL.revokeObjectURL(e);let o=new AudioWorkletNode(t,"pup-capture"),n=t.createGain();return n.gain.value=0,o.connect(n).connect(t.destination),o.port.onmessage=a=>{window.__pup_audio__?.chunk(a.data);},window.__pup_audio__?.meta(t.sampleRate),t.resume(),{ctx:t,node:o}})(),c),l=AudioContext.prototype.createMediaElementSource;AudioContext.prototype.createMediaElementSource=function(t){return d.add(t),l.call(this,t)};let p=AudioNode.prototype.connect;AudioNode.prototype.connect=function(t,e,o){let n=t.context,a=n?.__pup_capture_dest__;return a&&n&&t===n.destination&&this!==a&&p.call(this,a,e,o),p.call(this,t,e,o)};function u(...t){let e=new i(...t);if(!r.has(e)){r.add(e);let o=e.createMediaStreamDestination();e.__pup_capture_dest__=o,_().then(n=>n.ctx.createMediaStreamSource(o.stream).connect(n.node));}return e}u.prototype=i.prototype,Object.setPrototypeOf(u,i),window.AudioContext=u,"webkitAudioContext"in window&&(window.webkitAudioContext=u);let w=HTMLMediaElement.prototype.play;HTMLMediaElement.prototype.play=function(){return this.__pup_captured__||(this.__pup_captured__=true,Promise.resolve().then(()=>{if(!d.has(this)){let t=new u;t.createMediaElementSource(this).connect(t.destination);}})),w.call(this)};}window.self!==window.top&&s();})();//# sourceMappingURL=audio.global.js.map
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2F1ZGlvL2NhcHR1cmUudHMiLCIuLi8uLi9zcmMvcnVudGltZS9hdWRpby50cyJdLCJuYW1lcyI6WyJXT1JLTEVUX1NSQyIsImluc3RhbGxBdWRpb0NhcHR1cmUiLCJPUklHX0FDIiwiY2FwdHVyZWRDb250ZXh0cyIsInNvdXJjZWRFbGVtZW50cyIsIm1hc3RlciIsImVuc3VyZU1hc3RlciIsImN0eCIsInVybCIsIm5vZGUiLCJtdXRlIiwiZSIsIm9yaWdDcmVhdGVNRVMiLCJlbCIsIm9yaWdDb25uZWN0IiwiZGVzdCIsIm91dElkeCIsImluSWR4IiwiY2FwdHVyZURlc3QiLCJQYXRjaGVkQUMiLCJhcmdzIiwibSIsIm9yaWdQbGF5Il0sIm1hcHBpbmdzIjoieUJBMkJBLElBQU1BLENBQUFBLENBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLENBQUEsQ0FvQmIsU0FBU0MsQ0FBQUEsRUFBNEIsQ0FDMUMsR0FBSSxPQUFPLHVCQUFBLENBQ1QsT0FFRixNQUFBLENBQU8sdUJBQUEsQ0FBMEIsSUFBQSxDQUNqQyxJQUFNQyxDQUFBQSxDQUFVLE1BQUEsQ0FBTyxjQUFnQixNQUFBLENBQU8sa0JBQUEsQ0FDOUMsR0FBSSxDQUFDQSxDQUFBQSxDQUNILE9BR0YsSUFBTUMsQ0FBQUEsQ0FBbUIsSUFBSSxPQUFBLENBQ3ZCQyxDQUFBQSxDQUFrQixJQUFJLE9BQUEsQ0FHeEJDLEVBRUVDLENBQUFBLENBQWUsS0FDbkJELENBQUFBLEdBQUFBLENBQVksU0FBWSxDQUN0QixJQUFNRSxDQUFBQSxDQUFNLElBQUlMLENBQUFBLENBQ1ZNLENBQUFBLENBQU0sR0FBQSxDQUFJLGVBQUEsQ0FBZ0IsSUFBSSxLQUFLLENBQUNSLENBQVcsQ0FBQSxDQUFHLENBQUUsS0FBTSx3QkFBeUIsQ0FBQyxDQUFDLENBQUEsQ0FDM0YsTUFBTU8s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QUEsQ0FBVSxJQUFBLENBQU8sVUFBWSxDQUM1QyxPQUFLLElBQUEsQ0FBSyxnQkFBQSxHQUNSLElBQUEsQ0FBSyxnQkFBQSxDQUFtQixLQUN4QixPQUFBLENBQVEsT0FBQSxFQUFRLENBQUUsSUFBQSxDQUFLLElBQU0sQ0FDM0IsR0FBSSxDQUFDbEIsRUFBZ0IsR0FBQSxDQUFJLElBQUksQ0FBQSxDQUFHLENBQzlCLElBQU1HLENBQUFBLENBQU0sSUFBS1ksQ0FBQUEsQ0FDakJaLENBQUFBLENBQUkseUJBQXlCLElBQUksQ0FBQSxDQUFFLE9BQUEsQ0FBUUEsQ0FBQUEsQ0FBSSxXQUFXLEVBQzVELENBQ0YsQ0FBQyxHQUVJZSxDQUFBQSxDQUFTLElBQUEsQ0FBSyxJQUFJLENBQzNCLEVBQ0YsQ0N0SUksTUFBQSxDQUFPLElBQUEsR0FBUyxNQUFBLENBQU8sS0FDekJyQixDQUFBQSxFQUFvQiIsImZpbGUiOiJhdWRpby5nbG9iYWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzA0LzI4LlxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIF9fcHVwX2F1ZGlvX2NhcHR1cmluZ19fPzogYm9vbGVhbjtcbiAgICB3ZWJraXRBdWRpb0NvbnRleHQ/OiB0eXBlb2YgQXVkaW9Db250ZXh0O1xuICAgIF9fcHVwX2F1ZGlvX18/OiBQdXBBdWRpb0JyaWRnZTtcbiAgfVxuICBpbnRlcmZhY2UgQXVkaW9Db250ZXh0IHtcbiAgICBfX3B1cF9jYXB0dXJlX2Rlc3RfXz86IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU7XG4gIH1cbiAgaW50ZXJmYWNlIEhUTUxNZWRpYUVsZW1lbnQge1xuICAgIF9fcHVwX2NhcHR1cmVkX18/OiBib29sZWFuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVwQXVkaW9CcmlkZ2Uge1xuICBtZXRhOiAoc2FtcGxlUmF0ZTogbnVtYmVyKSA9PiB2b2lkO1xuICBjaHVuazogKHBjbTogRmxvYXQzMkFycmF5KSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgTWFzdGVyIHtcbiAgY3R4OiBBdWRpb0NvbnRleHQ7XG4gIG5vZGU6IEF1ZGlvV29ya2xldE5vZGU7XG59XG5cbi8vIFJ1bnMgb24gdGhlIHdvcmtsZXQgdGhyZWFkLCBzbyBpdCBzaGlwcyBhcyBzb3VyY2UgdGV4dCBpbnN0ZWFkIG9mIGFzIHBhcnQgb2YgdGhpcyBidW5kbGUuXG5jb25zdCBXT1JLTEVUX1NSQyA9IGBcbmNsYXNzIFB1cENhcHR1cmUgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3Ige1xuICBwcm9jZXNzKGlucHV0cykge1xuICAgIGNvbnN0IGlucHV0ID0gaW5wdXRzWzBdO1xuICAgIGlmICghaW5wdXQgfHwgIWlucHV0Lmxlbmd0aCkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgTCA9IGlucHV0WzBdO1xuICAgIGNvbnN0IFIgPSBpbnB1dFsxXSB8fCBMO1xuICAgIGNvbnN0IG91dCA9IG5ldyBGbG9hdDMyQXJyYXkoTC5sZW5ndGggKiAyKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IEwubGVuZ3RoOyBpKyspIHtcbiAgICAgIG91dFtpICogMl0gPSBMW2ldO1xuICAgICAgb3V0W2kgKiAyICsgMV0gPSBSW2ldO1xuICAgIH1cbiAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2Uob3V0LCBbb3V0LmJ1ZmZlcl0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5yZWdpc3RlclByb2Nlc3NvcigncHVwLWNhcHR1cmUnLCBQdXBDYXB0dXJlKTtcbmA7XG5cbi8vIFBhZ2Utd29ybGQgY2FwdHVyZTogcGF0Y2hlcyBBdWRpb0NvbnRleHQvSFRNTE1lZGlhRWxlbWVudCwgdGhlbiBoYW5kcyBQQ00gdG8gdGhlIHByZWxvYWQgYnJpZGdlIGZvciBJUEMuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbEF1ZGlvQ2FwdHVyZSgpOiB2b2lkIHtcbiAgaWYgKHdpbmRvdy5fX3B1cF9hdWRpb19jYXB0dXJpbmdfXykge1xuICAgIHJldHVybjtcbiAgfVxuICB3aW5kb3cuX19wdXBfYXVkaW9fY2FwdHVyaW5nX18gPSB0cnVlO1xuICBjb25zdCBPUklHX0FDID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0O1xuICBpZiAoIU9SSUdfQUMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjYXB0dXJlZENvbnRleHRzID0gbmV3IFdlYWtTZXQ8QXVkaW9Db250ZXh0PigpO1xuICBjb25zdCBzb3VyY2VkRWxlbWVudHMgPSBuZXcgV2Vha1NldDxIVE1MTWVkaWFFbGVtZW50PigpO1xuXG4gIC8vIE9uZSBtYXN0ZXIgY29udGV4dCBtaXhlcyBldmVyeSBwYWdlIGNvbnRleHQsIHNvIHRoZSBlbmNvZGVyIHNlZXMgYSBzaW5nbGUgc3RyZWFtIHdoYXRldmVyIHRoZSBwYWdlIGJ1aWxkcy5cbiAgbGV0IG1hc3RlcjogUHJvbWlzZTxNYXN0ZXI+IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGVuc3VyZU1hc3RlciA9ICgpOiBQcm9taXNlPE1hc3Rlcj4gPT4ge1xuICAgIG1hc3RlciA/Pz0gKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGN0eCA9IG5ldyBPUklHX0FDKCk7XG4gICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtXT1JLTEVUX1NSQ10sIHsgdHlwZTogXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIgfSkpO1xuICAgICAgYXdhaXQgY3R4LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUodXJsKTtcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICAgIGNvbnN0IG5vZGUgPSBuZXcgQXVkaW9Xb3JrbGV0Tm9kZShjdHgsIFwicHVwLWNhcHR1cmVcIik7XG4gICAgICAvLyBNdXRlZCBwYXRoIHRvIHRoZSBkZXN0aW5hdGlvbjogYSB3b3JrbGV0IHRoYXQgcmVhY2hlcyBubyBzaW5rIGlzIG5ldmVyIHB1bGxlZCwgc28gaXQgd291bGQgY2FwdHVyZSBub3RoaW5nLlxuICAgICAgY29uc3QgbXV0ZSA9IGN0eC5jcmVhdGVHYWluKCk7XG4gICAgICBtdXRlLmdhaW4udmFsdWUgPSAwO1xuICAgICAgbm9kZS5jb25uZWN0KG11dGUpLmNvbm5lY3QoY3R4LmRlc3RpbmF0aW9uKTtcbiAgICAgIG5vZGUucG9ydC5vbm1lc3NhZ2UgPSAoZTogTWVzc2FnZUV2ZW50PEZsb2F0MzJBcnJheT4pID0+IHtcbiAgICAgICAgLy8gUmVzb2x2ZWQgcGVyIGNhbGw6IGNvbnRleHRCcmlkZ2UgbWF5IGV4cG9zZSB0aGUgY2hhbm5lbCBhZnRlciB0aGlzIHNjcmlwdCBoYXMgYWxyZWFkeSBydW4uXG4gICAgICAgIHdpbmRvdy5fX3B1cF9hdWRpb19fPy5jaHVuayhlLmRhdGEpO1xuICAgICAgfTtcbiAgICAgIHdpbmRvdy5fX3B1cF9hdWRpb19fPy5tZXRhKGN0eC5zYW1wbGVSYXRlKTtcbiAgICAgIHZvaWQgY3R4LnJlc3VtZSgpO1xuICAgICAgcmV0dXJuIHsgY3R4LCBub2RlIH07XG4gICAgfSkoKTtcbiAgICByZXR1cm4gbWFzdGVyO1xuICB9O1xuXG4gIGNvbnN0IG9yaWdDcmVhdGVNRVMgPSBBdWRpb0NvbnRleHQucHJvdG90eXBlLmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZTtcbiAgQXVkaW9Db250ZXh0LnByb3RvdHlwZS5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UgPSBmdW5jdGlvbiAoZWwpIHtcbiAgICBzb3VyY2VkRWxlbWVudHMuYWRkKGVsKTtcbiAgICByZXR1cm4gb3JpZ0NyZWF0ZU1FUy5jYWxsKHRoaXMsIGVsKTtcbiAgfTtcblxuICBjb25zdCBvcmlnQ29ubmVjdCA9IEF1ZGlvTm9kZS5wcm90b3R5cGUuY29ubmVjdCBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBBdWRpb05vZGU7XG4gIEF1ZGlvTm9kZS5wcm90b3R5cGUuY29ubmVjdCA9IGZ1bmN0aW9uIChcbiAgICB0aGlzOiBBdWRpb05vZGUsXG4gICAgZGVzdDogQXVkaW9Ob2RlIHwgQXVkaW9QYXJhbSxcbiAgICBvdXRJZHg/OiBudW1iZXIsXG4gICAgaW5JZHg/OiBudW1iZXIsXG4gICkge1xuICAgIGNvbnN0IGN0eCA9IChkZXN0IGFzIEF1ZGlvTm9kZSkuY29udGV4dCBhcyBBdWRpb0NvbnRleHQgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2FwdHVyZURlc3QgPSBjdHg/Ll9fcHVwX2NhcHR1cmVfZGVzdF9fO1xuICAgIGlmIChjYXB0dXJlRGVzdCAmJiBjdHggJiYgZGVzdCA9PT0gY3R4LmRlc3RpbmF0aW9uICYmIHRoaXMgIT09IGNhcHR1cmVEZXN0KSB7XG4gICAgICBvcmlnQ29ubmVjdC5jYWxsKHRoaXMsIGNhcHR1cmVEZXN0LCBvdXRJZHgsIGluSWR4KTtcbiAgICB9XG4gICAgcmV0dXJuIG9yaWdDb25uZWN0LmNhbGwodGhpcywgZGVzdCwgb3V0SWR4LCBpbklkeCk7XG4gIH0gYXMgdHlwZW9mIEF1ZGlvTm9kZS5wcm90b3R5cGUuY29ubmVjdDtcblxuICBmdW5jdGlvbiBQYXRjaGVkQUModGhpczogQXVkaW9Db250ZXh0LCAuLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICBjb25zdCBjdHggPSBuZXcgKE9SSUdfQUMgYXMgeyBuZXcgKC4uLmE6IHVua25vd25bXSk6IEF1ZGlvQ29udGV4dCB9KSguLi5hcmdzKTtcbiAgICBpZiAoIWNhcHR1cmVkQ29udGV4dHMuaGFzKGN0eCkpIHtcbiAgICAgIGNhcHR1cmVkQ29udGV4dHMuYWRkKGN0eCk7XG4gICAgICAvLyBUYXAgYXNzaWduZWQgc3luY2hyb25vdXNseSwgc28gYSBjb25uZWN0KCkgaXNzdWVkIHJpZ2h0IGFmdGVyIGNvbnN0cnVjdGlvbiBhbHJlYWR5IHJvdXRlcyBpbnRvIGl0LlxuICAgICAgY29uc3QgY2FwdHVyZURlc3QgPSBjdHguY3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5hdGlvbigpO1xuICAgICAgY3R4Ll9fcHVwX2NhcHR1cmVfZGVzdF9fID0gY2FwdHVyZURlc3Q7XG4gICAgICAvLyBUaGUgdGFwIGJlbG9uZ3MgdG8gdGhlIG1hc3RlciBjb250ZXh0OiBjb25uZWN0aW5nIG5vZGVzIGFjcm9zcyBjb250ZXh0cyBpcyBhbiBlcnJvci5cbiAgICAgIHZvaWQgZW5zdXJlTWFzdGVyKCkudGhlbigobSkgPT4gbS5jdHguY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UoY2FwdHVyZURlc3Quc3RyZWFtKS5jb25uZWN0KG0ubm9kZSkpO1xuICAgIH1cbiAgICByZXR1cm4gY3R4O1xuICB9XG4gIFBhdGNoZWRBQy5wcm90b3R5cGUgPSBPUklHX0FDLnByb3RvdHlwZTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKFBhdGNoZWRBQywgT1JJR19BQyk7XG4gIHdpbmRvdy5BdWRpb0NvbnRleHQgPSBQYXRjaGVkQUMgYXMgdW5rbm93biBhcyB0eXBlb2YgQXVkaW9Db250ZXh0O1xuICBpZiAoXCJ3ZWJraXRBdWRpb0NvbnRleHRcIiBpbiB3aW5kb3cpIHtcbiAgICB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0ID0gUGF0Y2hlZEFDIGFzIHVua25vd24gYXMgdHlwZW9mIEF1ZGlvQ29udGV4dDtcbiAgfVxuXG4gIGNvbnN0IG9yaWdQbGF5ID0gSFRNTE1lZGlhRWxlbWVudC5wcm90b3R5cGUucGxheTtcbiAgSFRNTE1lZGlhRWxlbWVudC5wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuX19wdXBfY2FwdHVyZWRfXykge1xuICAgICAgdGhpcy5fX3B1cF9jYXB0dXJlZF9fID0gdHJ1ZTtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAoIXNvdXJjZWRFbGVtZW50cy5oYXModGhpcykpIHtcbiAgICAgICAgICBjb25zdCBjdHggPSBuZXcgKFBhdGNoZWRBQyBhcyB1bmtub3duIGFzIHR5cGVvZiBBdWRpb0NvbnRleHQpKCk7XG4gICAgICAgICAgY3R4LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZSh0aGlzKS5jb25uZWN0KGN0eC5kZXN0aW5hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3JpZ1BsYXkuY2FsbCh0aGlzKTtcbiAgfTtcbn1cbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDcvMjcuXG5cbmltcG9ydCB7IGluc3RhbGxBdWRpb0NhcHR1cmUgfSBmcm9tIFwiLi9hdWRpby9jYXB0dXJlXCI7XG5cbmlmICh3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcCkge1xuICBpbnN0YWxsQXVkaW9DYXB0dXJlKCk7XG59XG4iXX0=
|
package/dist/runtime/preload.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';require('source-map-support/register.js');var fs=require('fs'),electron=require('electron');var r="audio-meta",n="audio-chunk";var a="stego-tick";var o="--pup-world=";var
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW5kZXJlci9hdWRpby50cyIsIi4uLy4uL3NyYy9yZW5kZXJlci9zdGVnby50cyIsIi4uLy4uL3NyYy9ydW50aW1lL3dvcmxkLnRzIiwiLi4vLi4vc3JjL3J1bnRpbWUvcHJlbG9hZC50cyJdLCJuYW1lcyI6WyJBVURJT19NRVRBX0NIQU5ORUwiLCJBVURJT19DSFVOS19DSEFOTkVMIiwiU1RFR09fVElDS19DSEFOTkVMIiwiV09STERfQVJHIiwiYXVkaW8iLCJzYW1wbGVSYXRlIiwiaXBjUmVuZGVyZXIiLCJwY20iLCJjb250ZXh0QnJpZGdlIiwid29ybGRTY3JpcHQiLCJhIiwid2ViRnJhbWUiLCJyZWFkRmlsZVN5bmMiXSwibWFwcGluZ3MiOiJ5R0FLTyxJQUFNQSxFQUFxQixZQUFBLENBQ3JCQyxDQUFBQSxDQUFzQixjQ0U1QixJQUFNQyxDQUFBQSxDQUFxQixhQ0gzQixJQUFNQyxDQUFBQSxDQUFZLGVDS3pCLElBQU1DLENBQUFBLENBQXdCLENBQzVCLElBQUEsQ0FBT0MsQ0FBQUEsRUFBZUMscUJBQVksSUFBQSxDQUFLTixDQUFBQSxDQUFvQixDQUFFLFVBQUEsQ0FBQUssQ0FBVyxDQUFDLENBQUEsQ0FDekUsS0FBQSxDQUFRRSxHQUFRRCxvQkFBQUEsQ0FBWSxJQUFBLENBQUtMLEVBQXFCLE1BQUEsQ0FBTyxJQUFBLENBQUtNLEVBQUksTUFBTSxDQUFDLENBQy9FLENBQUEsQ0FHQSxHQUFJLENBQUMsT0FBQSxDQUFRLGVBQUEsQ0FDWCxNQUFNLElBQUksS0FBQSxDQUFNLG1DQUFtQyxDQUFBLENBSXJEQyxzQkFBQUEsQ0FBYyxrQkFBa0Isb0JBQUEsQ0FBc0IsSUFBTUYscUJBQVksSUFBQSxDQUFLSixDQUFrQixDQUFDLENBQUEsQ0FDaEdNLHNCQUFBQSxDQUFjLGtCQUFrQixlQUFBLENBQWlCSixDQUFLLEVBR3RELElBQU1LLENBQUFBLENBQWMsUUFBUSxJQUFBLENBQUssSUFBQSxDQUFNQyxHQUFNQSxDQUFBQSxDQUFFLFVBQUEsQ0FBV1AsQ0FBUyxDQUFDLENBQUEsRUFBRyxNQUFNQSxDQUFBQSxDQUFVLE1BQU0sRUFDekZNLENBQUFBLEVBQ0ZFLGlCQUFBQSxDQUFTLGtCQUFrQkMsZUFBQUEsQ0FBYUgsQ0FBQUEsQ0FBYSxPQUFPLENBQUMsQ0FBQSIsImZpbGUiOiJwcmVsb2FkLmNqcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDMvMDIuXG5cbmltcG9ydCB0eXBlIHsgV2ViQ29udGVudHMgfSBmcm9tIFwiZWxlY3Ryb25cIjtcbmltcG9ydCB0eXBlIHsgRW5jb2RlclBpcGVsaW5lIH0gZnJvbSBcIi4uL2Jhc2UvZW5jb2Rlci9waXBlbGluZVwiO1xuXG5leHBvcnQgY29uc3QgQVVESU9fTUVUQV9DSEFOTkVMID0gXCJhdWRpby1tZXRhXCI7XG5leHBvcnQgY29uc3QgQVVESU9fQ0hVTktfQ0hBTk5FTCA9IFwiYXVkaW8tY2h1bmtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdWRpb0xpc3RlbmVyT3B0aW9ucyB7XG4gIHdjOiBXZWJDb250ZW50cztcbiAgZW5jb2RlcjogRW5jb2RlclBpcGVsaW5lO1xuICBnZXRWaWRlb1RpbWVNczogKCkgPT4gbnVtYmVyO1xuICBvbkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBBdWRpb0Rpc3Bvc2FsID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaEF1ZGlvTGlzdGVuZXJzKHsgd2MsIGVuY29kZXIsIGdldFZpZGVvVGltZU1zLCBvbkVycm9yIH06IEF1ZGlvTGlzdGVuZXJPcHRpb25zKTogQXVkaW9EaXNwb3NhbCB7XG4gIGNvbnN0IG9uTWV0YSA9IGFzeW5jIChfZTogdW5rbm93biwgZGF0YTogeyBzYW1wbGVSYXRlOiBudW1iZXIgfSkgPT4ge1xuICAgIGNvbnN0IHNhbXBsZVJhdGUgPSBkYXRhLnNhbXBsZVJhdGU7XG4gICAgY29uc3Qgc3RhcnRNcyA9IGdldFZpZGVvVGltZU1zKCk7XG4gICAgZW5jb2Rlci5zZXR1cEF1ZGlvKHNhbXBsZVJhdGUpO1xuICAgIGNvbnN0IHNpbGVuY2VTYW1wbGVzID0gTWF0aC5jZWlsKChzdGFydE1zICogc2FtcGxlUmF0ZSkgLyAxMDAwKTtcbiAgICBpZiAoc2lsZW5jZVNhbXBsZXMgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZW5jb2Rlci5lbmNvZGVBdWRpbyhCdWZmZXIuYWxsb2Moc2lsZW5jZVNhbXBsZXMgKiAyICogNCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DaHVuayA9IGFzeW5jIChfZTogdW5rbm93biwgYnVmZmVyOiBCdWZmZXIpID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZW5jb2Rlci5lbmNvZGVBdWRpbyhidWZmZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgd2MuaXBjLm9uKEFVRElPX01FVEFfQ0hBTk5FTCwgb25NZXRhKTtcbiAgd2MuaXBjLm9uKEFVRElPX0NIVU5LX0NIQU5ORUwsIG9uQ2h1bmspO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgd2MuaXBjLnJlbW92ZUxpc3RlbmVyKEFVRElPX01FVEFfQ0hBTk5FTCwgb25NZXRhKTtcbiAgICB3Yy5pcGMucmVtb3ZlTGlzdGVuZXIoQVVESU9fQ0hVTktfQ0hBTk5FTCwgb25DaHVuayk7XG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA5LlxuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyLCBTaXplLCBXZWJDb250ZW50cyB9IGZyb20gXCJlbGVjdHJvblwiO1xuaW1wb3J0IHsgZXZhbEluIH0gZnJvbSBcIi4uL2Jhc2UvY2RwXCI7XG5pbXBvcnQgeyB3aXRoVGltZW91dCB9IGZyb20gXCIuLi9iYXNlL3RpbWluZ1wiO1xuXG5leHBvcnQgY29uc3QgRlJBTUVfU1lOQ19NQVJLRVJfV0lEVEggPSAzMjtcbmV4cG9ydCBjb25zdCBGUkFNRV9TWU5DX01BUktFUl9IRUlHSFQgPSAxO1xuZXhwb3J0IGNvbnN0IFNURUdPX1RJQ0tfQ0hBTk5FTCA9IFwic3RlZ28tdGlja1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdGVnb0hUTUwodGFyZ2V0VVJMOiBzdHJpbmcsIHNpemU6IFNpemUpOiBzdHJpbmcge1xuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHNpemU7XG4gIHJldHVybiBgPCFET0NUWVBFIGh0bWw+XG48aHRtbD5cbjxoZWFkPlxuICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIj5cbiAgPHN0eWxlPlxuICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBodG1sLCBib2R5IHsgd2lkdGg6ICR7d2lkdGh9cHg7IGhlaWdodDogJHtoZWlnaHQgKyAxfXB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI3RhcmdldCB7IFxuICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICAgIHRvcDogMDsgXG4gICAgICBsZWZ0OiAwOyBcbiAgICAgIHdpZHRoOiAke3dpZHRofXB4OyBcbiAgICAgIGhlaWdodDogJHtoZWlnaHR9cHg7IFxuICAgICAgYm9yZGVyOiBub25lOyBcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAjc3RlZ28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAke2hlaWdodH1weDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJHt3aWR0aH1weDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcbiAgICB9XG4gIDwvc3R5bGU+XG48L2hlYWQ+XG48Ym9keT5cbiAgPGlmcmFtZSBpZD1cInRhcmdldFwiIHNyYz1cIiR7dGFyZ2V0VVJMfVwiPjwvaWZyYW1lPlxuICA8Y2FudmFzIGlkPVwic3RlZ29cIiB3aWR0aD1cIiR7d2lkdGh9XCIgaGVpZ2h0PVwiMVwiPjwvY2FudmFzPlxuICA8c2NyaXB0PlxuICAgIChmdW5jdGlvbigpIHtcbiAgICAgIGNvbnN0IFdJRFRIID0gJHt3aWR0aH07XG4gICAgICBjb25zdCBNQVJLRVJfV0lEVEggPSAke0ZSQU1FX1NZTkNfTUFSS0VSX1dJRFRIfTtcbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGVnbycpO1xuICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJywgeyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUgfSk7XG4gICAgICBsZXQgc3RhcnRUaW1lID0gbnVsbDtcbiAgICAgIGxldCByYWZJZCA9IG51bGw7XG5cbiAgICAgIGZ1bmN0aW9uIGVuY29kZVRpbWVzdGFtcCh0aW1lc3RhbXBNcykge1xuICAgICAgICBjb25zdCBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKFdJRFRILCAxKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGltYWdlRGF0YS5kYXRhO1xuXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcEludCA9IE1hdGguZmxvb3IodGltZXN0YW1wTXMpID4+PiAwO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTUFSS0VSX1dJRFRIOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBiaXQgPSAodGltZXN0YW1wSW50ID4+PiAoTUFSS0VSX1dJRFRIIC0gMSAtIGkpKSAmIDE7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBiaXQgPyAyNTUgOiAwO1xuICAgICAgICAgIGNvbnN0IGlkeCA9IGkgKiA0O1xuICAgICAgICAgIGRhdGFbaWR4XSA9IHZhbHVlO1xuICAgICAgICAgIGRhdGFbaWR4ICsgMV0gPSB2YWx1ZTtcbiAgICAgICAgICBkYXRhW2lkeCArIDJdID0gdmFsdWU7XG4gICAgICAgICAgZGF0YVtpZHggKyAzXSA9IDI1NTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSBNQVJLRVJfV0lEVEg7IGkgPCBXSURUSDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaWR4ID0gaSAqIDQ7XG4gICAgICAgICAgZGF0YVtpZHhdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDFdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDJdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDNdID0gMjU1O1xuICAgICAgICB9XG5cbiAgICAgICAgY3R4LnB1dEltYWdlRGF0YShpbWFnZURhdGEsIDAsIDApO1xuICAgICAgICB3aW5kb3cuX19wdXBfc3RlZ29fdGlja19fKCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZUxvb3AoKSB7XG4gICAgICAgIGlmIChzdGFydFRpbWUgPT09IG51bGwpIHJldHVybjtcbiAgICAgICAgY29uc3QgZWxhcHNlZCA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICBlbmNvZGVUaW1lc3RhbXAoZWxhcHNlZCk7XG4gICAgICAgIHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUxvb3ApO1xuICAgICAgfVxuXG4gICAgICB3aW5kb3cuX19wdXBfc3RhcnRfc3RlZ29fXyA9ICgpID0+IHtcbiAgICAgICAgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgIGVuY29kZVRpbWVzdGFtcCgwKTtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUxvb3ApO1xuICAgICAgfTtcblxuICAgICAgd2luZG93Ll9fcHVwX2RyYXdfc3RlZ29fXyA9IChtcykgPT4ge1xuICAgICAgICBlbmNvZGVUaW1lc3RhbXAobXMpO1xuICAgICAgfTtcblxuICAgICAgd2luZG93Ll9fcHVwX3N0b3Bfc3RlZ29fXyA9ICgpID0+IHtcbiAgICAgICAgaWYgKHJhZklkICE9PSBudWxsKSB7XG4gICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgICAgIHJhZklkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KSgpO1xuICA8L3NjcmlwdD5cbjwvYm9keT5cbjwvaHRtbD5gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlU3RlZ28oYml0bWFwOiBCdWZmZXIsIHNpemU6IFNpemUpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHNpemU7XG4gIGlmICh3aWR0aCA8IEZSQU1FX1NZTkNfTUFSS0VSX1dJRFRIIHx8IGhlaWdodCA8IDIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgbWFya2VyUm93ID0gaGVpZ2h0IC0gMTtcblxuICBsZXQgdGltZXN0YW1wID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBGUkFNRV9TWU5DX01BUktFUl9XSURUSDsgaSsrKSB7XG4gICAgY29uc3QgcGl4ZWxJZHggPSAobWFya2VyUm93ICogd2lkdGggKyBpKSAqIDQ7XG4gICAgY29uc3QgciA9IGJpdG1hcFtwaXhlbElkeF0gPz8gMDtcbiAgICBjb25zdCBiaXQgPSByID4gMTI3ID8gMSA6IDA7XG4gICAgdGltZXN0YW1wID0gKHRpbWVzdGFtcCA8PCAxKSB8IGJpdDtcbiAgfVxuXG4gIHRpbWVzdGFtcCA9IHRpbWVzdGFtcCA+Pj4gMDtcblxuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh0aW1lc3RhbXApIHx8IHRpbWVzdGFtcCA8IDAgfHwgdGltZXN0YW1wID4gMWU3KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB0aW1lc3RhbXA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFN0ZWdvKGNkcDogRGVidWdnZXIpIHtcbiAgcmV0dXJuIGV2YWxJbihjZHAsIGBfX3B1cF9zdGFydF9zdGVnb19fKClgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BTdGVnbyhjZHA6IERlYnVnZ2VyKSB7XG4gIHJldHVybiBldmFsSW4oY2RwLCBgX19wdXBfc3RvcF9zdGVnb19fKClgKTtcbn1cblxuLy8gUGFpbnRzIHRoZSBzdGVnbyByb3cgZm9yIGBleHBlY3RlZGAgbXMgc3luY2hyb25vdXNseTsgdGhlIGRhbWFnZSByaWRlcyBvdXQgb24gdGhlIG5leHQgY29tcG9zaXRlZCBmcmFtZS5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkcmF3U3RlZ28od2M6IFdlYkNvbnRlbnRzLCBleHBlY3RlZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGV2YWxJbih3Yy5kZWJ1Z2dlciwgYF9fcHVwX2RyYXdfc3RlZ29fXygke2V4cGVjdGVkfSlgKTtcbn1cblxuLy8gUmVzb2x2ZXMgd2hlbiB0aGUgcmVuZGVyZXIgY29tbWl0dGVkIHRoZSBzdGVnbyByb3c7IGFybSBCRUZPUkUgZHJhd1N0ZWdvIHRvIGF2b2lkIG1pc3NpbmcgdGhlIGFjay5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0U3RlZ29UaWNrKHdjOiBXZWJDb250ZW50cyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzd2FwcGVkID0gbmV3IFByb21pc2UoKHIpID0+IHdjLmlwYy5vbmNlKFNURUdPX1RJQ0tfQ0hBTk5FTCwgcikpO1xuICBhd2FpdCB3aXRoVGltZW91dChzd2FwcGVkLCA1XzAwMCwgXCJzdGVnbyB0aWNrXCIpO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wNy8yNy5cblxuZXhwb3J0IHR5cGUgV29ybGRNb2RlID0gXCJzaG9vdFwiIHwgXCJyZW5kZXJcIiB8IFwiYXVkaW9cIjtcblxuLy8gTmFtZXMgdGhlIHBhZ2Utd29ybGQgYnVuZGxlIGluIHRoZSBwcmVsb2FkJ3MgYXJndjsga2VlcCB0aGlzIG1vZHVsZSBkZXBlbmRlbmN5LWZyZWUsIHRoZSBwcmVsb2FkIGxvYWRzIGl0IGFzLWlzLlxuZXhwb3J0IGNvbnN0IFdPUkxEX0FSRyA9IFwiLS1wdXAtd29ybGQ9XCI7XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzA3LzI3LlxuXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHsgY29udGV4dEJyaWRnZSwgaXBjUmVuZGVyZXIsIHdlYkZyYW1lIH0gZnJvbSBcImVsZWN0cm9uXCI7XG5cbmltcG9ydCB7IEFVRElPX0NIVU5LX0NIQU5ORUwsIEFVRElPX01FVEFfQ0hBTk5FTCB9IGZyb20gXCIuLi9yZW5kZXJlci9hdWRpb1wiO1xuaW1wb3J0IHsgU1RFR09fVElDS19DSEFOTkVMIH0gZnJvbSBcIi4uL3JlbmRlcmVyL3N0ZWdvXCI7XG5pbXBvcnQgdHlwZSB7IFB1cEF1ZGlvQnJpZGdlIH0gZnJvbSBcIi4vYXVkaW8vY2FwdHVyZVwiO1xuaW1wb3J0IHsgV09STERfQVJHIH0gZnJvbSBcIi4vd29ybGRcIjtcblxuY29uc3QgYXVkaW86IFB1cEF1ZGlvQnJpZGdlID0ge1xuICBtZXRhOiAoc2FtcGxlUmF0ZSkgPT4gaXBjUmVuZGVyZXIuc2VuZChBVURJT19NRVRBX0NIQU5ORUwsIHsgc2FtcGxlUmF0ZSB9KSxcbiAgY2h1bms6IChwY20pID0+IGlwY1JlbmRlcmVyLnNlbmQoQVVESU9fQ0hVTktfQ0hBTk5FTCwgQnVmZmVyLmZyb20ocGNtLmJ1ZmZlcikpLFxufTtcblxuLy8gR3VhcmRzIHRoZSB3aG9sZSBkZXNpZ246IHdpdGhvdXQgaXNvbGF0aW9uIHRoZSBwYWdlIHNoYXJlcyB0aGlzIHNjb3BlIGFuZCBjYW4gZmlzaCBpcGNSZW5kZXJlciBvdXQgb2YgaXQuXG5pZiAoIXByb2Nlc3MuY29udGV4dElzb2xhdGVkKSB7XG4gIHRocm93IG5ldyBFcnJvcihcInByZWxvYWQgcmVxdWlyZXMgY29udGV4dElzb2xhdGlvblwiKTtcbn1cblxuLy8gVGhlIG9ubHkgY2FwYWJpbGl0eSB0aGUgcGFnZSB3b3JsZCBnZXRzOiB0d28gZml4ZWQgSVBDIGNoYW5uZWxzIGJlaGluZCBjb250ZXh0QnJpZGdlLCBuZXZlciBpcGNSZW5kZXJlciBpdHNlbGYuXG5jb250ZXh0QnJpZGdlLmV4cG9zZUluTWFpbldvcmxkKFwiX19wdXBfc3RlZ29fdGlja19fXCIsICgpID0+IGlwY1JlbmRlcmVyLnNlbmQoU1RFR09fVElDS19DSEFOTkVMKSk7XG5jb250ZXh0QnJpZGdlLmV4cG9zZUluTWFpbldvcmxkKFwiX19wdXBfYXVkaW9fX1wiLCBhdWRpbyk7XG5cbi8vIEhvb2tzIG11c3QgcGF0Y2ggcGFnZSBnbG9iYWxzLCBzbyB0aGV5IHJ1biBpbiB0aGUgbWFpbiB3b3JsZCDigJQgcmVhY2hhYmxlIGZyb20gaGVyZSBidXQgbm90IGZyb20gdGhpcyBpc29sYXRlZCBzY29wZS5cbmNvbnN0IHdvcmxkU2NyaXB0ID0gcHJvY2Vzcy5hcmd2LmZpbmQoKGEpID0+IGEuc3RhcnRzV2l0aChXT1JMRF9BUkcpKT8uc2xpY2UoV09STERfQVJHLmxlbmd0aCk7XG5pZiAod29ybGRTY3JpcHQpIHtcbiAgd2ViRnJhbWUuZXhlY3V0ZUphdmFTY3JpcHQocmVhZEZpbGVTeW5jKHdvcmxkU2NyaXB0LCBcInV0Zi04XCIpKTtcbn1cbiJdfQ==
|
|
1
|
+
'use strict';require('source-map-support/register.js');var fs=require('fs'),electron=require('electron');var r="audio-meta",n="audio-chunk";var a="stego-tick";var o="--pup-world=",s="--pup-audio";var l={meta:e=>electron.ipcRenderer.send(r,{sampleRate:e}),chunk:e=>electron.ipcRenderer.send(n,Buffer.from(e.buffer))};if(!process.contextIsolated)throw new Error("preload requires contextIsolation");var _=window.self===window.top;_?electron.contextBridge.exposeInMainWorld("__pup_stego_tick__",()=>electron.ipcRenderer.send(a)):process.argv.includes(s)&&electron.contextBridge.exposeInMainWorld("__pup_audio__",l);var c=process.argv.find(e=>e.startsWith(o))?.slice(o.length);c&&electron.webFrame.executeJavaScript(fs.readFileSync(c,"utf-8"));//# sourceMappingURL=preload.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW5kZXJlci9hdWRpby50cyIsIi4uLy4uL3NyYy9yZW5kZXJlci9zdGVnby50cyIsIi4uLy4uL3NyYy9ydW50aW1lL3dvcmxkLnRzIiwiLi4vLi4vc3JjL3J1bnRpbWUvcHJlbG9hZC50cyJdLCJuYW1lcyI6WyJBVURJT19NRVRBX0NIQU5ORUwiLCJBVURJT19DSFVOS19DSEFOTkVMIiwiU1RFR09fVElDS19DSEFOTkVMIiwiV09STERfQVJHIiwiQVVESU9fQVJHIiwiYXVkaW8iLCJzYW1wbGVSYXRlIiwiaXBjUmVuZGVyZXIiLCJwY20iLCJpc1dyYXBwZXIiLCJjb250ZXh0QnJpZGdlIiwid29ybGRTY3JpcHQiLCJhIiwid2ViRnJhbWUiLCJyZWFkRmlsZVN5bmMiXSwibWFwcGluZ3MiOiJ5R0FLTyxJQUFNQSxDQUFBQSxDQUFxQixZQUFBLENBQ3JCQyxDQUFBQSxDQUFzQixhQUFBLENDRTVCLElBQU1DLENBQUFBLENBQXFCLGFDSDNCLElBQU1DLENBQUFBLENBQVksY0FBQSxDQUdaQyxDQUFBQSxDQUFZLGFBQUEsQ0NFekIsSUFBTUMsRUFBd0IsQ0FDNUIsSUFBQSxDQUFPQyxHQUFlQyxvQkFBQUEsQ0FBWSxJQUFBLENBQUtQLEVBQW9CLENBQUUsVUFBQSxDQUFBTSxDQUFXLENBQUMsQ0FBQSxDQUN6RSxLQUFBLENBQVFFLEdBQVFELG9CQUFBQSxDQUFZLElBQUEsQ0FBS04sQ0FBQUEsQ0FBcUIsTUFBQSxDQUFPLElBQUEsQ0FBS08sQ0FBQUEsQ0FBSSxNQUFNLENBQUMsQ0FDL0UsQ0FBQSxDQUdBLEdBQUksQ0FBQyxPQUFBLENBQVEsZ0JBQ1gsTUFBTSxJQUFJLE1BQU0sbUNBQW1DLENBQUEsQ0FJckQsSUFBTUMsQ0FBQUEsQ0FBWSxNQUFBLENBQU8sSUFBQSxHQUFTLE1BQUEsQ0FBTyxHQUFBLENBQ3JDQSxDQUFBQSxDQUNGQyx1QkFBYyxpQkFBQSxDQUFrQixvQkFBQSxDQUFzQixJQUFNSCxvQkFBQUEsQ0FBWSxJQUFBLENBQUtMLENBQWtCLENBQUMsQ0FBQSxDQUN2RixPQUFBLENBQVEsSUFBQSxDQUFLLFFBQUEsQ0FBU0UsQ0FBUyxDQUFBLEVBQ3hDTSx1QkFBYyxpQkFBQSxDQUFrQixlQUFBLENBQWlCTCxDQUFLLENBQUEsQ0FJeEQsSUFBTU0sQ0FBQUEsQ0FBYyxRQUFRLElBQUEsQ0FBSyxJQUFBLENBQU1DLENBQUFBLEVBQU1BLENBQUFBLENBQUUsVUFBQSxDQUFXVCxDQUFTLENBQUMsQ0FBQSxFQUFHLEtBQUEsQ0FBTUEsQ0FBQUEsQ0FBVSxNQUFNLENBQUEsQ0FDekZRLENBQUFBLEVBQ0ZFLGtCQUFTLGlCQUFBLENBQWtCQyxlQUFBQSxDQUFhSCxDQUFBQSxDQUFhLE9BQU8sQ0FBQyxDQUFBIiwiZmlsZSI6InByZWxvYWQuY2pzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wMy8wMi5cblxuaW1wb3J0IHR5cGUgeyBXZWJDb250ZW50cyB9IGZyb20gXCJlbGVjdHJvblwiO1xuaW1wb3J0IHR5cGUgeyBFbmNvZGVyUGlwZWxpbmUgfSBmcm9tIFwiLi4vYmFzZS9lbmNvZGVyL3BpcGVsaW5lXCI7XG5cbmV4cG9ydCBjb25zdCBBVURJT19NRVRBX0NIQU5ORUwgPSBcImF1ZGlvLW1ldGFcIjtcbmV4cG9ydCBjb25zdCBBVURJT19DSFVOS19DSEFOTkVMID0gXCJhdWRpby1jaHVua1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1ZGlvTGlzdGVuZXJPcHRpb25zIHtcbiAgd2M6IFdlYkNvbnRlbnRzO1xuICBlbmNvZGVyOiBFbmNvZGVyUGlwZWxpbmU7XG4gIGdldFZpZGVvVGltZU1zOiAoKSA9PiBudW1iZXI7XG4gIG9uRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIEF1ZGlvRGlzcG9zYWwgPSAoKSA9PiB2b2lkO1xuXG4vLyBBIHJlbmRlciBxdWFudHVtIGlzIDEyOCBzdGVyZW8gZmxvYXRzOyBhbnl0aGluZyBwYXN0IGEgc2Vjb25kIG9mIGF1ZGlvIGNhbWUgZnJvbSBhIHBhZ2UgYWJ1c2luZyB0aGUgYnJpZGdlLlxuY29uc3QgTUFYX0NIVU5LX0JZVEVTID0gNDhfMDAwICogMiAqIDQ7XG5jb25zdCBNQVhfU0FNUExFX1JBVEUgPSAxOTJfMDAwO1xuXG5leHBvcnQgZnVuY3Rpb24gYXR0YWNoQXVkaW9MaXN0ZW5lcnMoeyB3YywgZW5jb2RlciwgZ2V0VmlkZW9UaW1lTXMsIG9uRXJyb3IgfTogQXVkaW9MaXN0ZW5lck9wdGlvbnMpOiBBdWRpb0Rpc3Bvc2FsIHtcbiAgY29uc3Qgb25NZXRhID0gYXN5bmMgKF9lOiB1bmtub3duLCBkYXRhOiB7IHNhbXBsZVJhdGU6IG51bWJlciB9KSA9PiB7XG4gICAgY29uc3Qgc2FtcGxlUmF0ZSA9IGRhdGEuc2FtcGxlUmF0ZTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShzYW1wbGVSYXRlKSB8fCBzYW1wbGVSYXRlIDw9IDAgfHwgc2FtcGxlUmF0ZSA+IE1BWF9TQU1QTEVfUkFURSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydE1zID0gZ2V0VmlkZW9UaW1lTXMoKTtcbiAgICBlbmNvZGVyLnNldHVwQXVkaW8oc2FtcGxlUmF0ZSk7XG4gICAgY29uc3Qgc2lsZW5jZVNhbXBsZXMgPSBNYXRoLmNlaWwoKHN0YXJ0TXMgKiBzYW1wbGVSYXRlKSAvIDEwMDApO1xuICAgIGlmIChzaWxlbmNlU2FtcGxlcyA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBlbmNvZGVyLmVuY29kZUF1ZGlvKEJ1ZmZlci5hbGxvYyhzaWxlbmNlU2FtcGxlcyAqIDIgKiA0KSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIG9uRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNodW5rID0gYXN5bmMgKF9lOiB1bmtub3duLCBidWZmZXI6IEJ1ZmZlcikgPT4ge1xuICAgIC8vIFBhZ2Utd29ybGQgY29kZSBvd25zIHRoaXMgY2hhbm5lbCwgc28gdHJlYXQgaXRzIHBheWxvYWQgYXMgaW5wdXQ6IHdyb25nIHNpemUgbWVhbnMgaXQgaXMgbm90IG91ciB3b3JrbGV0J3MgUENNLlxuICAgIGNvbnN0IGJ5dGVzID0gQXJyYXlCdWZmZXIuaXNWaWV3KGJ1ZmZlcikgPyBidWZmZXIuYnl0ZUxlbmd0aCA6IDA7XG4gICAgaWYgKGJ5dGVzID09PSAwIHx8IGJ5dGVzID4gTUFYX0NIVU5LX0JZVEVTIHx8IGJ5dGVzICUgOCAhPT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZW5jb2Rlci5lbmNvZGVBdWRpbyhidWZmZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgd2MuaXBjLm9uKEFVRElPX01FVEFfQ0hBTk5FTCwgb25NZXRhKTtcbiAgd2MuaXBjLm9uKEFVRElPX0NIVU5LX0NIQU5ORUwsIG9uQ2h1bmspO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgd2MuaXBjLnJlbW92ZUxpc3RlbmVyKEFVRElPX01FVEFfQ0hBTk5FTCwgb25NZXRhKTtcbiAgICB3Yy5pcGMucmVtb3ZlTGlzdGVuZXIoQVVESU9fQ0hVTktfQ0hBTk5FTCwgb25DaHVuayk7XG4gIH07XG59XG4iLCIvLyBDcmVhdGVkIGJ5IEF1dG9rYWthIChxcTE5MDk2OTg0OTRAZ21haWwuY29tKSBvbiAyMDI2LzAyLzA5LlxuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyLCBTaXplLCBXZWJDb250ZW50cyB9IGZyb20gXCJlbGVjdHJvblwiO1xuaW1wb3J0IHsgZXZhbEluIH0gZnJvbSBcIi4uL2Jhc2UvY2RwXCI7XG5pbXBvcnQgeyB3aXRoVGltZW91dCB9IGZyb20gXCIuLi9iYXNlL3RpbWluZ1wiO1xuXG5leHBvcnQgY29uc3QgRlJBTUVfU1lOQ19NQVJLRVJfV0lEVEggPSAzMjtcbmV4cG9ydCBjb25zdCBGUkFNRV9TWU5DX01BUktFUl9IRUlHSFQgPSAxO1xuZXhwb3J0IGNvbnN0IFNURUdPX1RJQ0tfQ0hBTk5FTCA9IFwic3RlZ28tdGlja1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdGVnb0hUTUwodGFyZ2V0VVJMOiBzdHJpbmcsIHNpemU6IFNpemUpOiBzdHJpbmcge1xuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHNpemU7XG4gIHJldHVybiBgPCFET0NUWVBFIGh0bWw+XG48aHRtbD5cbjxoZWFkPlxuICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIj5cbiAgPHN0eWxlPlxuICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBodG1sLCBib2R5IHsgd2lkdGg6ICR7d2lkdGh9cHg7IGhlaWdodDogJHtoZWlnaHQgKyAxfXB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI3RhcmdldCB7IFxuICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICAgIHRvcDogMDsgXG4gICAgICBsZWZ0OiAwOyBcbiAgICAgIHdpZHRoOiAke3dpZHRofXB4OyBcbiAgICAgIGhlaWdodDogJHtoZWlnaHR9cHg7IFxuICAgICAgYm9yZGVyOiBub25lOyBcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAjc3RlZ28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAke2hlaWdodH1weDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJHt3aWR0aH1weDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcbiAgICB9XG4gIDwvc3R5bGU+XG48L2hlYWQ+XG48Ym9keT5cbiAgPGlmcmFtZSBpZD1cInRhcmdldFwiIHNyYz1cIiR7dGFyZ2V0VVJMfVwiPjwvaWZyYW1lPlxuICA8Y2FudmFzIGlkPVwic3RlZ29cIiB3aWR0aD1cIiR7d2lkdGh9XCIgaGVpZ2h0PVwiMVwiPjwvY2FudmFzPlxuICA8c2NyaXB0PlxuICAgIChmdW5jdGlvbigpIHtcbiAgICAgIGNvbnN0IFdJRFRIID0gJHt3aWR0aH07XG4gICAgICBjb25zdCBNQVJLRVJfV0lEVEggPSAke0ZSQU1FX1NZTkNfTUFSS0VSX1dJRFRIfTtcbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGVnbycpO1xuICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJywgeyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUgfSk7XG4gICAgICBsZXQgc3RhcnRUaW1lID0gbnVsbDtcbiAgICAgIGxldCByYWZJZCA9IG51bGw7XG5cbiAgICAgIGZ1bmN0aW9uIGVuY29kZVRpbWVzdGFtcCh0aW1lc3RhbXBNcykge1xuICAgICAgICBjb25zdCBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKFdJRFRILCAxKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGltYWdlRGF0YS5kYXRhO1xuXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcEludCA9IE1hdGguZmxvb3IodGltZXN0YW1wTXMpID4+PiAwO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTUFSS0VSX1dJRFRIOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBiaXQgPSAodGltZXN0YW1wSW50ID4+PiAoTUFSS0VSX1dJRFRIIC0gMSAtIGkpKSAmIDE7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBiaXQgPyAyNTUgOiAwO1xuICAgICAgICAgIGNvbnN0IGlkeCA9IGkgKiA0O1xuICAgICAgICAgIGRhdGFbaWR4XSA9IHZhbHVlO1xuICAgICAgICAgIGRhdGFbaWR4ICsgMV0gPSB2YWx1ZTtcbiAgICAgICAgICBkYXRhW2lkeCArIDJdID0gdmFsdWU7XG4gICAgICAgICAgZGF0YVtpZHggKyAzXSA9IDI1NTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSBNQVJLRVJfV0lEVEg7IGkgPCBXSURUSDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaWR4ID0gaSAqIDQ7XG4gICAgICAgICAgZGF0YVtpZHhdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDFdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDJdID0gMDtcbiAgICAgICAgICBkYXRhW2lkeCArIDNdID0gMjU1O1xuICAgICAgICB9XG5cbiAgICAgICAgY3R4LnB1dEltYWdlRGF0YShpbWFnZURhdGEsIDAsIDApO1xuICAgICAgICB3aW5kb3cuX19wdXBfc3RlZ29fdGlja19fKCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZUxvb3AoKSB7XG4gICAgICAgIGlmIChzdGFydFRpbWUgPT09IG51bGwpIHJldHVybjtcbiAgICAgICAgY29uc3QgZWxhcHNlZCA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICBlbmNvZGVUaW1lc3RhbXAoZWxhcHNlZCk7XG4gICAgICAgIHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUxvb3ApO1xuICAgICAgfVxuXG4gICAgICB3aW5kb3cuX19wdXBfc3RhcnRfc3RlZ29fXyA9ICgpID0+IHtcbiAgICAgICAgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgIGVuY29kZVRpbWVzdGFtcCgwKTtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUxvb3ApO1xuICAgICAgfTtcblxuICAgICAgd2luZG93Ll9fcHVwX2RyYXdfc3RlZ29fXyA9IChtcykgPT4ge1xuICAgICAgICBlbmNvZGVUaW1lc3RhbXAobXMpO1xuICAgICAgfTtcblxuICAgICAgd2luZG93Ll9fcHVwX3N0b3Bfc3RlZ29fXyA9ICgpID0+IHtcbiAgICAgICAgaWYgKHJhZklkICE9PSBudWxsKSB7XG4gICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgICAgIHJhZklkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KSgpO1xuICA8L3NjcmlwdD5cbjwvYm9keT5cbjwvaHRtbD5gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlU3RlZ28oYml0bWFwOiBCdWZmZXIsIHNpemU6IFNpemUpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHNpemU7XG4gIGlmICh3aWR0aCA8IEZSQU1FX1NZTkNfTUFSS0VSX1dJRFRIIHx8IGhlaWdodCA8IDIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgbWFya2VyUm93ID0gaGVpZ2h0IC0gMTtcblxuICBsZXQgdGltZXN0YW1wID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBGUkFNRV9TWU5DX01BUktFUl9XSURUSDsgaSsrKSB7XG4gICAgY29uc3QgcGl4ZWxJZHggPSAobWFya2VyUm93ICogd2lkdGggKyBpKSAqIDQ7XG4gICAgY29uc3QgciA9IGJpdG1hcFtwaXhlbElkeF0gPz8gMDtcbiAgICBjb25zdCBiaXQgPSByID4gMTI3ID8gMSA6IDA7XG4gICAgdGltZXN0YW1wID0gKHRpbWVzdGFtcCA8PCAxKSB8IGJpdDtcbiAgfVxuXG4gIHRpbWVzdGFtcCA9IHRpbWVzdGFtcCA+Pj4gMDtcblxuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh0aW1lc3RhbXApIHx8IHRpbWVzdGFtcCA8IDAgfHwgdGltZXN0YW1wID4gMWU3KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB0aW1lc3RhbXA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFN0ZWdvKGNkcDogRGVidWdnZXIpIHtcbiAgcmV0dXJuIGV2YWxJbihjZHAsIGBfX3B1cF9zdGFydF9zdGVnb19fKClgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BTdGVnbyhjZHA6IERlYnVnZ2VyKSB7XG4gIHJldHVybiBldmFsSW4oY2RwLCBgX19wdXBfc3RvcF9zdGVnb19fKClgKTtcbn1cblxuLy8gUGFpbnRzIHRoZSBzdGVnbyByb3cgZm9yIGBleHBlY3RlZGAgbXMgc3luY2hyb25vdXNseTsgdGhlIGRhbWFnZSByaWRlcyBvdXQgb24gdGhlIG5leHQgY29tcG9zaXRlZCBmcmFtZS5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkcmF3U3RlZ28od2M6IFdlYkNvbnRlbnRzLCBleHBlY3RlZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGV2YWxJbih3Yy5kZWJ1Z2dlciwgYF9fcHVwX2RyYXdfc3RlZ29fXygke2V4cGVjdGVkfSlgKTtcbn1cblxuLy8gUmVzb2x2ZXMgd2hlbiB0aGUgcmVuZGVyZXIgY29tbWl0dGVkIHRoZSBzdGVnbyByb3c7IGFybSBCRUZPUkUgZHJhd1N0ZWdvIHRvIGF2b2lkIG1pc3NpbmcgdGhlIGFjay5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0U3RlZ29UaWNrKHdjOiBXZWJDb250ZW50cyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzd2FwcGVkID0gbmV3IFByb21pc2UoKHIpID0+IHdjLmlwYy5vbmNlKFNURUdPX1RJQ0tfQ0hBTk5FTCwgcikpO1xuICBhd2FpdCB3aXRoVGltZW91dChzd2FwcGVkLCA1XzAwMCwgXCJzdGVnbyB0aWNrXCIpO1xufVxuIiwiLy8gQ3JlYXRlZCBieSBBdXRva2FrYSAocXExOTA5Njk4NDk0QGdtYWlsLmNvbSkgb24gMjAyNi8wNy8yNy5cblxuZXhwb3J0IHR5cGUgV29ybGRNb2RlID0gXCJzaG9vdFwiIHwgXCJyZW5kZXJcIiB8IFwiYXVkaW9cIjtcblxuLy8gTmFtZXMgdGhlIHBhZ2Utd29ybGQgYnVuZGxlIGluIHRoZSBwcmVsb2FkJ3MgYXJndjsga2VlcCB0aGlzIG1vZHVsZSBkZXBlbmRlbmN5LWZyZWUsIHRoZSBwcmVsb2FkIGxvYWRzIGl0IGFzLWlzLlxuZXhwb3J0IGNvbnN0IFdPUkxEX0FSRyA9IFwiLS1wdXAtd29ybGQ9XCI7XG5cbi8vIFByZXNlbnQgb25seSB3aGVuIHRoZSBydW4gY2FwdHVyZXMgYXVkaW8sIHNvIGEgcGFnZSBpbiBhbnkgb3RoZXIgbW9kZSBoYXMgbm8gY2hhbm5lbCB0byBwdXNoIFBDTSB0aHJvdWdoLlxuZXhwb3J0IGNvbnN0IEFVRElPX0FSRyA9IFwiLS1wdXAtYXVkaW9cIjtcbiIsIi8vIENyZWF0ZWQgYnkgQXV0b2tha2EgKHFxMTkwOTY5ODQ5NEBnbWFpbC5jb20pIG9uIDIwMjYvMDcvMjcuXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBjb250ZXh0QnJpZGdlLCBpcGNSZW5kZXJlciwgd2ViRnJhbWUgfSBmcm9tIFwiZWxlY3Ryb25cIjtcblxuaW1wb3J0IHsgQVVESU9fQ0hVTktfQ0hBTk5FTCwgQVVESU9fTUVUQV9DSEFOTkVMIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2F1ZGlvXCI7XG5pbXBvcnQgeyBTVEVHT19USUNLX0NIQU5ORUwgfSBmcm9tIFwiLi4vcmVuZGVyZXIvc3RlZ29cIjtcbmltcG9ydCB0eXBlIHsgUHVwQXVkaW9CcmlkZ2UgfSBmcm9tIFwiLi9hdWRpby9jYXB0dXJlXCI7XG5pbXBvcnQgeyBBVURJT19BUkcsIFdPUkxEX0FSRyB9IGZyb20gXCIuL3dvcmxkXCI7XG5cbmNvbnN0IGF1ZGlvOiBQdXBBdWRpb0JyaWRnZSA9IHtcbiAgbWV0YTogKHNhbXBsZVJhdGUpID0+IGlwY1JlbmRlcmVyLnNlbmQoQVVESU9fTUVUQV9DSEFOTkVMLCB7IHNhbXBsZVJhdGUgfSksXG4gIGNodW5rOiAocGNtKSA9PiBpcGNSZW5kZXJlci5zZW5kKEFVRElPX0NIVU5LX0NIQU5ORUwsIEJ1ZmZlci5mcm9tKHBjbS5idWZmZXIpKSxcbn07XG5cbi8vIEd1YXJkcyB0aGUgd2hvbGUgZGVzaWduOiB3aXRob3V0IGlzb2xhdGlvbiB0aGUgcGFnZSBzaGFyZXMgdGhpcyBzY29wZSBhbmQgY2FuIGZpc2ggaXBjUmVuZGVyZXIgb3V0IG9mIGl0LlxuaWYgKCFwcm9jZXNzLmNvbnRleHRJc29sYXRlZCkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJwcmVsb2FkIHJlcXVpcmVzIGNvbnRleHRJc29sYXRpb25cIik7XG59XG5cbi8vIEVhY2ggY2hhbm5lbCByZWFjaGVzIG9ubHkgdGhlIGZyYW1lIHRoYXQgb3ducyBpdDogdGhlIHdyYXBwZXIgZHJhd3MgdGhlIHN0ZWdvIHJvdywgdGhlIHRhcmdldCBwYWdlIG1ha2VzIHRoZSBzb3VuZC5cbmNvbnN0IGlzV3JhcHBlciA9IHdpbmRvdy5zZWxmID09PSB3aW5kb3cudG9wO1xuaWYgKGlzV3JhcHBlcikge1xuICBjb250ZXh0QnJpZGdlLmV4cG9zZUluTWFpbldvcmxkKFwiX19wdXBfc3RlZ29fdGlja19fXCIsICgpID0+IGlwY1JlbmRlcmVyLnNlbmQoU1RFR09fVElDS19DSEFOTkVMKSk7XG59IGVsc2UgaWYgKHByb2Nlc3MuYXJndi5pbmNsdWRlcyhBVURJT19BUkcpKSB7XG4gIGNvbnRleHRCcmlkZ2UuZXhwb3NlSW5NYWluV29ybGQoXCJfX3B1cF9hdWRpb19fXCIsIGF1ZGlvKTtcbn1cblxuLy8gSG9va3MgbXVzdCBwYXRjaCBwYWdlIGdsb2JhbHMsIHNvIHRoZXkgcnVuIGluIHRoZSBtYWluIHdvcmxkIOKAlCByZWFjaGFibGUgZnJvbSBoZXJlIGJ1dCBub3QgZnJvbSB0aGlzIGlzb2xhdGVkIHNjb3BlLlxuY29uc3Qgd29ybGRTY3JpcHQgPSBwcm9jZXNzLmFyZ3YuZmluZCgoYSkgPT4gYS5zdGFydHNXaXRoKFdPUkxEX0FSRykpPy5zbGljZShXT1JMRF9BUkcubGVuZ3RoKTtcbmlmICh3b3JsZFNjcmlwdCkge1xuICB3ZWJGcmFtZS5leGVjdXRlSmF2YVNjcmlwdChyZWFkRmlsZVN5bmMod29ybGRTY3JpcHQsIFwidXRmLThcIikpO1xufVxuIl19
|