Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/files_pdfviewer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2021-06-09 22:15:42 +0300
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2021-06-09 22:15:42 +0300
commite9893a8bad3240f456fb9d39aed3fcc067ecd19b (patch)
tree72aa60ae6d915a06da72dc3fa2f5cf32a3bf89e2 /js
parent22af4aa3c2914f2de81b0c82b12968349d519867 (diff)
Disable content copy for PDF files that specify it
In v2.5.207 pdf.js added the "enablePermissions" option to disable copying in the viewer for the PDF files that specify it. The option is off by default, so it needs to be explicitly enabled. Note that the content copy is prevented just by disabling selection through CSS. The "selection disabled" flag in a PDF document is not a strong security measure and can be easily circumvented (for example, just downloading the file and opening it in a PDF reader that does not honour the flag), so disabling the selection through CSS was deemed good enough for pdf.js. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'js')
-rw-r--r--js/files_pdfviewer-workersrc.js4
-rw-r--r--js/files_pdfviewer-workersrc.js.map2
2 files changed, 3 insertions, 3 deletions
diff --git a/js/files_pdfviewer-workersrc.js b/js/files_pdfviewer-workersrc.js
index ffce9ad..37ae0e4 100644
--- a/js/files_pdfviewer-workersrc.js
+++ b/js/files_pdfviewer-workersrc.js
@@ -1,3 +1,3 @@
/*! For license information please see files_pdfviewer-workersrc.js.LICENSE.txt */
-(()=>{var e={8583:(e,t,r)=>{"use strict";var n=r(7418);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o<i;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0}function i(e){return r.g.Buffer&&"function"==typeof r.g.Buffer.isBuffer?r.g.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var u=r(69),c=Object.prototype.hasOwnProperty,a=Array.prototype.slice,s="foo"===function(){}.name;function f(e){return Object.prototype.toString.call(e)}function l(e){return!i(e)&&("function"==typeof r.g.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var p=e.exports=m,y=/\s*function\s+([^\(\s]*)\s*/;function g(e){if(u.isFunction(e)){if(s)return e.name;var t=e.toString().match(y);return t&&t[1]}}function d(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function h(e){if(s||!u.isFunction(e))return u.inspect(e);var t=g(e);return"[Function"+(t?": "+t:"")+"]"}function b(e,t,r,n,o){throw new p.AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:o})}function m(e,t){e||b(e,!0,t,"==",p.ok)}function v(e,t,r,n){if(e===t)return!0;if(i(e)&&i(t))return 0===o(e,t);if(u.isDate(e)&&u.isDate(t))return e.getTime()===t.getTime();if(u.isRegExp(e)&&u.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(l(e)&&l(t)&&f(e)===f(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===o(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(i(e)!==i(t))return!1;var c=(n=n||{actual:[],expected:[]}).actual.indexOf(e);return-1!==c&&c===n.expected.indexOf(t)||(n.actual.push(e),n.expected.push(t),function(e,t,r,n){if(null==e||null==t)return!1;if(u.isPrimitive(e)||u.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=w(e),i=w(t);if(o&&!i||!o&&i)return!1;if(o)return v(e=a.call(e),t=a.call(t),r);var c,s,f=E(e),l=E(t);if(f.length!==l.length)return!1;for(f.sort(),l.sort(),s=f.length-1;s>=0;s--)if(f[s]!==l[s])return!1;for(s=f.length-1;s>=0;s--)if(!v(e[c=f[s]],t[c],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function O(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function j(e,t,r,n){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!o&&b(o,r,"Missing expected exception"+n);var i="string"==typeof n,c=!e&&o&&!r;if((!e&&u.isError(o)&&i&&O(o,r)||c)&&b(o,r,"Got unwanted exception"+n),e&&o&&r&&!O(o,r)||!e&&o)throw o}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(h((t=this).actual),128)+" "+t.operator+" "+d(h(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||b;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var o=n.stack,i=g(r),u=o.indexOf("\n"+i);if(u>=0){var c=o.indexOf("\n",u+1);o=o.substring(c+1)}this.stack=o}}},u.inherits(p.AssertionError,Error),p.fail=b,p.ok=m,p.equal=function(e,t,r){e!=t&&b(e,t,r,"==",p.equal)},p.notEqual=function(e,t,r){e==t&&b(e,t,r,"!=",p.notEqual)},p.deepEqual=function(e,t,r){v(e,t,!1)||b(e,t,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,r){v(e,t,!0)||b(e,t,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,r){v(e,t,!1)&&b(e,t,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&b(t,r,n,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,r){e!==t&&b(e,t,r,"===",p.strictEqual)},p.notStrictEqual=function(e,t,r){e===t&&b(e,t,r,"!==",p.notStrictEqual)},p.throws=function(e,t,r){j(!0,e,t,r)},p.doesNotThrow=function(e,t,r){j(!1,e,t,r)},p.ifError=function(e){if(e)throw e},p.strict=n((function e(t,r){t||b(t,!0,r,"==",e)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var E=Object.keys||function(e){var t=[];for(var r in e)c.call(e,r)&&t.push(r);return t}},6076:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},2014:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},69:(e,t,r)=>{var n=r(4155),o=r(5108),i=/%[sdj%]/g;t.format=function(e){if(!m(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(a(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,u=String(e).replace(i,(function(e){if("%%"===e)return"%";if(r>=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r<o;c=n[++r])h(c)||!O(c)?u+=" "+c:u+=" "+a(c);return u},t.deprecate=function(e,i){if(v(r.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===n.noDeprecation)return e;var u=!1;return function(){if(!u){if(n.throwDeprecation)throw new Error(i);n.traceDeprecation?o.trace(i):o.error(i),u=!0}return e.apply(this,arguments)}};var u,c={};function a(e,r){var n={seen:[],stylize:f};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),l(n,e,n.depth)}function s(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function f(e,t){return e}function l(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return m(o)||(o=l(e,o,n)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(m(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(b(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),E(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return p(r);if(0===u.length){if(x(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(j(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var s,f="",O=!1,S=["{","}"];(g(r)&&(O=!0,S=["[","]"]),x(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(f=" "+RegExp.prototype.toString.call(r)),j(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==u.length||O&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=O?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u<c;++u)T(t,String(u))?i.push(y(e,t,r,n,String(u),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(y(e,t,r,n,o,!0))})),i}(e,r,n,c,u):u.map((function(t){return y(e,r,n,c,t,O)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,S)):S[0]+f+S[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),T(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=h(r)?l(e,a.value,null):l(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function g(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function h(e){return null===e}function b(e){return"number"==typeof e}function m(e){return"string"==typeof e}function v(e){return void 0===e}function w(e){return O(e)&&"[object RegExp]"===S(e)}function O(e){return"object"==typeof e&&null!==e}function j(e){return O(e)&&"[object Date]"===S(e)}function E(e){return O(e)&&("[object Error]"===S(e)||e instanceof Error)}function x(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function D(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(u)&&(u=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!c[e])if(new RegExp("\\b"+e+"\\b","i").test(u)){var r=n.pid;c[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else c[e]=function(){};return c[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=g,t.isBoolean=d,t.isNull=h,t.isNullOrUndefined=function(e){return null==e},t.isNumber=b,t.isString=m,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=w,t.isObject=O,t.isDate=j,t.isError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(2014);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",A(),t.format.apply(t,arguments))},t.inherits=r(6076),t._extend=function(e,t){if(!t||!O(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},6485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=document.getElementById("hideDownload");t.default=()=>!r||r&&"true"!==r.value},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(window.location!==window.parent.location)return;window.location.href="/"}},5108:(e,t,r)=>{var n=r(9539),o=r(8583);function i(){return(new Date).getTime()}var u,c=Array.prototype.slice,a={};u=void 0!==r.g&&r.g.console?r.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var s=[[function(){},"log"],[function(){u.log.apply(u,arguments)},"info"],[function(){u.log.apply(u,arguments)},"warn"],[function(){u.warn.apply(u,arguments)},"error"],[function(e){a[e]=i()},"time"],[function(e){var t=a[e];if(!t)throw new Error("No such label: "+e);delete a[e];var r=i()-t;u.log(e+": "+r+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=n.format.apply(null,arguments),u.error(e.stack)},"trace"],[function(e){u.log(n.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=c.call(arguments,1);o.ok(!1,n.format.apply(null,t))}},"assert"]],f=0;f<s.length;f++){var l=s[f],p=l[0],y=l[1];u[y]||(u[y]=p)}e.exports=u},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var u,c,a=o(e),s=1;s<arguments.length;s++){for(var f in u=Object(arguments[s]))r.call(u,f)&&(a[f]=u[f]);if(t){c=t(u);for(var l=0;l<c.length;l++)n.call(u,c[l])&&(a[c[l]]=u[c[l]])}}return a}},4155:e=>{var t,r,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var c,a=[],s=!1,f=-1;function l(){s&&c&&(s=!1,c.length?a=c.concat(a):f=-1,a.length&&p())}function p(){if(!s){var e=u(l);s=!0;for(var t=a.length;t;){for(c=a,a=[];++f<t;)c&&c[f].run();f=-1,t=a.length}c=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function y(e,t){this.fun=e,this.array=t}function g(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new y(e,t)),1!==a.length||s||u(p)},y.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=g,n.addListener=g,n.once=g,n.off=g,n.removeListener=g,n.removeAllListeners=g,n.emit=g,n.prependListener=g,n.prependOnceListener=g,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},1496:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{var n=r(4155),o=r(5108),i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},u=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(s(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,i=String(e).replace(u,(function(e){if("%%"===e)return"%";if(r>=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r<o;c=n[++r])b(c)||!j(c)?i+=" "+c:i+=" "+s(c);return i},t.deprecate=function(e,r){if(void 0!==n&&!0===n.noDeprecation)return e;if(void 0===n)return function(){return t.deprecate(e,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?o.trace(r):o.error(r),i=!0}return e.apply(this,arguments)}};var c,a={};function s(e,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),h(r)?n.showHidden=r:r&&t._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),p(n,e,n.depth)}function f(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function l(e,t){return e}function p(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=p(e,o,n)),o}var i=function(e,t){if(w(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(h(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),x(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return y(r);if(0===u.length){if(S(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(O(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(x(r))return y(r)}var s,f="",l=!1,j=["{","}"];(d(r)&&(l=!0,j=["[","]"]),S(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return O(r)&&(f=" "+RegExp.prototype.toString.call(r)),E(r)&&(f=" "+Date.prototype.toUTCString.call(r)),x(r)&&(f=" "+y(r)),0!==u.length||l&&0!=r.length?n<0?O(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=l?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u<c;++u)z(t,String(u))?i.push(g(e,t,r,n,String(u),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(g(e,t,r,n,o,!0))})),i}(e,r,n,c,u):u.map((function(t){return g(e,r,n,c,t,l)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,j)):j[0]+f+j[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function g(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),z(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=b(r)?p(e,a.value,null):p(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),w(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function d(e){return Array.isArray(e)}function h(e){return"boolean"==typeof e}function b(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function w(e){return void 0===e}function O(e){return j(e)&&"[object RegExp]"===D(e)}function j(e){return"object"==typeof e&&null!==e}function E(e){return j(e)&&"[object Date]"===D(e)}function x(e){return j(e)&&("[object Error]"===D(e)||e instanceof Error)}function S(e){return"function"==typeof e}function D(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(w(c)&&(c=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(c)){var r=n.pid;a[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=h,t.isNull=b,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=w,t.isRegExp=O,t.isObject=j,t.isDate=E,t.isError=x,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(384);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var e=new Date,t=[P(e.getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":");return[e.getDate(),A[e.getMonth()],t].join(" ")}function z(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",T(),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var F="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(F&&e[F]){var t;if("function"!=typeof(t=e[F]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,o)}catch(e){r(e)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),F&&Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,i(e))},t.promisify.custom=F,t.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var o=t.pop();if("function"!=typeof o)throw new TypeError("The last argument must be of type Function");var i=this,u=function(){return o.apply(i,arguments)};e.apply(this,t).then((function(e){n.nextTick(u,null,e)}),(function(e){n.nextTick(k,e,u)}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,i(e)),t}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{"use strict";var e=r(5108),t=n(r(6485));function n(e){return e&&e.__esModule?e:{default:e}}(0,n(r(4030)).default)(),document.addEventListener("DOMContentLoaded",(function(){if(PDFViewerApplicationOptions.set("disablePreferences",!0),PDFViewerApplicationOptions.set("externalLinkTarget",pdfjsLib.LinkTarget.BLANK),PDFViewerApplicationOptions.set("isEvalSupported",!1),PDFViewerApplicationOptions.set("workerSrc",document.getElementsByTagName("head")[0].getAttribute("data-workersrc")),PDFViewerApplicationOptions.set("cMapUrl",document.getElementsByTagName("head")[0].getAttribute("data-cmapurl")),e.debug("Initialized files_pdfviewer",PDFViewerApplicationOptions.getAll()),PDFViewerApplication.download=function(){function t(e){let t=0;const r=e.length;for(;t<r&&""===e[t].trim();)t++;return"data:"===e.substr(t,5).toLowerCase()}const r=decodeURIComponent(window.location.search.substr(6));this.downloadManager.downloadUrl(r,function(r){const n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if(t(r))return e.warn('getPDFFileNameFromURL: ignoring "data:" URL for performance reasons.'),n;const o=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,i=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,u=o.exec(r);let c=i.exec(u[1])||i.exec(u[2])||i.exec(u[3]);if(c&&(c=c[0],-1!==c.indexOf("%")))try{c=i.exec(decodeURIComponent(c))[0]}catch(t){e.debug(t)}return c||n}(r))},!(0,t.default)()){PDFViewerApplication.download=function(){};const t=document.getElementById("toolbarViewerRight").querySelector("button.download");t&&(t.style.display="none"),delete PDFViewerApplication.supportsPrinting,PDFViewerApplication.supportsPrinting=!1,PDFViewerApplication.beforePrint=function(){},document.getElementById("viewer").classList.add("disabledTextSelection"),e.debug("Files_PDFViewer, download and print disabled")}}),!0)})()})();
-//# sourceMappingURL=files_pdfviewer-workersrc.js.map?v=ce5ed7e131aba81d89bd \ No newline at end of file
+(()=>{var e={8583:(e,t,r)=>{"use strict";var n=r(7418);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o<i;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0}function i(e){return r.g.Buffer&&"function"==typeof r.g.Buffer.isBuffer?r.g.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var u=r(69),c=Object.prototype.hasOwnProperty,a=Array.prototype.slice,s="foo"===function(){}.name;function f(e){return Object.prototype.toString.call(e)}function l(e){return!i(e)&&("function"==typeof r.g.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var p=e.exports=m,y=/\s*function\s+([^\(\s]*)\s*/;function g(e){if(u.isFunction(e)){if(s)return e.name;var t=e.toString().match(y);return t&&t[1]}}function d(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function h(e){if(s||!u.isFunction(e))return u.inspect(e);var t=g(e);return"[Function"+(t?": "+t:"")+"]"}function b(e,t,r,n,o){throw new p.AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:o})}function m(e,t){e||b(e,!0,t,"==",p.ok)}function v(e,t,r,n){if(e===t)return!0;if(i(e)&&i(t))return 0===o(e,t);if(u.isDate(e)&&u.isDate(t))return e.getTime()===t.getTime();if(u.isRegExp(e)&&u.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(l(e)&&l(t)&&f(e)===f(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===o(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(i(e)!==i(t))return!1;var c=(n=n||{actual:[],expected:[]}).actual.indexOf(e);return-1!==c&&c===n.expected.indexOf(t)||(n.actual.push(e),n.expected.push(t),function(e,t,r,n){if(null==e||null==t)return!1;if(u.isPrimitive(e)||u.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=w(e),i=w(t);if(o&&!i||!o&&i)return!1;if(o)return v(e=a.call(e),t=a.call(t),r);var c,s,f=E(e),l=E(t);if(f.length!==l.length)return!1;for(f.sort(),l.sort(),s=f.length-1;s>=0;s--)if(f[s]!==l[s])return!1;for(s=f.length-1;s>=0;s--)if(!v(e[c=f[s]],t[c],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function O(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function j(e,t,r,n){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!o&&b(o,r,"Missing expected exception"+n);var i="string"==typeof n,c=!e&&o&&!r;if((!e&&u.isError(o)&&i&&O(o,r)||c)&&b(o,r,"Got unwanted exception"+n),e&&o&&r&&!O(o,r)||!e&&o)throw o}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(h((t=this).actual),128)+" "+t.operator+" "+d(h(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||b;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var o=n.stack,i=g(r),u=o.indexOf("\n"+i);if(u>=0){var c=o.indexOf("\n",u+1);o=o.substring(c+1)}this.stack=o}}},u.inherits(p.AssertionError,Error),p.fail=b,p.ok=m,p.equal=function(e,t,r){e!=t&&b(e,t,r,"==",p.equal)},p.notEqual=function(e,t,r){e==t&&b(e,t,r,"!=",p.notEqual)},p.deepEqual=function(e,t,r){v(e,t,!1)||b(e,t,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,r){v(e,t,!0)||b(e,t,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,r){v(e,t,!1)&&b(e,t,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&b(t,r,n,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,r){e!==t&&b(e,t,r,"===",p.strictEqual)},p.notStrictEqual=function(e,t,r){e===t&&b(e,t,r,"!==",p.notStrictEqual)},p.throws=function(e,t,r){j(!0,e,t,r)},p.doesNotThrow=function(e,t,r){j(!1,e,t,r)},p.ifError=function(e){if(e)throw e},p.strict=n((function e(t,r){t||b(t,!0,r,"==",e)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var E=Object.keys||function(e){var t=[];for(var r in e)c.call(e,r)&&t.push(r);return t}},6076:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},2014:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},69:(e,t,r)=>{var n=r(4155),o=r(5108),i=/%[sdj%]/g;t.format=function(e){if(!m(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(a(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,u=String(e).replace(i,(function(e){if("%%"===e)return"%";if(r>=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r<o;c=n[++r])h(c)||!O(c)?u+=" "+c:u+=" "+a(c);return u},t.deprecate=function(e,i){if(v(r.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===n.noDeprecation)return e;var u=!1;return function(){if(!u){if(n.throwDeprecation)throw new Error(i);n.traceDeprecation?o.trace(i):o.error(i),u=!0}return e.apply(this,arguments)}};var u,c={};function a(e,r){var n={seen:[],stylize:f};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),l(n,e,n.depth)}function s(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function f(e,t){return e}function l(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return m(o)||(o=l(e,o,n)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(m(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(b(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),E(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return p(r);if(0===u.length){if(x(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(j(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var s,f="",O=!1,S=["{","}"];(g(r)&&(O=!0,S=["[","]"]),x(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(f=" "+RegExp.prototype.toString.call(r)),j(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==u.length||O&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=O?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u<c;++u)T(t,String(u))?i.push(y(e,t,r,n,String(u),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(y(e,t,r,n,o,!0))})),i}(e,r,n,c,u):u.map((function(t){return y(e,r,n,c,t,O)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,S)):S[0]+f+S[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),T(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=h(r)?l(e,a.value,null):l(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function g(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function h(e){return null===e}function b(e){return"number"==typeof e}function m(e){return"string"==typeof e}function v(e){return void 0===e}function w(e){return O(e)&&"[object RegExp]"===S(e)}function O(e){return"object"==typeof e&&null!==e}function j(e){return O(e)&&"[object Date]"===S(e)}function E(e){return O(e)&&("[object Error]"===S(e)||e instanceof Error)}function x(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function D(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(u)&&(u=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!c[e])if(new RegExp("\\b"+e+"\\b","i").test(u)){var r=n.pid;c[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else c[e]=function(){};return c[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=g,t.isBoolean=d,t.isNull=h,t.isNullOrUndefined=function(e){return null==e},t.isNumber=b,t.isString=m,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=w,t.isObject=O,t.isDate=j,t.isError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(2014);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",A(),t.format.apply(t,arguments))},t.inherits=r(6076),t._extend=function(e,t){if(!t||!O(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},6485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=document.getElementById("hideDownload");t.default=()=>!r||r&&"true"!==r.value},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(window.location!==window.parent.location)return;window.location.href="/"}},5108:(e,t,r)=>{var n=r(9539),o=r(8583);function i(){return(new Date).getTime()}var u,c=Array.prototype.slice,a={};u=void 0!==r.g&&r.g.console?r.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var s=[[function(){},"log"],[function(){u.log.apply(u,arguments)},"info"],[function(){u.log.apply(u,arguments)},"warn"],[function(){u.warn.apply(u,arguments)},"error"],[function(e){a[e]=i()},"time"],[function(e){var t=a[e];if(!t)throw new Error("No such label: "+e);delete a[e];var r=i()-t;u.log(e+": "+r+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=n.format.apply(null,arguments),u.error(e.stack)},"trace"],[function(e){u.log(n.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=c.call(arguments,1);o.ok(!1,n.format.apply(null,t))}},"assert"]],f=0;f<s.length;f++){var l=s[f],p=l[0],y=l[1];u[y]||(u[y]=p)}e.exports=u},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var u,c,a=o(e),s=1;s<arguments.length;s++){for(var f in u=Object(arguments[s]))r.call(u,f)&&(a[f]=u[f]);if(t){c=t(u);for(var l=0;l<c.length;l++)n.call(u,c[l])&&(a[c[l]]=u[c[l]])}}return a}},4155:e=>{var t,r,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var c,a=[],s=!1,f=-1;function l(){s&&c&&(s=!1,c.length?a=c.concat(a):f=-1,a.length&&p())}function p(){if(!s){var e=u(l);s=!0;for(var t=a.length;t;){for(c=a,a=[];++f<t;)c&&c[f].run();f=-1,t=a.length}c=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function y(e,t){this.fun=e,this.array=t}function g(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new y(e,t)),1!==a.length||s||u(p)},y.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=g,n.addListener=g,n.once=g,n.off=g,n.removeListener=g,n.removeAllListeners=g,n.emit=g,n.prependListener=g,n.prependOnceListener=g,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},1496:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{var n=r(4155),o=r(5108),i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},u=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(s(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,i=String(e).replace(u,(function(e){if("%%"===e)return"%";if(r>=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r<o;c=n[++r])b(c)||!j(c)?i+=" "+c:i+=" "+s(c);return i},t.deprecate=function(e,r){if(void 0!==n&&!0===n.noDeprecation)return e;if(void 0===n)return function(){return t.deprecate(e,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?o.trace(r):o.error(r),i=!0}return e.apply(this,arguments)}};var c,a={};function s(e,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),h(r)?n.showHidden=r:r&&t._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),p(n,e,n.depth)}function f(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function l(e,t){return e}function p(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=p(e,o,n)),o}var i=function(e,t){if(w(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(h(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),x(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return y(r);if(0===u.length){if(S(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(O(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(x(r))return y(r)}var s,f="",l=!1,j=["{","}"];(d(r)&&(l=!0,j=["[","]"]),S(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return O(r)&&(f=" "+RegExp.prototype.toString.call(r)),E(r)&&(f=" "+Date.prototype.toUTCString.call(r)),x(r)&&(f=" "+y(r)),0!==u.length||l&&0!=r.length?n<0?O(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=l?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u<c;++u)z(t,String(u))?i.push(g(e,t,r,n,String(u),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(g(e,t,r,n,o,!0))})),i}(e,r,n,c,u):u.map((function(t){return g(e,r,n,c,t,l)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,j)):j[0]+f+j[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function g(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),z(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=b(r)?p(e,a.value,null):p(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),w(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function d(e){return Array.isArray(e)}function h(e){return"boolean"==typeof e}function b(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function w(e){return void 0===e}function O(e){return j(e)&&"[object RegExp]"===D(e)}function j(e){return"object"==typeof e&&null!==e}function E(e){return j(e)&&"[object Date]"===D(e)}function x(e){return j(e)&&("[object Error]"===D(e)||e instanceof Error)}function S(e){return"function"==typeof e}function D(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(w(c)&&(c=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(c)){var r=n.pid;a[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=h,t.isNull=b,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=w,t.isRegExp=O,t.isObject=j,t.isDate=E,t.isError=x,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(384);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var e=new Date,t=[P(e.getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":");return[e.getDate(),A[e.getMonth()],t].join(" ")}function z(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",T(),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var F="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(F&&e[F]){var t;if("function"!=typeof(t=e[F]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,o)}catch(e){r(e)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),F&&Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,i(e))},t.promisify.custom=F,t.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var o=t.pop();if("function"!=typeof o)throw new TypeError("The last argument must be of type Function");var i=this,u=function(){return o.apply(i,arguments)};e.apply(this,t).then((function(e){n.nextTick(u,null,e)}),(function(e){n.nextTick(k,e,u)}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,i(e)),t}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{"use strict";var e=r(5108),t=n(r(6485));function n(e){return e&&e.__esModule?e:{default:e}}(0,n(r(4030)).default)(),document.addEventListener("DOMContentLoaded",(function(){if(PDFViewerApplicationOptions.set("disablePreferences",!0),PDFViewerApplicationOptions.set("externalLinkTarget",pdfjsLib.LinkTarget.BLANK),PDFViewerApplicationOptions.set("isEvalSupported",!1),PDFViewerApplicationOptions.set("workerSrc",document.getElementsByTagName("head")[0].getAttribute("data-workersrc")),PDFViewerApplicationOptions.set("cMapUrl",document.getElementsByTagName("head")[0].getAttribute("data-cmapurl")),PDFViewerApplicationOptions.set("enablePermissions",!0),e.debug("Initialized files_pdfviewer",PDFViewerApplicationOptions.getAll()),PDFViewerApplication.download=function(){function t(e){let t=0;const r=e.length;for(;t<r&&""===e[t].trim();)t++;return"data:"===e.substr(t,5).toLowerCase()}const r=decodeURIComponent(window.location.search.substr(6));this.downloadManager.downloadUrl(r,function(r){const n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if(t(r))return e.warn('getPDFFileNameFromURL: ignoring "data:" URL for performance reasons.'),n;const o=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,i=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,u=o.exec(r);let c=i.exec(u[1])||i.exec(u[2])||i.exec(u[3]);if(c&&(c=c[0],-1!==c.indexOf("%")))try{c=i.exec(decodeURIComponent(c))[0]}catch(t){e.debug(t)}return c||n}(r))},!(0,t.default)()){PDFViewerApplication.download=function(){};const t=document.getElementById("toolbarViewerRight").querySelector("button.download");t&&(t.style.display="none"),delete PDFViewerApplication.supportsPrinting,PDFViewerApplication.supportsPrinting=!1,PDFViewerApplication.beforePrint=function(){},document.getElementById("viewer").classList.add("disabledTextSelection"),e.debug("Files_PDFViewer, download and print disabled")}}),!0)})()})();
+//# sourceMappingURL=files_pdfviewer-workersrc.js.map?v=f2a07eb63c4f83315f29 \ No newline at end of file
diff --git a/js/files_pdfviewer-workersrc.js.map b/js/files_pdfviewer-workersrc.js.map
index 37c5cf5..d2b8a3b 100644
--- a/js/files_pdfviewer-workersrc.js.map
+++ b/js/files_pdfviewer-workersrc.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///files_pdfviewer/node_modules/assert/assert.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/util.js","webpack:///files_pdfviewer/src/utils/canDownload.js","webpack:///files_pdfviewer/src/utils/redirectIfNotIframe.js","webpack:///files_pdfviewer/node_modules/console-browserify/index.js","webpack:///files_pdfviewer/node_modules/object-assign/index.js","webpack:///files_pdfviewer/node_modules/process/browser.js","webpack:///files_pdfviewer/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/util/util.js","webpack:///files_pdfviewer/webpack/bootstrap","webpack:///files_pdfviewer/webpack/runtime/global","webpack:///files_pdfviewer/src/workersrc.js"],"names":["objectAssign","compare","a","b","x","length","y","i","len","Math","min","isBuffer","g","Buffer","_isBuffer","util","hasOwn","Object","prototype","hasOwnProperty","pSlice","Array","slice","functionsHaveNames","name","pToString","obj","toString","call","isView","arrbuf","ArrayBuffer","DataView","buffer","assert","module","exports","ok","regex","getName","func","isFunction","match","truncate","s","n","inspect","something","rawname","fail","actual","expected","message","operator","stackStartFunction","AssertionError","value","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","global","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","indexOf","push","actualVisitedObjects","isPrimitive","getPrototypeOf","aIsArgs","isArguments","bIsArgs","key","ka","objectKeys","kb","sort","objEquiv","object","expectedException","test","e","Error","isPrototypeOf","_throws","shouldThrow","block","TypeError","error","_tryBlock","userProvidedMessage","isUnexpectedException","isError","options","self","this","generatedMessage","captureStackTrace","err","stack","out","fn_name","idx","next_line","substring","inherits","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","keys","create","ctor","superCtor","super_","constructor","enumerable","writable","configurable","TempCtor","arg","copy","fill","readUInt8","formatRegExp","format","f","isString","objects","arguments","join","args","str","String","replace","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","process","apply","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","arrayToHash","getOwnPropertyNames","formatError","RegExp","Date","output","base","braces","isArray","toUTCString","l","formatProperty","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","re","objectToString","d","o","pad","debuglog","env","NODE_DEBUG","toUpperCase","pid","isNullOrUndefined","isSymbol","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","origin","add","hideDownloadElmt","document","getElementById","window","location","parent","href","now","times","functions","warn","label","duration","expression","arr","tuple","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","fromCharCode","test3","letter","shouldUseNative","target","from","symbols","to","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","getOwnPropertyDescriptors","descriptors","kCustomPromisifiedSymbol","Symbol","undefined","callbackifyOnRejected","reason","cb","newReason","promisify","original","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","then","rej","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","globalThis","Function","addEventListener","PDFViewerApplicationOptions","pdfjsLib","LinkTarget","BLANK","getElementsByTagName","getAttribute","debug","getAll","PDFViewerApplication","download","isDataSchema","url","ii","trim","toLowerCase","decodeURIComponent","search","downloadManager","downloadUrl","defaultFilename","reURI","reFilename","splitURI","exec","suggestedFilename","getPDFFileNameFromURL","downloadButton","querySelector","display","supportsPrinting","beforePrint","classList"],"mappings":"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","file":"files_pdfviewer-workersrc.js?v=ce5ed7e131aba81d89bd","sourcesContent":["'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst hideDownloadElmt = document.getElementById('hideDownload')\n// true = hidden download\nexport default () => !hideDownloadElmt || (hideDownloadElmt && hideDownloadElmt.value !== 'true')\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default function() {\n\t// Not within iframe\n\tif (window.location !== window.parent.location) {\n\t\treturn\n\t}\n\n\twindow.location.href = '/'\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","\n/**\n * @copyright Copyright (c) 2020 Daniel Calviño Sánchez <danxuliu@gmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport canDownload from './utils/canDownload'\nimport redirectIfNotIframe from './utils/redirectIfNotIframe'\n\n/**\n * Checks if the page is displayed in an iframe. If not redirect to /.\n **/\nredirectIfNotIframe()\n\n// When \"PDFViewerApplication.webViewerInitialized\" is executed (once\n// \"PDFViewerApplication.initialize\" is done) it opens the PDF file via URL,\n// which requires the PDFViewerApplication to be properly configured, so the\n// custom initialization has to be executed before that. This can be done by\n// listening to the \"webviewerloaded\" event, which is emitted after\n// \"PDFViewerApplication\" and \"PDFViewerApplicationOptions\" are globally set and\n// before \"PDFViewerApplication.initialize\" is executed.\nfunction initializeCustomPDFViewerApplication() {\n\n\t// Preferences override options, so they must be disabled for\n\t// \"externalLinkTarget\" to take effect.\n\tPDFViewerApplicationOptions.set('disablePreferences', true)\n\tPDFViewerApplicationOptions.set('externalLinkTarget', pdfjsLib.LinkTarget.BLANK)\n\tPDFViewerApplicationOptions.set('isEvalSupported', false)\n\tPDFViewerApplicationOptions.set('workerSrc', document.getElementsByTagName('head')[0].getAttribute('data-workersrc'))\n\tPDFViewerApplicationOptions.set('cMapUrl', document.getElementsByTagName('head')[0].getAttribute('data-cmapurl'))\n\n\tconsole.debug('Initialized files_pdfviewer', PDFViewerApplicationOptions.getAll())\n\n\t// The download has to be forced to use the URL of the file; by default\n\t// \"PDFViewerApplication.download\" uses a blob, but this causes a CSP error\n\t// (at least, in Firefox) when trying to download it.\n\tPDFViewerApplication.download = function() {\n\t\t// \"isDataSchema()\" and \"getPDFFileNameFromURL()\" are copied from\n\t\t// \"vendor/pdfjs/web/viewer.js\", as the functions defined in that file\n\t\t// can not be accessed from the outside.\n\t\tfunction isDataSchema(url) {\n\t\t\tlet i = 0\n\t\t\tconst ii = url.length\n\t\t\twhile (i < ii && url[i].trim() === '') {\n\t\t\t\ti++\n\t\t\t}\n\t\t\treturn url.substr(i, 5).toLowerCase() === 'data:'\n\t\t}\n\n\t\tfunction getPDFFileNameFromURL(url) {\n\t\t\tconst defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf'\n\n\t\t\tif (isDataSchema(url)) {\n\t\t\t\tconsole.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.')\n\t\t\t\treturn defaultFilename\n\t\t\t}\n\t\t\tconst reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/\n\t\t\tconst reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i\n\t\t\tconst splitURI = reURI.exec(url)\n\t\t\tlet suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3])\n\t\t\tif (suggestedFilename) {\n\t\t\t\tsuggestedFilename = suggestedFilename[0]\n\t\t\t\tif (suggestedFilename.indexOf('%') !== -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsuggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.debug(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn suggestedFilename || defaultFilename\n\t\t}\n\n\t\tconst url = decodeURIComponent(window.location.search.substr(6))\n\n\t\tthis.downloadManager.downloadUrl(url, getPDFFileNameFromURL(url))\n\t}\n\n\tif (!canDownload()) {\n\t\t// Disable download function when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the download could still be triggered\n\t\t// with Ctrl|Meta+S.\n\t\tPDFViewerApplication.download = function() {\n\t\t}\n\t\tconst downloadButton = document.getElementById('toolbarViewerRight').querySelector('button.download')\n\t\tif (downloadButton) {\n\t\t\tdownloadButton.style.display = 'none'\n\t\t}\n\n\t\t// Disable printing service when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the printing could still be triggered\n\t\t// with Ctrl|Meta+P.\n\t\t// Abuse the \"supportsPrinting\" parameter, which signals that the\n\t\t// browser does not fully support printing, to make PDFViewer disable\n\t\t// the printing service.\n\t\t// \"supportsPrinting\" is a getter function, so it needs to be deleted\n\t\t// before replacing it with a simple value.\n\t\tdelete PDFViewerApplication.supportsPrinting\n\t\tPDFViewerApplication.supportsPrinting = false\n\n\t\t// When printing is not supported a warning is shown by the default\n\t\t// \"beforePrint\" function when trying to print. That function needs to\n\t\t// be replaced with an empty one to prevent that warning to be shown.\n\t\tPDFViewerApplication.beforePrint = function() {\n\t\t}\n\n\t\t// For css properties\n\t\tdocument.getElementById('viewer').classList.add('disabledTextSelection')\n\n\t\tconsole.debug('Files_PDFViewer, download and print disabled')\n\t}\n}\n\ndocument.addEventListener('DOMContentLoaded', initializeCustomPDFViewerApplication, true)\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///files_pdfviewer/node_modules/assert/assert.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/util.js","webpack:///files_pdfviewer/src/utils/canDownload.js","webpack:///files_pdfviewer/src/utils/redirectIfNotIframe.js","webpack:///files_pdfviewer/node_modules/console-browserify/index.js","webpack:///files_pdfviewer/node_modules/object-assign/index.js","webpack:///files_pdfviewer/node_modules/process/browser.js","webpack:///files_pdfviewer/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/util/util.js","webpack:///files_pdfviewer/webpack/bootstrap","webpack:///files_pdfviewer/webpack/runtime/global","webpack:///files_pdfviewer/src/workersrc.js"],"names":["objectAssign","compare","a","b","x","length","y","i","len","Math","min","isBuffer","g","Buffer","_isBuffer","util","hasOwn","Object","prototype","hasOwnProperty","pSlice","Array","slice","functionsHaveNames","name","pToString","obj","toString","call","isView","arrbuf","ArrayBuffer","DataView","buffer","assert","module","exports","ok","regex","getName","func","isFunction","match","truncate","s","n","inspect","something","rawname","fail","actual","expected","message","operator","stackStartFunction","AssertionError","value","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","global","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","indexOf","push","actualVisitedObjects","isPrimitive","getPrototypeOf","aIsArgs","isArguments","bIsArgs","key","ka","objectKeys","kb","sort","objEquiv","object","expectedException","test","e","Error","isPrototypeOf","_throws","shouldThrow","block","TypeError","error","_tryBlock","userProvidedMessage","isUnexpectedException","isError","options","self","this","generatedMessage","captureStackTrace","err","stack","out","fn_name","idx","next_line","substring","inherits","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","keys","create","ctor","superCtor","super_","constructor","enumerable","writable","configurable","TempCtor","arg","copy","fill","readUInt8","formatRegExp","format","f","isString","objects","arguments","join","args","str","String","replace","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","process","apply","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","arrayToHash","getOwnPropertyNames","formatError","RegExp","Date","output","base","braces","isArray","toUTCString","l","formatProperty","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","re","objectToString","d","o","pad","debuglog","env","NODE_DEBUG","toUpperCase","pid","isNullOrUndefined","isSymbol","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","origin","add","hideDownloadElmt","document","getElementById","window","location","parent","href","now","times","functions","warn","label","duration","expression","arr","tuple","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","fromCharCode","test3","letter","shouldUseNative","target","from","symbols","to","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","getOwnPropertyDescriptors","descriptors","kCustomPromisifiedSymbol","Symbol","undefined","callbackifyOnRejected","reason","cb","newReason","promisify","original","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","then","rej","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","globalThis","Function","addEventListener","PDFViewerApplicationOptions","pdfjsLib","LinkTarget","BLANK","getElementsByTagName","getAttribute","debug","getAll","PDFViewerApplication","download","isDataSchema","url","ii","trim","toLowerCase","decodeURIComponent","search","downloadManager","downloadUrl","defaultFilename","reURI","reFilename","splitURI","exec","suggestedFilename","getPDFFileNameFromURL","downloadButton","querySelector","display","supportsPrinting","beforePrint","classList"],"mappings":"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","file":"files_pdfviewer-workersrc.js?v=f2a07eb63c4f83315f29","sourcesContent":["'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst hideDownloadElmt = document.getElementById('hideDownload')\n// true = hidden download\nexport default () => !hideDownloadElmt || (hideDownloadElmt && hideDownloadElmt.value !== 'true')\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default function() {\n\t// Not within iframe\n\tif (window.location !== window.parent.location) {\n\t\treturn\n\t}\n\n\twindow.location.href = '/'\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","\n/**\n * @copyright Copyright (c) 2020 Daniel Calviño Sánchez <danxuliu@gmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport canDownload from './utils/canDownload'\nimport redirectIfNotIframe from './utils/redirectIfNotIframe'\n\n/**\n * Checks if the page is displayed in an iframe. If not redirect to /.\n **/\nredirectIfNotIframe()\n\n// When \"PDFViewerApplication.webViewerInitialized\" is executed (once\n// \"PDFViewerApplication.initialize\" is done) it opens the PDF file via URL,\n// which requires the PDFViewerApplication to be properly configured, so the\n// custom initialization has to be executed before that. This can be done by\n// listening to the \"webviewerloaded\" event, which is emitted after\n// \"PDFViewerApplication\" and \"PDFViewerApplicationOptions\" are globally set and\n// before \"PDFViewerApplication.initialize\" is executed.\nfunction initializeCustomPDFViewerApplication() {\n\n\t// Preferences override options, so they must be disabled for\n\t// \"externalLinkTarget\" to take effect.\n\tPDFViewerApplicationOptions.set('disablePreferences', true)\n\tPDFViewerApplicationOptions.set('externalLinkTarget', pdfjsLib.LinkTarget.BLANK)\n\tPDFViewerApplicationOptions.set('isEvalSupported', false)\n\tPDFViewerApplicationOptions.set('workerSrc', document.getElementsByTagName('head')[0].getAttribute('data-workersrc'))\n\tPDFViewerApplicationOptions.set('cMapUrl', document.getElementsByTagName('head')[0].getAttribute('data-cmapurl'))\n\tPDFViewerApplicationOptions.set('enablePermissions', true)\n\n\tconsole.debug('Initialized files_pdfviewer', PDFViewerApplicationOptions.getAll())\n\n\t// The download has to be forced to use the URL of the file; by default\n\t// \"PDFViewerApplication.download\" uses a blob, but this causes a CSP error\n\t// (at least, in Firefox) when trying to download it.\n\tPDFViewerApplication.download = function() {\n\t\t// \"isDataSchema()\" and \"getPDFFileNameFromURL()\" are copied from\n\t\t// \"vendor/pdfjs/web/viewer.js\", as the functions defined in that file\n\t\t// can not be accessed from the outside.\n\t\tfunction isDataSchema(url) {\n\t\t\tlet i = 0\n\t\t\tconst ii = url.length\n\t\t\twhile (i < ii && url[i].trim() === '') {\n\t\t\t\ti++\n\t\t\t}\n\t\t\treturn url.substr(i, 5).toLowerCase() === 'data:'\n\t\t}\n\n\t\tfunction getPDFFileNameFromURL(url) {\n\t\t\tconst defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf'\n\n\t\t\tif (isDataSchema(url)) {\n\t\t\t\tconsole.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.')\n\t\t\t\treturn defaultFilename\n\t\t\t}\n\t\t\tconst reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/\n\t\t\tconst reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i\n\t\t\tconst splitURI = reURI.exec(url)\n\t\t\tlet suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3])\n\t\t\tif (suggestedFilename) {\n\t\t\t\tsuggestedFilename = suggestedFilename[0]\n\t\t\t\tif (suggestedFilename.indexOf('%') !== -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsuggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.debug(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn suggestedFilename || defaultFilename\n\t\t}\n\n\t\tconst url = decodeURIComponent(window.location.search.substr(6))\n\n\t\tthis.downloadManager.downloadUrl(url, getPDFFileNameFromURL(url))\n\t}\n\n\tif (!canDownload()) {\n\t\t// Disable download function when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the download could still be triggered\n\t\t// with Ctrl|Meta+S.\n\t\tPDFViewerApplication.download = function() {\n\t\t}\n\t\tconst downloadButton = document.getElementById('toolbarViewerRight').querySelector('button.download')\n\t\tif (downloadButton) {\n\t\t\tdownloadButton.style.display = 'none'\n\t\t}\n\n\t\t// Disable printing service when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the printing could still be triggered\n\t\t// with Ctrl|Meta+P.\n\t\t// Abuse the \"supportsPrinting\" parameter, which signals that the\n\t\t// browser does not fully support printing, to make PDFViewer disable\n\t\t// the printing service.\n\t\t// \"supportsPrinting\" is a getter function, so it needs to be deleted\n\t\t// before replacing it with a simple value.\n\t\tdelete PDFViewerApplication.supportsPrinting\n\t\tPDFViewerApplication.supportsPrinting = false\n\n\t\t// When printing is not supported a warning is shown by the default\n\t\t// \"beforePrint\" function when trying to print. That function needs to\n\t\t// be replaced with an empty one to prevent that warning to be shown.\n\t\tPDFViewerApplication.beforePrint = function() {\n\t\t}\n\n\t\t// For css properties\n\t\tdocument.getElementById('viewer').classList.add('disabledTextSelection')\n\n\t\tconsole.debug('Files_PDFViewer, download and print disabled')\n\t}\n}\n\ndocument.addEventListener('DOMContentLoaded', initializeCustomPDFViewerApplication, true)\n"],"sourceRoot":""} \ No newline at end of file