//============================================================================= // LN_FilmicFilter.js // ---------------------------------------------------------------------------- // Copyright (c) 2021 lriki // This software is released under the MIT License. // http://opensource.org/licenses/mit-license.php // ---------------------------------------------------------------------------- // [GitHub] : https://github.com/lriki/LN_FilmicFilter // [Twitter]: https://twitter.com/lriki8 //============================================================================= /*:ja * @target MZ * @plugindesc LN_FilmicFilter v1.1.1 (MIT License) * @author LRIKI * * @help グラフィックスをより豊かに見せるための撮影効果を付加します。 * * 使い方は次のページを参照してください。 * https://github.com/lriki/LN_FilmicFilter/blob/main/README.md * * 変更履歴は次のページを参照してください。 * https://github.com/lriki/LN_FilmicFilter/releases * * 既知の不具合や要望は次のページを参照してください。 * https://github.com/lriki/LN_FilmicFilter/issues * * @param EditorKey * @text エディタの表示キー * @desc デフォルトのF11キーでエディタが表示できない場合に、キーを変更できます。例えば A キーで表示する場合 a と入力してください。 * @default F11 * @type string * * @command SetFilmicFilter * @text SetFilmicFilter * @desc フィルタを適用します。 * * @arg filterId * @type number * @min -1 * @default 0 * @text フィルタID * @desc 適用するフィルタファイルの番号です。 (例: 2-夕焼け.json の場合は 2 を指定する) * * @arg duration * @type number * @default 30 * @text 時間 * @desc 変化にかける時間です。フレーム単位で指定します。 * * @arg wait * @type boolean * @default true * @text 完了までウェイト * @desc 変化が完了するまでイベントを待機します。 */ (()=>{"use strict";var n={376:(e,t,n)=>{function o(e,t){var n=e.__state.conversionName.toString(),o=Math.round(e.r),i=Math.round(e.g),r=Math.round(e.b),a=e.a,s=Math.round(e.h),l=e.s.toFixed(1),u=e.v.toFixed(1);if(t||"THREE_CHAR_HEX"===n||"SIX_CHAR_HEX"===n){for(var d=e.hex.toString(16);d.length<6;)d="0"+d;return"#"+d}return"CSS_RGB"===n?"rgb("+o+","+i+","+r+")":"CSS_RGBA"===n?"rgba("+o+","+i+","+r+","+a+")":"HEX"===n?"0x"+e.hex.toString(16):"RGB_ARRAY"===n?"["+o+","+i+","+r+"]":"RGBA_ARRAY"===n?"["+o+","+i+","+r+","+a+"]":"RGB_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+"}":"RGBA_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+",a:"+a+"}":"HSV_OBJ"===n?"{h:"+s+",s:"+l+",v:"+u+"}":"HSVA_OBJ"===n?"{h:"+s+",s:"+l+",v:"+u+",a:"+a+"}":"unknown format"}n.r(t),n.d(t,{color:()=>be,controllers:()=>ve,dom:()=>ye,gui:()=>xe,GUI:()=>we,default:()=>Ce});var i,a=Array.prototype.forEach,r=Array.prototype.slice,p={BREAK:{},extend:function(n){return this.each(r.call(arguments,1),function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(t[e])||(n[e]=t[e])}.bind(this))},this),n},defaults:function(n){return this.each(r.call(arguments,1),function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(n[e])&&(n[e]=t[e])}.bind(this))},this),n},compose:function(){var n=r.call(arguments);return function(){for(var e=r.call(arguments),t=n.length-1;0<=t;t--)e=[n[t].apply(this,e)];return e[0]}},each:function(e,t,n){if(e)if(a&&e.forEach&&e.forEach===a)e.forEach(t,n);else if(e.length===e.length+0){for(var o=void 0,o=0,i=e.length;o>8*t&255},hex_with_component:function(e,t,n){return n<<(l=8*t)|e&~(255<this.__max&&(e=this.__max),void 0!==this.__step&&e%this.__step!=0&&(e=Math.round(e/this.__step)*this.__step),v(N.prototype.__proto__||Object.getPrototypeOf(N.prototype),"setValue",this).call(this,e)}},{key:"min",value:function(e){return this.__min=e,this}},{key:"max",value:function(e){return this.__max=e,this}},{key:"step",value:function(e){return this.__step=e,this.__impliedStep=e,this.__precision=I(e),this}}]),t=N;function N(e,t,n){f(this,N);t=y(this,(N.__proto__||Object.getPrototypeOf(N)).call(this,e,t)),n=n||{};return t.__min=n.min,t.__max=n.max,t.__step=n.step,p.isUndefined(t.__step)?0===t.initialValue?t.__impliedStep=1:t.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(t.initialValue))/Math.LN10))/10:t.__impliedStep=t.__step,t.__precision=I(t.__impliedStep),t}var j=(n(H,t),g(H,[{key:"updateDisplay",value:function(){var e,t;return this.__input.value=this.__truncationSuspended?this.getValue():(e=this.getValue(),t=this.__precision,t=Math.pow(10,t),Math.round(e*t)/t),v(H.prototype.__proto__||Object.getPrototypeOf(H.prototype),"updateDisplay",this).call(this)}}]),H);function H(e,t,n){f(this,H);n=y(this,(H.__proto__||Object.getPrototypeOf(H)).call(this,e,t,n));n.__truncationSuspended=!1;var o=n,i=void 0;function r(){o.__onFinishChange&&o.__onFinishChange.call(o,o.getValue())}function a(e){var t=i-e.clientY;o.setValue(o.getValue()+t*o.__impliedStep),i=e.clientY}function s(){k.unbind(window,"mousemove",a),k.unbind(window,"mouseup",s),r()}return n.__input=document.createElement("input"),n.__input.setAttribute("type","text"),k.bind(n.__input,"change",function(){var e=parseFloat(o.__input.value);p.isNaN(e)||o.setValue(e)}),k.bind(n.__input,"blur",function(){r()}),k.bind(n.__input,"mousedown",function(e){k.bind(window,"mousemove",a),k.bind(window,"mouseup",s),i=e.clientY}),k.bind(n.__input,"keydown",function(e){13===e.keyCode&&(o.__truncationSuspended=!0,this.blur(),o.__truncationSuspended=!1,r())}),n.updateDisplay(),n.domElement.appendChild(n.__input),n}function G(e,t,n,o,i){return o+(e-t)/(n-t)*(i-o)}var V=(n(z,t),g(z,[{key:"updateDisplay",value:function(){var e=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*e+"%",v(z.prototype.__proto__||Object.getPrototypeOf(z.prototype),"updateDisplay",this).call(this)}}]),z);function z(e,t,n,o,i){f(this,z);var i=y(this,(z.__proto__||Object.getPrototypeOf(z)).call(this,e,t,{min:n,max:o,step:i})),r=i;function a(e){e.preventDefault();var t=r.__background.getBoundingClientRect();return r.setValue(G(e.clientX,t.left,t.right,r.__min,r.__max)),!1}function s(){k.unbind(window,"mousemove",a),k.unbind(window,"mouseup",s),r.__onFinishChange&&r.__onFinishChange.call(r,r.getValue())}function l(e){var t=e.touches[0].clientX,e=r.__background.getBoundingClientRect();r.setValue(G(t,e.left,e.right,r.__min,r.__max))}function u(){k.unbind(window,"touchmove",l),k.unbind(window,"touchend",u),r.__onFinishChange&&r.__onFinishChange.call(r,r.getValue())}return i.__background=document.createElement("div"),i.__foreground=document.createElement("div"),k.bind(i.__background,"mousedown",function(e){document.activeElement.blur(),k.bind(window,"mousemove",a),k.bind(window,"mouseup",s),a(e)}),k.bind(i.__background,"touchstart",function(e){1===e.touches.length&&(k.bind(window,"touchmove",l),k.bind(window,"touchend",u),l(e))}),k.addClass(i.__background,"slider"),k.addClass(i.__foreground,"slider-fg"),i.updateDisplay(),i.__background.appendChild(i.__foreground),i.domElement.appendChild(i.__background),i}var U=(n(X,F),g(X,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),X);function X(e,t,n){f(this,X);var t=y(this,(X.__proto__||Object.getPrototypeOf(X)).call(this,e,t)),o=t;return t.__button=document.createElement("div"),t.__button.innerHTML=void 0===n?"Fire":n,k.bind(t.__button,"click",function(e){return e.preventDefault(),o.fire(),!1}),k.addClass(t.__button,"button"),t.domElement.appendChild(t.__button),t}var W=(n(K,F),g(K,[{key:"updateDisplay",value:function(){var t,n=h(this.getValue());!1!==n&&(t=!1,p.each(x.COMPONENTS,function(e){if(!p.isUndefined(n[e])&&!p.isUndefined(this.__color.__state[e])&&n[e]!==this.__color.__state[e])return t=!0,{}},this),t&&p.extend(this.__color.__state,n)),p.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var e=this.__color.v<.5||.5ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n"));var ee="Default",te=function(){try{return!!window.localStorage}catch(e){return!1}}(),ne=void 0,oe=!0,ie=void 0,re=!1,ae=[],se=function t(e){var n=this,o=e||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),k.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],o=p.defaults(o,{closeOnTop:!1,autoPlace:!0,width:t.DEFAULT_WIDTH}),o=p.defaults(o,{resizable:o.autoPlace,hideable:o.autoPlace}),p.isUndefined(o.load)?o.load={preset:ee}:o.preset&&(o.load.preset=o.preset),p.isUndefined(o.parent)&&o.hideable&&ae.push(this),o.resizable=p.isUndefined(o.parent)&&o.resizable,o.autoPlace&&p.isUndefined(o.scrollable)&&(o.scrollable=!0);var i,r,a,s,l=te&&"true"===localStorage.getItem(_e(0,"isLocal")),u=void 0,d=void 0;function c(e){return e.preventDefault(),r.width+=a-e.clientX,r.onResize(),a=e.clientX,!1}function h(){k.removeClass(r.__closeButton,se.CLASS_DRAG),k.unbind(window,"mousemove",c),k.unbind(window,"mouseup",h)}function _(e){return e.preventDefault(),a=e.clientX,k.addClass(r.__closeButton,se.CLASS_DRAG),k.bind(window,"mousemove",c),k.bind(window,"mouseup",h),!1}Object.defineProperties(this,{parent:{get:function(){return o.parent}},scrollable:{get:function(){return o.scrollable}},autoPlace:{get:function(){return o.autoPlace}},closeOnTop:{get:function(){return o.closeOnTop}},preset:{get:function(){return(n.parent?n.getRoot():o.load).preset},set:function(e){n.parent?n.getRoot().preset=e:o.load.preset=e,function(e){for(var t=0;tGUI\'s constructor:\n\n \n\n
\n\n Automatically save\n values to localStorage on exit.\n\n
The values saved to localStorage will\n override those passed to dat.GUI\'s constructor. This makes it\n easier to work incrementally, but localStorage is fragile,\n and your friends may not see the same values you do.\n\n
\n\n
\n\n'),this.parent)throw new Error("You can only call remember on a top level GUI.");var t=this;p.each(Array.prototype.slice.call(arguments),function(e){0===t.__rememberedObjects.length&&function(n){var e=n.__save_row=document.createElement("li");k.addClass(n.domElement,"has-save"),n.__ul.insertBefore(e,n.__ul.firstChild),k.addClass(e,"save-row");var t=document.createElement("span");t.innerHTML=" ",k.addClass(t,"button gears");var o=document.createElement("span");o.innerHTML="Save",k.addClass(o,"button"),k.addClass(o,"save");var i=document.createElement("span");i.innerHTML="New",k.addClass(i,"button"),k.addClass(i,"save-as");var r=document.createElement("span");r.innerHTML="Revert",k.addClass(r,"button"),k.addClass(r,"revert");var a=n.__preset_select=document.createElement("select");n.load&&n.load.remembered?p.each(n.load.remembered,function(e,t){pe(n,t,t===n.preset)}):pe(n,ee,!1);{var s;k.bind(a,"change",function(){for(var e=0;e{n.r(t),n.d(t,{default:()=>o});const o="\n\nattribute vec2 aVertexPosition;\n//uniform mat3 projectionMatrix;\nvarying vec2 vTextureCoord;\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n/*\nvec4 filterVertexPosition(void) {\nvec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\nreturn vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n*/\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\ngl_Position = vec4(aVertexPosition * vec2(2.0) + vec2(-1.0, -1.0), 0.0, 1.0);//filterVertexPosition();\nvTextureCoord = filterTextureCoord();\n}\n\n/*\naVertexPosition をそのまま出力すると、画面右下に赤の矩形が出る。\n\n */\n\n\n/*\nattribute vec2 aVertexPosition;\nuniform mat3 projectionMatrix;\nvarying vec2 vTextureCoord;\n\nvoid main(void) {\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = vTextureCoord;\n}\n\n*/"},445:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});const o="\r\nprecision mediump float;\r\nuniform sampler2D inputSampler;\r\nuniform sampler2D uSampler;\r\nvarying vec2 vTextureCoord;\r\n\r\n//--------------------------------------------------------------------------------\r\n// Bloom\r\n\r\n#define NUM_MIPS 5\r\n\r\nuniform sampler2D _BlurTexture1;\r\nuniform sampler2D _BlurTexture2;\r\nuniform sampler2D _BlurTexture3;\r\nuniform sampler2D _BlurTexture4;\r\nuniform sampler2D _BlurTexture5;\r\n\r\nuniform vec4 _BloomTintColorsAndFactors1;\r\nuniform vec4 _BloomTintColorsAndFactors2;\r\nuniform vec4 _BloomTintColorsAndFactors3;\r\nuniform vec4 _BloomTintColorsAndFactors4;\r\nuniform vec4 _BloomTintColorsAndFactors5;\r\nuniform float _BloomStrength;\r\nuniform float _BloomRadius;\r\n\r\n\r\nfloat LerpBloomFactor(float factor)\r\n{\r\n float mirrorFactor = 1.2 - factor;\r\n return mix(factor, mirrorFactor, _BloomRadius);\r\n}\r\n\r\nvec3 Bloom(vec2 uv)\r\n{\r\n vec4 col = _BloomStrength * ( LerpBloomFactor(_BloomTintColorsAndFactors1.a) * vec4(_BloomTintColorsAndFactors1.rgb, 1.0) * texture2D(_BlurTexture1, uv) +\r\n LerpBloomFactor(_BloomTintColorsAndFactors2.a) * vec4(_BloomTintColorsAndFactors2.rgb, 1.0) * texture2D(_BlurTexture2, uv) +\r\n LerpBloomFactor(_BloomTintColorsAndFactors3.a) * vec4(_BloomTintColorsAndFactors3.rgb, 1.0) * texture2D(_BlurTexture3, uv) +\r\n LerpBloomFactor(_BloomTintColorsAndFactors4.a) * vec4(_BloomTintColorsAndFactors4.rgb, 1.0) * texture2D(_BlurTexture4, uv) +\r\n LerpBloomFactor(_BloomTintColorsAndFactors5.a) * vec4(_BloomTintColorsAndFactors5.rgb, 1.0) * texture2D(_BlurTexture5, uv) );\r\n return col.rgb * col.a;\r\n}\r\n\r\n//--------------------------------------------------------------------------------\r\n\r\nuniform highp vec4 inputSize;\r\nuniform highp vec4 outputFrame;\r\n\r\nuniform float size;\r\nuniform float amount;\r\nconst float focalPointX = 0.5;\r\nconst float focalPointY = 0.5;\r\n\r\n#define saturate(x) clamp(x, 0.0, 1.0)\r\n\r\n// Tonemap Params\r\nuniform float paramA; // shoulderStrength\r\nuniform float paramB; // linearStrength\r\nuniform float paramCB; // param.linearStrength * param.linearAngle\r\nuniform float paramDE; // param.toeStrength * param.toeNumerator\r\nuniform float paramDF; // param.toeStrength * param.toeDenominator\r\nuniform float paramEperF; // param.toeNumerator / param.toeDenominator\r\nuniform float paramF_White;//\r\nuniform float Exposure;\r\nuniform vec4 _Tone;\r\n\r\n// TiltShift Params\r\nuniform float _TiltOffset; // = -0.2 // 中心をちょっと下に下げる\r\nuniform float _TiltScale; // = 2.0\r\n\r\nconst float epsilon = 0.00001;\r\n\r\nvec3 CalcUncharted2FilmicPreParam( vec3 rgb,\r\n float paramA, float paramB, float paramCB,\r\n float paramDE, float paramDF, float paramEperF, float paramF_White )\r\n{\r\n vec3 div = (rgb * (paramA * rgb + paramB) + paramDF);\r\n div = max(div, vec3(epsilon, epsilon, epsilon));\r\n\r\n vec3 ret = ((rgb * (paramA * rgb + paramCB) + paramDE) / div) - paramEperF;\r\n return ret / max(paramF_White, epsilon);\r\n}\r\n\r\nvec3 Tonemap(vec3 color)\r\n{\r\n float expBias = exp2(Exposure);\r\n vec3 rgb = color.rgb * expBias;\r\n\r\n rgb = CalcUncharted2FilmicPreParam(rgb,\r\n paramA, paramB, paramCB, paramDE, paramDF, paramEperF, paramF_White);\r\n \r\n return rgb;\r\n}\r\n\r\n\r\nvec3 calculateToneColor(vec3 inColor, vec4 inToneColor)\r\n{\r\n vec3 outColor = inColor;\r\n float y = (0.208012 * outColor.r + 0.586611 * inColor.g + 0.114478 * inColor.b) * inToneColor.w;\r\n outColor = (inColor * (1.0 - inToneColor.w)) + y + inToneColor.rgb;\r\n return saturate(outColor);\r\n}\r\n\r\n// https://github.com/pixijs/pixijs/wiki/v5-Creating-filters#conversion-functions\r\n// PIXI.js は RenderTarget も 2累乗で作る。それを、スクリーンのサイズに正規化するもの。\r\nvec2 filterTextureCoord() {\r\n return vTextureCoord * inputSize.xy / outputFrame.zw;\r\n}\r\n\r\nvec3 vignette(vec3 color, vec2 uv) {\r\n float dist = distance(uv, vec2(focalPointX, focalPointY));\r\n color *= smoothstep(0.8, size * 0.799, dist * (0.5 * amount + size));\r\n return color;\r\n}\r\n\r\nvoid main (void) {\r\n vec2 uv = filterTextureCoord();\r\n vec4 color1 = texture2D(inputSampler, vTextureCoord);\r\n vec4 color2 = texture2D(uSampler, vTextureCoord);\r\n\r\n // Tilt\r\n float r = abs((uv.y * 2.0) - 1.0 + _TiltOffset) * _TiltScale;\r\n gl_FragColor = mix(color1, color2, saturate(r));\r\n \r\n gl_FragColor.rgb += Bloom(vTextureCoord);\r\n\r\n\r\n gl_FragColor.rgb = calculateToneColor(gl_FragColor.rgb, _Tone);\r\n\r\n gl_FragColor.rgb = Tonemap(gl_FragColor.rgb);\r\n \r\n\r\n gl_FragColor.rgb = vignette(gl_FragColor.rgb, uv);\r\n}\r\n"},870:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});const o="precision mediump float;\r\nuniform highp vec4 inputSize;\r\nuniform highp vec4 outputFrame;\r\nuniform sampler2D uSampler;\r\nvarying vec2 vTextureCoord;\r\n\r\nconst vec3 _Color = vec3(0.0, 0.0, 0.0);\r\nconst float _Opacity = 1.0;\r\nuniform float _LuminosityThreshold;\r\nuniform float _SmoothWidth;\r\n\r\n#define saturate(x) clamp(x, 0.0, 1.0)\r\n\r\nvec2 filterTextureCoord() {\r\n return vTextureCoord;\r\n}\r\n\r\nvoid main () {\r\n vec4 texel = texture2D(uSampler, filterTextureCoord());\r\n vec3 luma = vec3(0.299, 0.587, 0.114);\r\n float v = saturate(dot(texel.xyz, luma));\r\n vec4 outputColor = vec4(_Color.rgb, _Opacity);\r\n float alpha = smoothstep(_LuminosityThreshold, _LuminosityThreshold + _SmoothWidth, v);\r\n gl_FragColor = mix(outputColor, texel, alpha);\r\n}\r\n\r\n"},357:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});const o="precision mediump float;\nuniform highp vec4 inputSize;\nuniform highp vec4 outputFrame;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform int KERNEL_RADIUS;\nuniform float SIGMA;\nuniform vec2 _TexSize;\nuniform vec2 _Direction;\n\n#define saturate(x) clamp(x, 0.0, 1.0)\n\nvec2 filterTextureCoord() {\n return vTextureCoord;\n}\n\nfloat Gaussian(float x, float sigma)\n{\n return 0.39894 * exp(-0.5 * x * x / (sigma * sigma)) / sigma;\n}\n\nvoid main () {\n vec2 uv = filterTextureCoord();\n vec4 texel = texture2D(uSampler, uv);\n vec2 invSize = 1.0 / _TexSize;\n float fSigma = float(SIGMA);\n float weightSum = Gaussian(0.0, fSigma);\n vec3 diffuseSum = texel.rgb * weightSum;\n for( int i = 1; i < 5/*KERNEL_RADIUS*/; i ++ ) { // TODO: KERNEL_RADIUS\n float x = float(i);\n float w = Gaussian(x, fSigma);\n vec2 uvOffset = _Direction * invSize * x;\n vec3 sample1 = texture2D(uSampler, uv + uvOffset).rgb;\n vec3 sample2 = texture2D(uSampler, uv - uvOffset).rgb;\n diffuseSum += (sample1 + sample2) * w;\n weightSum += 2.0 * w;\n }\n gl_FragColor = vec4(diffuseSum / weightSum, 1.0);\n}\n\n\n"},455:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FilmicFilterControl=void 0;const o=n(297);t.FilmicFilterControl=class{static makeDefault(){return{enabled:!0,params:this.makeDefaultParams(),targetParams:this.makeDefaultParams(),paramsDuration:0}}static clear(e){var t=this.makeDefaultParams();e.enabled=!0,this.copyParams(t,e.params),this.copyParams(t,e.targetParams),e.paramsDuration=0}static start(e,t,n){this.copyParams(t,e.targetParams),e.paramsDuration=n,0===e.paramsDuration&&this.copyParams(t,e.params)}static startFlush(e,t,n){this.copyParams(t,e.params),this.start(e,this.defaultParams(),n)}static defaultParams(){return o.FilterFileManager.getData(0)}static update(e){if(0{Object.defineProperty(t,"__esModule",{value:!0}),t.FilterFileManager=void 0;const o=n(455);t.FilterFileManager=class{static loadIndex(){this._fileCount=-1,this._loadedFileCount=0,this._dataList=[],this._userDefaultParams=void 0,this.loadDataFile("data/filters/index.json",e=>{this.fileIndex=e;for(let t=this._fileCount=0;t{this._dataList[t]=o.FilmicFilterControl.resolveUndefiedParams(e),this._loadedFileCount++}))}})}static isLoaded(){return!!this.fileIndex&&this._fileCount==this._loadedFileCount}static defaultParams(){return this._userDefaultParams||this.getData(0)}static setUserDefaultParams(e){this._userDefaultParams=e}static getData(e){var t=this._dataList[e];if(t)return t;if(0===e)return o.FilmicFilterControl.makeDefaultParams();throw new Error(`ID:${e} の FilmicFilter 設定ファイルが見つかりませんでした。`)}static loadDataFile(e,t){const n=new XMLHttpRequest,o=e;n.open("GET",o),n.overrideMimeType("application/json"),n.onload=()=>this.onXhrLoad(n,e,o,t),n.onerror=()=>DataManager.onXhrError(e,e,o),n.send()}static onXhrLoad(e,t,n,o){e.status<400?o(JSON.parse(e.responseText)):DataManager.onXhrError(t,t,n)}static updateIndexFile(a){if(this.isNode()){const s=n(747),l=n(622);s.mkdir("data/filters",e=>{s.readdir("data/filters",function(e,t){const n=[];if(!e)for(const r of t.filter(function(e){return/.*\.json$/.test(e)}))if("index.json"!=r){var o=r.split("-");if(o.length<2)throw new Error(`${r}: ファイル名にIDが含まれていません。`);var i=l.basename(r);n[Number(o[0])]=i}s.writeFileSync("data/filters/index.json",JsonEx.stringify(n)),a()})})}else a()}static isNode(){return"undefined"!=typeof process&&"browser"!==process.title}}},987:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FilterGUI=void 0;const l=o(n(376)),u=n(455);class d{static isPlaytest(){return $gameTemp&&$gameTemp.isPlaytest()}static init(){if(this._gui&&(this._gui.destroy(),this._gui=void 0,this._controlers=[]),this._hiddedn=!0,this._controlers=[],!document.getElementById("gameCanvas"))throw new Error("gameCanvas element not found.");this._gui=new l.default.GUI({autoPlace:!0,hideable:!0});const e=this._gui.domElement.parentElement;if(!e)throw new Error("guiContainer element not found.");e.style.zIndex="20",this._gui.hide();var t={save:()=>{const e=document.createElement("a");e.href="data:application/json,"+encodeURIComponent(JsonEx.stringify($gameScreen._lnFilmicFilter.params)),e.download="1-Filter.json",e.onchange=e=>{},e.addEventListener("change",function(e){},!1),e.click()},load:()=>{const e=document.createElement("input");e.type="file",e.accept=".json, application/json",e.onchange=function(e){const t=new FileReader;t.readAsText(e.target.files[0]),t.onload=()=>{var e=t.result;"string"==typeof e&&(e=JsonEx.parse(e),u.FilmicFilterControl.copyParams(e,$gameScreen._lnFilmicFilter.params),d.refresh())}},e.click()}};this._gui.add(t,"save"),this._gui.add(t,"load");var n=u.FilmicFilterControl.makeDefaultParams();u.FilmicFilterControl.copyParams($gameScreen._lnFilmicFilter.params,n),u.FilmicFilterControl.copyParams(u.FilmicFilterControl.makeGuiDefaultParams(),$gameScreen._lnFilmicFilter.params);t=$gameScreen._lnFilmicFilter.params;const o=this._gui.addFolder("Bloom");this._controlers.push(o.add(t,"luminosityThreshold",0,1)),this._controlers.push(o.add(t,"luminositySmoothWidth",0,1)),this._controlers.push(o.add(t,"bloomStrength",0,1)),this._controlers.push(o.add(t,"bloomRadius",0,5));const i=this._gui.addFolder("Tonemap");this._controlers.push(i.add(t,"linearWhite",0,10)),this._controlers.push(i.add(t,"shoulderStrength",0,10)),this._controlers.push(i.add(t,"linearStrength",0,10)),this._controlers.push(i.add(t,"linearAngle",0,2)),this._controlers.push(i.add(t,"toeStrength",0,1)),this._controlers.push(i.add(t,"toeNumerator",0,1)),this._controlers.push(i.add(t,"toeDenominator",0,2)),this._controlers.push(i.add(t,"exposure",0,2));const r=this._gui.addFolder("ColorTone");this._controlers.push(r.add(t,"toneColorR",-1,1)),this._controlers.push(r.add(t,"toneColorG",-1,1)),this._controlers.push(r.add(t,"toneColorB",-1,1)),this._controlers.push(r.add(t,"toneGray",0,1));const a=this._gui.addFolder("Vignette");this._controlers.push(a.add(t,"vignetteSize",0,1)),this._controlers.push(a.add(t,"vignetteAmount",0,10));const s=this._gui.addFolder("TiltShift");this._controlers.push(s.add(t,"tiltScale",0,5)),this._controlers.push(s.add(t,"tiltOffset",-1,1)),u.FilmicFilterControl.copyParams(n,$gameScreen._lnFilmicFilter.params),this.refresh()}static toggle(){var e;this._hiddedn=!this._hiddedn,this._hiddedn?null!==(e=this._gui)&&void 0!==e&&e.hide():null!==(e=this._gui)&&void 0!==e&&e.show()}static hiddedn(){return this._hiddedn}static refresh(){for(const e of this._controlers)e.updateDisplay()}}t.FilterGUI=d},650:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LuminosityHighPassFilter=void 0;const i=o(n(870));class r extends PIXI.Filter{constructor(){super(void 0,i.default)}prepare(e,t){this.uniforms._LuminosityThreshold=e,this.uniforms._SmoothWidth=t}}t.LuminosityHighPassFilter=r},656:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FilmicFilter=void 0;const i=o(n(445)),r=n(650),a=n(935);class s extends PIXI.Filter{constructor(){super(void 0,["precision mediump float;","uniform sampler2D uSampler;","varying vec2 vTextureCoord;","void main (void) {"," vec4 color1 = texture2D(uSampler, vTextureCoord);"," gl_FragColor = color1;","}"].join("\n"),{})}}class l extends PIXI.Filter{constructor(){super(void 0,i.default+"\n",{})}}const u=[3,5,8,13,21];class d extends PIXI.Filter{constructor(e,t,n,o){super(),this.resolution=n||PIXI.settings.RESOLUTION,this.blurXFilter=new PIXI.filters.BlurFilterPass(!0,e||8,t||4,this.resolution,o),this.blurYFilter=new PIXI.filters.BlurFilterPass(!1,e||8,t||4,this.resolution,o),this._repeatEdgePixels=!1,this.updatePadding(),this.blendMode=this.blurYFilter.blendMode,this._copyPass=new s,this._blendPass=new l,this._luminosityHighPassFilter=new r.LuminosityHighPassFilter,this._seperableBlurPassHList=[],this._seperableBlurPassVList=[];for(let e=0;e<5;e++)this._seperableBlurPassHList.push(new a.SeperableBlurPass(u[e],u[e],!0)),this._seperableBlurPassVList.push(new a.SeperableBlurPass(u[e],u[e],!1))}apply(o,i,e,r,t){var a=$gameScreen._lnFilmicFilter.params,n=Math.abs(this.blurXFilter.blur),s=Math.abs(this.blurYFilter.blur);if(n&&s){var l=o.getFilterTexture(i);{let t=.5;for(let e=0;e<5;e++)this._seperableBlurPassHList[e].prepare(o,i,t),this._seperableBlurPassVList[e].prepare(o,i,t),t*=.5;this._luminosityHighPassFilter.prepare(a.luminosityThreshold,a.luminositySmoothWidth),this._luminosityHighPassFilter.apply(o,i,l,r);let n=l;for(let e=0;e<5;e++){var u=this._seperableBlurPassHList[e].renderTexture(),d=this._seperableBlurPassVList[e].renderTexture();this._seperableBlurPassHList[e].apply(o,n,u,r),this._seperableBlurPassVList[e].apply(o,u,d,r),n=d}this.prepareBloomCompositeParams(a.bloomStrength,a.bloomRadius,[this._seperableBlurPassVList[0].renderTexture(),this._seperableBlurPassVList[1].renderTexture(),this._seperableBlurPassVList[2].renderTexture(),this._seperableBlurPassVList[3].renderTexture(),this._seperableBlurPassVList[4].renderTexture()])}var c=o.getFilterTexture(i),h=o.getFilterTexture(i);this._copyPass.apply(o,i,h,!0),this.blurXFilter.apply(o,h,c,r),this.blurYFilter.apply(o,c,h,r);var _=a.shoulderStrength,p=a.linearStrength,m=a.linearStrength*a.linearAngle,f=a.toeStrength*a.toeNumerator,g=a.toeStrength*a.toeDenominator,n=a.toeNumerator*a.toeDenominator;this._blendPass.uniforms.inputSampler=i,this._blendPass.uniforms.paramA=_,this._blendPass.uniforms.paramB=p,this._blendPass.uniforms.paramCB=m,this._blendPass.uniforms.paramDE=f,this._blendPass.uniforms.paramDF=g,this._blendPass.uniforms.paramEperF=n;s=a.linearWhite;this._blendPass.uniforms.paramF_White=(s*(_*s+m)+f)/(s*(_*s+p)+g)-n,this._blendPass.uniforms.Exposure=a.exposure,this._blendPass.uniforms._Tone=[a.toneColorR,a.toneColorG,a.toneColorB,a.toneGray],this._blendPass.uniforms.size=a.vignetteSize,this._blendPass.uniforms.amount=a.vignetteAmount,this._blendPass.uniforms._TiltScale=a.tiltScale,this._blendPass.uniforms._TiltOffset=a.tiltOffset,this._blendPass.apply(o,h,e,r),o.returnFilterTexture(c),o.returnFilterTexture(h);for(let e=0;e<5;e++)this._seperableBlurPassHList[e].retain(o),this._seperableBlurPassVList[e].retain(o);o.returnFilterTexture(l)}}prepareBloomCompositeParams(e,t,n){this._blendPass.uniforms._BloomStrength=e,this._blendPass.uniforms._BloomRadius=t,this._blendPass.uniforms._BlurTexture1=n[0],this._blendPass.uniforms._BlurTexture2=n[1],this._blendPass.uniforms._BlurTexture3=n[2],this._blendPass.uniforms._BlurTexture4=n[3],this._blendPass.uniforms._BlurTexture5=n[4],this._blendPass.uniforms._BloomTintColorsAndFactors1=[1,1,1,1],this._blendPass.uniforms._BloomTintColorsAndFactors2=[1,1,1,.8],this._blendPass.uniforms._BloomTintColorsAndFactors3=[1,1,1,.6],this._blendPass.uniforms._BloomTintColorsAndFactors4=[1,1,1,.4],this._blendPass.uniforms._BloomTintColorsAndFactors5=[1,1,1,.2]}updatePadding(){this._repeatEdgePixels?this.padding=0:this.padding=2*Math.max(Math.abs(this.blurXFilter.blur),Math.abs(this.blurYFilter.blur))}}t.FilmicFilter=d},935:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SeperableBlurPass=void 0;const i=o(n(268)),r=o(n(357));class a extends PIXI.Filter{constructor(e,t,n){var o=n?1:0,n=n?0:1;super(i.default,r.default,{KERNEL_RADIUS:e,SIGMA:t,_Direction:[o,n]}),this.requiredWidth=16,this.requiredHeight=16}renderTexture(){if(!this._renderTarget)throw new Error("!this._renderTarget");return this._renderTarget}prepare(e,t,n){var o=t.width*n,i=t.height*n;this.requiredWidth===o&&this.requiredHeight===i||(this.requiredWidth=t.width*n,this.requiredHeight=t.height*n,this._renderTarget&&this._renderTarget.destroy(),e=new PIXI.BaseRenderTexture(Object.assign({width:this.requiredWidth,height:this.requiredHeight,resolution:1},e.texturePool.textureOptions)),this._renderTarget=new PIXI.RenderTexture(e)),this.uniforms._TexSize=[t.width,t.height]}retain(e){}apply2(e,t,n){this.state.blend=!1;const o=e.renderer;o.renderTexture.bind(n,n.filterFrame),this.uniforms.uSampler=t,o.shader.bind(this,!1),o.geometry.draw(5),this.state.blend=!0}}t.SeperableBlurPass=a},246:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(297),i=n(987),r=DataManager.createGameObjects;DataManager.createGameObjects=function(){r.call(this),i.FilterGUI.isPlaytest()&&i.FilterGUI.init()};const a=DataManager.isDatabaseLoaded;DataManager.isDatabaseLoaded=function(){return!!a.call(this)&&!!o.FilterFileManager.isLoaded()}},174:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(455),i=n(297);var r=Game_Map.prototype.setup;Game_Map.prototype.setup=function(e){var t;r.call(this,e),i.FilterFileManager.setUserDefaultParams(void 0),$gameScreen._lnFilmicFilter.enabled=!0,$dataMap.meta&&("none"==(e=$dataMap.meta.FilmicFilter)||(t=void 0===e?0:Number(e))<=-1?$gameScreen._lnFilmicFilter.enabled=!1:void 0!==t&&(i.FilterFileManager.setUserDefaultParams(i.FilterFileManager.getData(t)),o.FilmicFilterControl.start($gameScreen._lnFilmicFilter,i.FilterFileManager.defaultParams(),0)))}},974:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(455),i=Game_Screen.prototype.clear;Game_Screen.prototype.clear=function(){i.call(this),this._lnFilmicFilter?o.FilmicFilterControl.clear(this._lnFilmicFilter):this._lnFilmicFilter=o.FilmicFilterControl.makeDefault()};const r=Game_Screen.prototype.update;Game_Screen.prototype.update=function(){r.call(this),o.FilmicFilterControl.update(this._lnFilmicFilter)}},957:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(987),i=n(749),r=Input._onKeyDown;Input._onKeyDown=function(e){o.FilterGUI.isPlaytest()&&e.key==i.paramEditorKey?o.FilterGUI.toggle():r.call(this,e)}},994:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(455),i=n(297);n=n(749);PluginManager.registerCommand(n.pluginName,"SetFilmicFilter",function(e){var t=e.filterId,n=e.duration,e=e.wait;Number(t)<=-1?$gameScreen._lnFilmicFilter.enabled=!1:(t=i.FilterFileManager.getData(t),o.FilmicFilterControl.start($gameScreen._lnFilmicFilter,t,n)),e&&this.wait(n)})},749:(e,t)=>{var n,o;Object.defineProperty(t,"__esModule",{value:!0}),t.paramEditorKey=t.paramAnimationFlushHookValue=t.pluginName=void 0,t.pluginName="LN_FilmicFilter",t.paramAnimationFlushHookValue=1,t.paramEditorKey=(n="EditorKey",o="F11","undefined"==typeof PluginManager||void 0===(n=PluginManager.parameters(t.pluginName)[n])?o:null!=n?n:"")},644:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(297),i=Scene_Boot.prototype.create;Scene_Boot.prototype.create=function(){i.call(this),o.FilterFileManager.updateIndexFile(()=>{o.FilterFileManager.loadIndex()})}},557:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(455),i=n(297),r=n(749);Sprite_Animation.prototype.processFlashTimings;Sprite_Animation.prototype.processFlashTimings=function(){for(const n of this._animation.flashTimings){var e,t;n.frame===this._frameIndex&&((e=n.color.clone())[3]==r.paramAnimationFlushHookValue?(t=i.FilterFileManager.getData(e[0]),o.FilmicFilterControl.startFlush($gameScreen._lnFilmicFilter,t,n.duration)):(this._flashColor=e,this._flashDuration=n.duration))}}},904:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(656),i=Spriteset_Battle.prototype.createLowerLayer;Spriteset_Battle.prototype.createLowerLayer=function(){i.call(this),o.FilmicFilter.instance||(o.FilmicFilter.instance=new o.FilmicFilter),this._baseSprite.filters.push(o.FilmicFilter.instance)};const r=Spriteset_Battle.prototype.update;Spriteset_Battle.prototype.update=function(){r.call(this),o.FilmicFilter.instance&&(o.FilmicFilter.instance.enabled=$gameScreen._lnFilmicFilter.enabled)}},1:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(656),i=Spriteset_Map.prototype.createLowerLayer;Spriteset_Map.prototype.createLowerLayer=function(){i.call(this),o.FilmicFilter.instance||(o.FilmicFilter.instance=new o.FilmicFilter),this._baseSprite.filters.push(o.FilmicFilter.instance)};Spriteset_Map.prototype.createWeather;Spriteset_Map.prototype.createWeather=function(){this._weather=new Weather,this._baseSprite.addChild(this._weather)};const r=Spriteset_Map.prototype.update;Spriteset_Map.prototype.update=function(){r.call(this),o.FilmicFilter.instance&&(o.FilmicFilter.instance.enabled=$gameScreen._lnFilmicFilter.enabled)}},538:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=n(987),i=TouchInput._onMouseDown;TouchInput._onMouseDown=function(e){o.FilterGUI.isPlaytest()&&!o.FilterGUI.hiddedn()||i.call(this,e)}},747:e=>{e.exports=require("fs")},622:e=>{e.exports=require("path")}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;t=o[e]={exports:{}};return n[e].call(t.exports,t,t.exports,i),t.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};i(656),i(749),i(957),i(538),i(246),i(974),i(174),i(994),i(557),i(1),i(904),i(644)})();