-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcommons-ed4ec27308bc755c1737.js
2 lines (2 loc) · 192 KB
/
commons-ed4ec27308bc755c1737.js
1
2
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+924":function(e,t,n){"use strict";n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));var r=n("9AQC");function i(e,t){return void 0===t&&(t=0),"string"!=typeof e||0===t||e.length<=t?e:e.substr(0,t)+"..."}function o(e,t){var n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);var i=Math.max(t-60,0);i<5&&(i=0);var o=Math.min(i+140,r);return o>r-5&&(o=r),o===r&&(i=Math.max(o-140,0)),n=n.slice(i,o),i>0&&(n="'{snip} "+n),o<r&&(n+=" {snip}"),n}function a(e,t){if(!Array.isArray(e))return"";for(var n=[],r=0;r<e.length;r++){var i=e[r];try{n.push(String(i))}catch(o){n.push("[value cannot be serialized]")}}return n.join(t)}function s(e,t){return!!Object(r.k)(e)&&(Object(r.j)(t)?t.test(e):"string"==typeof t&&-1!==e.indexOf(t))}},"+VNo":function(e,t){e.exports="\t\n\v\f\r \u2028\u2029\ufeff"},"0lfv":function(e,t,n){"use strict";var r=n("I0BZ");n.d(t,"a",(function(){return r.a}));n("40ji")},"0zhl":function(e,t,n){var r=n("q1tI");function i(e){return r.createElement("svg",e,[r.createElement("defs",{key:0},r.createElement("style",{type:"text/css"})),r.createElement("path",{d:"M898.036124 852.92674 748.500389 703.389982c49.522903-62.73788 79.244832-142.968156 79.244832-230.408647 0-200.905706-156.887167-363.772051-350.416881-363.772051S126.911458 272.075629 126.911458 472.981335s156.887167 363.772051 350.416881 363.772051c78.338183 0 150.670581-26.688849 209.025641-71.782883l149.819191 149.819191L898.036124 852.92674zM476.93232 751.116983c-147.9711 0-267.924075-124.526131-267.924075-278.135648s119.953999-278.135648 267.924075-278.135648 267.924075 124.526131 267.924075 278.135648S624.903419 751.116983 476.93232 751.116983z",key:1})])}i.defaultProps={t:"1570778823962",className:"icon",viewBox:"0 0 1024 1024",version:"1.1",width:"200",height:"200"},e.exports=i,i.default=i},"16Xr":function(e,t,n){"use strict";var r=n("nONw"),i=n("BjK0"),o=n("+wZX"),a=[].slice,s={},c=function(e,t,n){if(!(t in s)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";s[t]=Function("F,a","return new F("+r.join(",")+")")}return s[t](e,n)};e.exports=Function.bind||function(e){var t=r(this),n=a.call(arguments,1),s=function(){var r=n.concat(a.call(arguments));return this instanceof s?c(t,r.length,r):o(t,r,e)};return i(t.prototype)&&(s.prototype=t.prototype),s}},"3UD+":function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},"3nLz":function(e,t,n){"use strict";n("t+fG")("fixed",(function(e){return function(){return e(this,"tt","","")}}))},"40ji":function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.blog="blog",e.project="project"}(r||(r={}))},"5SR5":function(e,t,n){},"6PSD":function(e,t,n){"use strict";var r=n("rjfK").f,i=n("nsRs"),o=n("rj/q"),a=n("ot9L"),s=n("xa9o"),c=n("yde8"),l=n("ZFV6"),u=n("xlXC"),f=n("to/b"),d=n("QPJK"),p=n("N+BI").fastKey,h=n("O1i0"),g=d?"_s":"size",b=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var u=e((function(e,r){s(e,u,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[g]=0,null!=r&&c(r,n,e[l],e)}));return o(u.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[g]=0},delete:function(e){var n=h(this,t),r=b(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[g]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!b(h(this,t),e)}}),d&&r(u.prototype,"size",{get:function(){return h(this,t)[g]}}),u},def:function(e,t,n){var r,i,o=b(e,t);return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[g]++,"F"!==i&&(e._i[i]=o)),e},getEntry:b,setStrong:function(e,t,n){l(e,t,(function(e,n){this._t=h(e,t),this._k=n,this._l=void 0}),(function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))}),n?"entries":"values",!n,!0),f(t)}}},"6PXS":function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return c})),n.d(t,"d",(function(){return f})),n.d(t,"c",(function(){return h})),n.d(t,"a",(function(){return g}));n("zGcK"),n("HQhv"),n("q8oJ"),n("pJf4"),n("rzGZ"),n("Dq+y"),n("8npG"),n("Ggvi"),n("mrSG");var r=n("9AQC"),i=n("wCA9"),o=n("9/Zf"),a=n("+924");function s(e,t,n){if(t in e){var r=e[t],i=n(r);if("function"==typeof i)try{i.prototype=i.prototype||{},Object.defineProperties(i,{__sentry_original__:{enumerable:!1,value:r}})}catch(o){}e[t]=i}}function c(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}function l(e){if(Object(r.d)(e)){var t=e,n={message:t.message,name:t.name,stack:t.stack};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n}if(Object(r.f)(e)){var a=e,s={};s.type=a.type;try{s.target=Object(r.c)(a.target)?Object(o.h)(a.target):Object.prototype.toString.call(a.target)}catch(c){s.target="<unknown>"}try{s.currentTarget=Object(r.c)(a.currentTarget)?Object(o.h)(a.currentTarget):Object.prototype.toString.call(a.currentTarget)}catch(c){s.currentTarget="<unknown>"}for(var i in"undefined"!=typeof CustomEvent&&Object(r.g)(e,CustomEvent)&&(s.detail=a.detail),a)Object.prototype.hasOwnProperty.call(a,i)&&(s[i]=a);return s}return e}function u(e){return function(e){return~-encodeURI(e).split(/%..|./).length}(JSON.stringify(e))}function f(e,t,n){void 0===t&&(t=3),void 0===n&&(n=102400);var r=h(e,t);return u(r)>n?f(e,t-1,n):r}function d(t,n){return"domain"===n&&t&&"object"==typeof t&&t._events?"[Domain]":"domainEmitter"===n?"[DomainEmitter]":void 0!==e&&t===e?"[Global]":"undefined"!=typeof window&&t===window?"[Window]":"undefined"!=typeof document&&t===document?"[Document]":Object(r.l)(t)?"[SyntheticEvent]":"number"==typeof t&&t!=t?"[NaN]":void 0===t?"[undefined]":"function"==typeof t?"[Function: "+Object(o.e)(t)+"]":t}function p(e,t,n,o){if(void 0===n&&(n=1/0),void 0===o&&(o=new i.a),0===n)return function(e){var t=Object.prototype.toString.call(e);if("string"==typeof e)return e;if("[object Object]"===t)return"[Object]";if("[object Array]"===t)return"[Array]";var n=d(e);return Object(r.i)(n)?n:t}(t);if(null!=t&&"function"==typeof t.toJSON)return t.toJSON();var a=d(t,e);if(Object(r.i)(a))return a;var s=l(t),c=Array.isArray(t)?[]:{};if(o.memoize(t))return"[Circular ~]";for(var u in s)Object.prototype.hasOwnProperty.call(s,u)&&(c[u]=p(u,s[u],n-1,o));return o.unmemoize(t),c}function h(e,t){try{return JSON.parse(JSON.stringify(e,(function(e,n){return p(e,n,t)})))}catch(n){return"**non-serializable**"}}function g(e,t){void 0===t&&(t=40);var n=Object.keys(l(e));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=t)return Object(a.d)(n[0],t);for(var r=n.length;r>0;r--){var i=n.slice(0,r).join(", ");if(!(i.length>t))return r===n.length?i:Object(a.d)(i,t)}return""}}).call(this,n("yLpj"))},"8+s/":function(e,t,n){"use strict";n("pJf4");var r,i=n("q1tI"),o=(r=i)&&"object"==typeof r&&"default"in r?r.default:r;function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,l=[];function u(){c=e(l.map((function(e){return e.props}))),f.canUseDOM?t(c):n&&(c=n(c))}var f=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.peek=function(){return c},i.rewind=function(){if(i.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=c;return c=void 0,l=[],e};var a=i.prototype;return a.UNSAFE_componentWillMount=function(){l.push(this),u()},a.componentDidUpdate=function(){u()},a.componentWillUnmount=function(){var e=l.indexOf(this);l.splice(e,1),u()},a.render=function(){return o.createElement(r,this.props)},i}(i.PureComponent);return a(f,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),a(f,"canUseDOM",s),f}}},"8WOy":function(e,t,n){var r=n("q1tI");function i(e){return r.createElement("svg",e,[r.createElement("defs",{key:0},r.createElement("style",{type:"text/css"})),r.createElement("path",{d:"M939.664 148.352C885.248 93.968 812.944 64 736 64s-138.592 27.632-192.976 82.016l-0.096 0.08-0.032 0.016L512 185.04l-30.912-36.576-0.096-0.096-0.016-0.016C426.576 93.968 364.928 64 288 64S138.752 93.968 84.352 148.352C29.952 202.752 0 275.072 0 352c0 76.896 29.92 149.168 84.256 203.568L466.56 941.056a63.952 63.952 0 0 0 90.88 0l382.288-385.472A286.176 286.176 0 0 0 1024 352c0-76.928-29.952-149.248-84.336-203.648z",fill:"#d81e06",key:1})])}i.defaultProps={t:"1570766298594",className:"icon",viewBox:"0 0 1024 1024",version:"1.1",width:"200",height:"200"},e.exports=i,i.default=i},"8oxB":function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var c,l=[],u=!1,f=-1;function d(){u&&c&&(u=!1,c.length?l=c.concat(l):f=-1,l.length&&p())}function p(){if(!u){var e=s(d);u=!0;for(var t=l.length;t;){for(c=l,l=[];++f<t;)c&&c[f].run();f=-1,t=l.length}c=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!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 h(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),1!==l.length||u||s(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},"9/Zf":function(e,t,n){"use strict";(function(e,r,i){n.d(t,"i",(function(){return a})),n.d(t,"f",(function(){return c})),n.d(t,"m",(function(){return l})),n.d(t,"k",(function(){return u})),n.d(t,"d",(function(){return f})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return h})),n.d(t,"g",(function(){return g})),n.d(t,"h",(function(){return b})),n.d(t,"l",(function(){return S})),n.d(t,"j",(function(){return w})),n.d(t,"e",(function(){return j}));n("pJf4"),n("HQhv"),n("Ggvi"),n("rzGZ"),n("Dq+y"),n("Ll4R"),n("sC2a"),n("h3Sa"),n("q8oJ"),n("8npG");var o=n("9AQC");n("+924");function a(){return"[object process]"===Object.prototype.toString.call(void 0!==e?e:0)}var s={};function c(){return a()?r:"undefined"!=typeof window?window:"undefined"!=typeof self?self:s}function l(){var e=c(),t=e.crypto||e.msCrypto;if(void 0!==t&&t.getRandomValues){var n=new Uint16Array(8);t.getRandomValues(n),n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;var r=function(e){for(var t=e.toString(16);t.length<4;)t="0"+t;return t};return r(n[0])+r(n[1])+r(n[2])+r(n[3])+r(n[4])+r(n[5])+r(n[6])+r(n[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}function u(e){if(!e)return{};var t=e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};var n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],relative:t[5]+n+r}}function f(e){if(e.message)return e.message;if(e.exception&&e.exception.values&&e.exception.values[0]){var t=e.exception.values[0];return t.type&&t.value?t.type+": "+t.value:t.type||t.value||e.event_id||"<unknown>"}return e.event_id||"<unknown>"}function d(e){var t=c();if(!("console"in t))return e();var n=t.console,r={};["debug","info","warn","error","log","assert"].forEach((function(e){e in t.console&&n[e].__sentry_original__&&(r[e]=n[e],n[e]=n[e].__sentry_original__)}));var i=e();return Object.keys(r).forEach((function(e){n[e]=r[e]})),i}function p(e,t,n){e.exception=e.exception||{},e.exception.values=e.exception.values||[],e.exception.values[0]=e.exception.values[0]||{},e.exception.values[0].value=e.exception.values[0].value||t||"",e.exception.values[0].type=e.exception.values[0].type||n||"Error"}function h(e,t){void 0===t&&(t={});try{e.exception.values[0].mechanism=e.exception.values[0].mechanism||{},Object.keys(t).forEach((function(n){e.exception.values[0].mechanism[n]=t[n]}))}catch(n){}}function g(){try{return document.location.href}catch(e){return""}}function b(e){try{for(var t=e,n=[],r=0,i=0,o=" > ".length,a=void 0;t&&r++<5&&!("html"===(a=m(t))||r>1&&i+n.length*o+a.length>=80);)n.push(a),i+=a.length,t=t.parentNode;return n.reverse().join(" > ")}catch(s){return"<unknown>"}}function m(e){var t,n,r,i,a,s=e,c=[];if(!s||!s.tagName)return"";if(c.push(s.tagName.toLowerCase()),s.id&&c.push("#"+s.id),(t=s.className)&&Object(o.k)(t))for(n=t.split(/\s+/),a=0;a<n.length;a++)c.push("."+n[a]);var l=["type","name","title","alt"];for(a=0;a<l.length;a++)r=l[a],(i=s.getAttribute(r))&&c.push("["+r+'="'+i+'"]');return c.join("")}var y=Date.now(),v=0,_={now:function(){var e=Date.now()-y;return e<v&&(e=v),v=e,e},timeOrigin:y},E=function(){if(a())try{return(e="perf_hooks",i.require(e)).performance}catch(t){return _}var e;return c().performance&&void 0===performance.timeOrigin&&(performance.timeOrigin=performance.timing&&performance.timing.navigationStart||y),c().performance||_}();function S(){return(E.timeOrigin+E.now())/1e3}function w(e,t){if(!t)return 6e4;var n=parseInt(""+t,10);if(!isNaN(n))return 1e3*n;var r=Date.parse(""+t);return isNaN(r)?6e4:r-e}function j(e){try{return e&&"function"==typeof e&&e.name||"<anonymous>"}catch(t){return"<anonymous>"}}}).call(this,n("8oxB"),n("yLpj"),n("3UD+")(e))},"94Pd":function(e,t,n){"use strict";var r=n("emib"),i=n("P8UN"),o=n("IYdN"),a=n("rj/q"),s=n("N+BI"),c=n("yde8"),l=n("xa9o"),u=n("BjK0"),f=n("96qb"),d=n("vUMq"),p=n("dSuk"),h=n("TUPI");e.exports=function(e,t,n,g,b,m){var y=r[e],v=y,_=b?"set":"add",E=v&&v.prototype,S={},w=function(e){var t=E[e];o(E,e,"delete"==e||"has"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(m||E.forEach&&!f((function(){(new v).entries().next()})))){var j=new v,x=j[_](m?{}:-0,1)!=j,O=f((function(){j.has(1)})),k=d((function(e){new v(e)})),T=!m&&f((function(){for(var e=new v,t=5;t--;)e[_](t,t);return!e.has(-0)}));k||((v=t((function(t,n){l(t,v,e);var r=h(new y,t,v);return null!=n&&c(n,b,r[_],r),r}))).prototype=E,E.constructor=v),(O||T)&&(w("delete"),w("has"),b&&w("get")),(T||x)&&w(_),m&&E.clear&&delete E.clear}else v=g.getConstructor(t,e,b,_),a(v.prototype,n),s.NEED=!0;return p(v,e),S[e]=v,i(i.G+i.W+i.F*(v!=y),S),m||g.setStrong(v,e,b),v}},"9AQC":function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"k",(function(){return s})),n.d(t,"i",(function(){return c})),n.d(t,"h",(function(){return l})),n.d(t,"f",(function(){return u})),n.d(t,"c",(function(){return f})),n.d(t,"j",(function(){return d})),n.d(t,"m",(function(){return p})),n.d(t,"l",(function(){return h})),n.d(t,"g",(function(){return g}));n("q8oJ"),n("8npG");function r(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return g(e,Error)}}function i(e){return"[object ErrorEvent]"===Object.prototype.toString.call(e)}function o(e){return"[object DOMError]"===Object.prototype.toString.call(e)}function a(e){return"[object DOMException]"===Object.prototype.toString.call(e)}function s(e){return"[object String]"===Object.prototype.toString.call(e)}function c(e){return null===e||"object"!=typeof e&&"function"!=typeof e}function l(e){return"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"undefined"!=typeof Event&&g(e,Event)}function f(e){return"undefined"!=typeof Element&&g(e,Element)}function d(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function p(e){return Boolean(e&&e.then&&"function"==typeof e.then)}function h(e){return l(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function g(e,t){try{return e instanceof t}catch(n){return!1}}},"9eSz":function(e,t,n){"use strict";n("n7j8"),n("AqHK"),n("JHok"),n("rzGZ"),n("Dq+y"),n("8npG"),n("YbXK"),n("eMsz"),n("pS08"),n("zTTH"),n("wZFJ"),n("MIFh"),n("3nLz");var r=n("TqRt");t.__esModule=!0,t.default=void 0;var i,o=r(n("PJYZ")),a=r(n("VbXa")),s=r(n("8OQS")),c=r(n("pVnL")),l=r(n("q1tI")),u=r(n("17x9")),f=function(e){var t=(0,c.default)({},e),n=t.resolutions,r=t.sizes,i=t.critical;return n&&(t.fixed=n,delete t.resolutions),r&&(t.fluid=r,delete t.sizes),i&&(t.loading="eager"),t.fluid&&(t.fluid=S([].concat(t.fluid))),t.fixed&&(t.fixed=S([].concat(t.fixed))),t},d=function(e){var t=e.media;return!!t&&(y&&!!window.matchMedia(t).matches)},p=function(e){var t=e.fluid,n=e.fixed;return h(t||n).src},h=function(e){if(y&&function(e){return!!e&&Array.isArray(e)&&e.some((function(e){return void 0!==e.media}))}(e)){var t=e.findIndex(d);if(-1!==t)return e[t];var n=e.findIndex((function(e){return void 0===e.media}));if(-1!==n)return e[n]}return e[0]},g=Object.create({}),b=function(e){var t=f(e),n=p(t);return g[n]||!1},m="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype,y="undefined"!=typeof window,v=y&&window.IntersectionObserver,_=new WeakMap;function E(e){return e.map((function(e){var t=e.src,n=e.srcSet,r=e.srcSetWebp,i=e.media,o=e.sizes;return l.default.createElement(l.default.Fragment,{key:t},r&&l.default.createElement("source",{type:"image/webp",media:i,srcSet:r,sizes:o}),l.default.createElement("source",{media:i,srcSet:n,sizes:o}))}))}function S(e){var t=[],n=[];return e.forEach((function(e){return(e.media?t:n).push(e)})),[].concat(t,n)}function w(e){return e.map((function(e){var t=e.src,n=e.media,r=e.tracedSVG;return l.default.createElement("source",{key:t,media:n,srcSet:r})}))}function j(e){return e.map((function(e){var t=e.src,n=e.media,r=e.base64;return l.default.createElement("source",{key:t,media:n,srcSet:r})}))}function x(e,t){var n=e.srcSet,r=e.srcSetWebp,i=e.media,o=e.sizes;return"<source "+(t?"type='image/webp' ":"")+(i?'media="'+i+'" ':"")+'srcset="'+(t?r:n)+'" '+(o?'sizes="'+o+'" ':"")+"/>"}var O=function(e,t){var n=(void 0===i&&"undefined"!=typeof window&&window.IntersectionObserver&&(i=new window.IntersectionObserver((function(e){e.forEach((function(e){if(_.has(e.target)){var t=_.get(e.target);(e.isIntersecting||e.intersectionRatio>0)&&(i.unobserve(e.target),_.delete(e.target),t())}}))}),{rootMargin:"200px"})),i);return n&&(n.observe(e),_.set(e,t)),function(){n.unobserve(e),_.delete(e)}},k=function(e){var t=e.src?'src="'+e.src+'" ':'src="" ',n=e.sizes?'sizes="'+e.sizes+'" ':"",r=e.srcSet?'srcset="'+e.srcSet+'" ':"",i=e.title?'title="'+e.title+'" ':"",o=e.alt?'alt="'+e.alt+'" ':'alt="" ',a=e.width?'width="'+e.width+'" ':"",s=e.height?'height="'+e.height+'" ':"",c=e.crossOrigin?'crossorigin="'+e.crossOrigin+'" ':"",l=e.loading?'loading="'+e.loading+'" ':"",u=e.draggable?'draggable="'+e.draggable+'" ':"";return"<picture>"+e.imageVariants.map((function(e){return(e.srcSetWebp?x(e,!0):"")+x(e)})).join("")+"<img "+l+a+s+n+r+t+o+i+c+u+'style="position:absolute;top:0;left:0;opacity:1;width:100%;height:100%;object-fit:cover;object-position:center"/></picture>'},T=l.default.forwardRef((function(e,t){var n=e.src,r=e.imageVariants,i=e.generateSources,o=e.spreadProps,a=e.ariaHidden,s=l.default.createElement(R,(0,c.default)({ref:t,src:n},o,{ariaHidden:a}));return r.length>1?l.default.createElement("picture",null,i(r),s):s})),R=l.default.forwardRef((function(e,t){var n=e.sizes,r=e.srcSet,i=e.src,o=e.style,a=e.onLoad,u=e.onError,f=e.loading,d=e.draggable,p=e.ariaHidden,h=(0,s.default)(e,["sizes","srcSet","src","style","onLoad","onError","loading","draggable","ariaHidden"]);return l.default.createElement("img",(0,c.default)({"aria-hidden":p,sizes:n,srcSet:r,src:i},h,{onLoad:a,onError:u,ref:t,loading:f,draggable:d,style:(0,c.default)({position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center"},o)}))}));R.propTypes={style:u.default.object,onError:u.default.func,onLoad:u.default.func};var L=function(e){function t(t){var n;(n=e.call(this,t)||this).seenBefore=y&&b(t),n.isCritical="eager"===t.loading||t.critical,n.addNoScript=!(n.isCritical&&!t.fadeIn),n.useIOSupport=!m&&v&&!n.isCritical&&!n.seenBefore;var r=n.isCritical||y&&(m||!n.useIOSupport);return n.state={isVisible:r,imgLoaded:!1,imgCached:!1,fadeIn:!n.seenBefore&&t.fadeIn},n.imageRef=l.default.createRef(),n.placeholderRef=t.placeholderRef||l.default.createRef(),n.handleImageLoaded=n.handleImageLoaded.bind((0,o.default)(n)),n.handleRef=n.handleRef.bind((0,o.default)(n)),n}(0,a.default)(t,e);var n=t.prototype;return n.componentDidMount=function(){if(this.state.isVisible&&"function"==typeof this.props.onStartLoad&&this.props.onStartLoad({wasCached:b(this.props)}),this.isCritical){var e=this.imageRef.current;e&&e.complete&&this.handleImageLoaded()}},n.componentWillUnmount=function(){this.cleanUpListeners&&this.cleanUpListeners()},n.handleRef=function(e){var t=this;this.useIOSupport&&e&&(this.cleanUpListeners=O(e,(function(){var e=b(t.props);t.state.isVisible||"function"!=typeof t.props.onStartLoad||t.props.onStartLoad({wasCached:e}),t.setState({isVisible:!0},(function(){t.setState({imgLoaded:e,imgCached:!(!t.imageRef.current||!t.imageRef.current.currentSrc)})}))})))},n.handleImageLoaded=function(){var e,t,n;e=this.props,t=f(e),n=p(t),g[n]=!0,this.setState({imgLoaded:!0}),this.props.onLoad&&this.props.onLoad()},n.render=function(){var e=f(this.props),t=e.title,n=e.alt,r=e.className,i=e.style,o=void 0===i?{}:i,a=e.imgStyle,s=void 0===a?{}:a,u=e.placeholderStyle,d=void 0===u?{}:u,p=e.placeholderClassName,g=e.fluid,b=e.fixed,m=e.backgroundColor,y=e.durationFadeIn,v=e.Tag,_=e.itemProp,S=e.loading,x=e.draggable,O=!1===this.state.fadeIn||this.state.imgLoaded,L=!0===this.state.fadeIn&&!this.state.imgCached,I=(0,c.default)({opacity:O?1:0,transition:L?"opacity "+y+"ms":"none"},s),C="boolean"==typeof m?"lightgray":m,N={transitionDelay:y+"ms"},A=(0,c.default)({opacity:this.state.imgLoaded?0:1},L&&N,s,d),U={title:t,alt:this.state.isVisible?"":n,style:A,className:p,itemProp:_};if(g){var P=g,M=h(g);return l.default.createElement(v,{className:(r||"")+" gatsby-image-wrapper",style:(0,c.default)({position:"relative",overflow:"hidden",maxWidth:M.maxWidth?M.maxWidth+"px":null,maxHeight:M.maxHeight?M.maxHeight+"px":null},o),ref:this.handleRef,key:"fluid-"+JSON.stringify(M.srcSet)},l.default.createElement(v,{"aria-hidden":!0,style:{width:"100%",paddingBottom:100/M.aspectRatio+"%"}}),C&&l.default.createElement(v,{"aria-hidden":!0,title:t,style:(0,c.default)({backgroundColor:C,position:"absolute",top:0,bottom:0,opacity:this.state.imgLoaded?0:1,right:0,left:0},L&&N)}),M.base64&&l.default.createElement(T,{ariaHidden:!0,ref:this.placeholderRef,src:M.base64,spreadProps:U,imageVariants:P,generateSources:j}),M.tracedSVG&&l.default.createElement(T,{ariaHidden:!0,ref:this.placeholderRef,src:M.tracedSVG,spreadProps:U,imageVariants:P,generateSources:w}),this.state.isVisible&&l.default.createElement("picture",null,E(P),l.default.createElement(R,{alt:n,title:t,sizes:M.sizes,src:M.src,crossOrigin:this.props.crossOrigin,srcSet:M.srcSet,style:I,ref:this.imageRef,onLoad:this.handleImageLoaded,onError:this.props.onError,itemProp:_,loading:S,draggable:x})),this.addNoScript&&l.default.createElement("noscript",{dangerouslySetInnerHTML:{__html:k((0,c.default)({alt:n,title:t,loading:S},M,{imageVariants:P}))}}))}if(b){var D=b,F=h(b),B=(0,c.default)({position:"relative",overflow:"hidden",display:"inline-block",width:F.width,height:F.height},o);return"inherit"===o.display&&delete B.display,l.default.createElement(v,{className:(r||"")+" gatsby-image-wrapper",style:B,ref:this.handleRef,key:"fixed-"+JSON.stringify(F.srcSet)},C&&l.default.createElement(v,{"aria-hidden":!0,title:t,style:(0,c.default)({backgroundColor:C,width:F.width,opacity:this.state.imgLoaded?0:1,height:F.height},L&&N)}),F.base64&&l.default.createElement(T,{ariaHidden:!0,ref:this.placeholderRef,src:F.base64,spreadProps:U,imageVariants:D,generateSources:j}),F.tracedSVG&&l.default.createElement(T,{ariaHidden:!0,ref:this.placeholderRef,src:F.tracedSVG,spreadProps:U,imageVariants:D,generateSources:w}),this.state.isVisible&&l.default.createElement("picture",null,E(D),l.default.createElement(R,{alt:n,title:t,width:F.width,height:F.height,sizes:F.sizes,src:F.src,crossOrigin:this.props.crossOrigin,srcSet:F.srcSet,style:I,ref:this.imageRef,onLoad:this.handleImageLoaded,onError:this.props.onError,itemProp:_,loading:S,draggable:x})),this.addNoScript&&l.default.createElement("noscript",{dangerouslySetInnerHTML:{__html:k((0,c.default)({alt:n,title:t,loading:S},F,{imageVariants:D}))}}))}return null},t}(l.default.Component);L.defaultProps={fadeIn:!0,durationFadeIn:500,alt:"",Tag:"div",loading:"lazy"};var I=u.default.shape({width:u.default.number.isRequired,height:u.default.number.isRequired,src:u.default.string.isRequired,srcSet:u.default.string.isRequired,base64:u.default.string,tracedSVG:u.default.string,srcWebp:u.default.string,srcSetWebp:u.default.string,media:u.default.string}),C=u.default.shape({aspectRatio:u.default.number.isRequired,src:u.default.string.isRequired,srcSet:u.default.string.isRequired,sizes:u.default.string.isRequired,base64:u.default.string,tracedSVG:u.default.string,srcWebp:u.default.string,srcSetWebp:u.default.string,media:u.default.string,maxWidth:u.default.number,maxHeight:u.default.number});L.propTypes={resolutions:I,sizes:C,fixed:u.default.oneOfType([I,u.default.arrayOf(I)]),fluid:u.default.oneOfType([C,u.default.arrayOf(C)]),fadeIn:u.default.bool,durationFadeIn:u.default.number,title:u.default.string,alt:u.default.string,className:u.default.oneOfType([u.default.string,u.default.object]),critical:u.default.bool,crossOrigin:u.default.oneOfType([u.default.string,u.default.bool]),style:u.default.object,imgStyle:u.default.object,placeholderStyle:u.default.object,placeholderClassName:u.default.string,backgroundColor:u.default.oneOfType([u.default.string,u.default.bool]),onLoad:u.default.func,onError:u.default.func,onStartLoad:u.default.func,Tag:u.default.string,itemProp:u.default.string,loading:u.default.oneOf(["auto","lazy","eager"]),draggable:u.default.bool};var N=L;t.default=N},ATp1:function(e,t,n){e.exports=n.p+"static/logo-8503f6989dba3ce27939964a48c8b787.png"},"B9/H":function(e,t,n){},"EU/P":function(e,t,n){var r=n("P8UN"),i=n("ap2Z"),o=n("96qb"),a=n("+VNo"),s="["+a+"]",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),u=function(e,t,n){var i={},s=o((function(){return!!a[e]()||"
"!="
"[e]()})),c=i[e]=s?t(f):a[e];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},f=u.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(c,"")),2&t&&(e=e.replace(l,"")),e};e.exports=u},F1kF:function(e,t,n){},I0BZ:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return a}));var r=function(e,t){if(!e)return!1;t?e.classList.add("scroll-lock"):e.classList.remove("scroll-lock")},i=function(){var e=document.querySelector("body");r(e,!0)},o=function(){var e=document.querySelector("body");r(e,!1)},a=function(){return"undefined"!=typeof window}},Jegl:function(e,t,n){for(var r,i=n("emib"),o=n("8wc8"),a=n("UEZ0"),s=a("typed_array"),c=a("view"),l=!(!i.ArrayBuffer||!i.DataView),u=l,f=0,d="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");f<9;)(r=i[d[f++]])?(o(r.prototype,s,!0),o(r.prototype,c,!0)):u=!1;e.exports={ABV:l,CONSTR:u,TYPED:s,VIEW:c}},Kz6e:function(e,t,n){n("QPJK")&&"g"!=/./g.flags&&n("rjfK").f(RegExp.prototype,"flags",{configurable:!0,get:n("lb9j")})},LeJ0:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r=!1,i=!0},Ll4R:function(e,t,n){"use strict";var r=n("1a8y"),i=n("kiRH"),o=n("fhoV"),a=n("YEpu");n("83Ih")("match",1,(function(e,t,n,s){return[function(n){var r=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=s(n,e,this);if(t.done)return t.value;var c=r(e),l=String(this);if(!c.global)return a(c,l);var u=c.unicode;c.lastIndex=0;for(var f,d=[],p=0;null!==(f=a(c,l));){var h=String(f[0]);d[p]=h,""===h&&(c.lastIndex=o(l,i(c.lastIndex),u)),p++}return 0===p?null:d}]}))},MLJe:function(e,t,n){},Nhdc:function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"c",(function(){return f})),n.d(t,"f",(function(){return h})),n.d(t,"a",(function(){return i})),n.d(t,"d",(function(){return Ot})),n.d(t,"e",(function(){return Rt})),n.d(t,"g",(function(){return It}));var r={};n.r(r),n.d(r,"FunctionToString",(function(){return $})),n.d(r,"InboundFilters",(function(){return fe}));var i,o=n("q1tI"),a=n.n(o),s=n("Wbzz"),c=n("Wgwc"),l=n.n(c),u=(n("MLJe"),function(e){var t=function(e){var t=[],n={};return e.forEach((function(e){var r=e.fields.date?l()(e.fields.date).year():l()().year()+1;Reflect.has(n,r)||(n[r]=[],t.push(r)),n[r].push(e)})),t.map((function(e){return{year:e,blogs:n[e]}}))}(e.blogs);return a.a.createElement("div",{className:"blog-list"},t.map((function(e){return a.a.createElement("div",{className:"category",key:e.year},a.a.createElement("header",{className:"category-header"},a.a.createElement("p",{className:"year"},e.year)),a.a.createElement("ul",{className:"category-posts"},function(e){return e.map((function(e){var t=e.fields.date?l()(e.fields.date).format("YYYY-MM-DD"):l()().add(1,"year").format("YYYY-MM-DD");return a.a.createElement("li",{key:e.id,className:"category-post"},a.a.createElement(s.Link,{to:e.fields.slug},a.a.createElement("span",{className:"date"},"[",t,"]"),a.a.createElement("span",{className:"name"},e.frontmatter.title)))}))}(e.blogs)))})))}),f=(n("osXC"),function(e){var t=e.blogs;return a.a.createElement("div",{className:"blog-list"},t.map((function(e){var t,n=null===(t=e.frontmatter.cover)||void 0===t?void 0:t.publicURL;console.log(e.fields.date);var r=e.fields.date?l()(e.fields.date).format("MMM DD, YYYY"):"Unknown";return a.a.createElement(s.Link,{className:"blog"+(e.frontmatter.draft?" draft":""),to:e.fields.slug,key:e.id,id:e.fields.id},a.a.createElement("div",{className:"banner"},a.a.createElement("img",{src:n,alt:""})),a.a.createElement("div",{className:"info"},a.a.createElement("p",{className:"title"},e.frontmatter.title),a.a.createElement("p",{className:"desc"},e.frontmatter.description),a.a.createElement("footer",{className:"blog__footer"},a.a.createElement("p",{className:"date"},a.a.createElement("time",{dateTime:"{blog.node.fields.date}"},r)))))})))});!function(e){e.normal="normal",e.archive="archive"}(i||(i={}));n("5SR5");var d,p,h=function(e){var t,n=e.viewMode,r=e.onViewModeChange;return a.a.createElement("div",{className:"blog-catelog-toolbar"},(t=Object.values(i),a.a.createElement("ul",{className:"viewmode-selector"},t.map((function(e){return a.a.createElement("li",{key:e,className:"viewmode-option"+(e===n?" active":""),onClick:(t=e,function(e){e.stopPropagation(),r&&r(t)})},function(e){switch(e){case i.normal:return"图文视图";case i.archive:return"归档视图";default:return""}}(e));var t})))))},g=(n("enfU"),n("8WOy")),b=n.n(g),m=l()().format("YYYY"),y=function(){return a.a.createElement("footer",{id:"mf-footer"},a.a.createElement("div",{className:"copyright"},a.a.createElement("p",null,a.a.createElement("span",null,"Developed with"),a.a.createElement(b.a,null),a.a.createElement("span",null,"by ","<Washington Hua />")),a.a.createElement("p",null,"© 2014 - ",m," All Rights Reserved")))},v=n("DjBF"),_=n("ATp1"),E=n.n(_),S=(n("lKc3"),n("Xifz"),n("LeJ0")),w=function(e){return{className:["menu-link",e.isPartiallyCurrent&&"active"].filter(Boolean).join(" ")}},j=[!S.b&&{to:"/draft",text:"草稿"},{to:"/blog",text:"博客"},{to:"/project",text:"项目"},{to:"/toolbox",text:"工具"},{to:"/friend",text:"友人"},{to:"/about",text:"关于"}].filter(Boolean),x=function(){return a.a.createElement("div",{className:"navigation"},a.a.createElement("nav",{className:"nav-menu"},a.a.createElement("ul",{className:"menus"},j.map((function(e){return a.a.createElement("li",{className:"menu",key:e.to},a.a.createElement(s.Link,{to:e.to,getProps:w},e.text))})))))},O=(n("QqgB"),function(e){var t=e.open,n=e.onToggle,r=e.onClose;return a.a.createElement("div",{className:"navigation-mobile"},a.a.createElement("div",{className:"hamberger","data-is-open":t,onClick:n}),a.a.createElement("nav",{className:"nav-menu","data-is-open":t},a.a.createElement("ul",{className:"menus"},j.map((function(e){return a.a.createElement("li",{className:"menu",key:e.to},a.a.createElement(s.Link,{to:e.to,getProps:w,onClick:r},e.text))})))))}),k=n("YpWj"),T=(n("esxU"),n("nPje"),n("0zhl")),R=n.n(T),L=n("0lfv"),I=function(e){var t=e.value,n=e.onChange,r=e.onSearchBegin,i=e.onSearchEnd,s=Object(o.useState)(""),c=Object(v.a)(s,2),l=c[0],u=c[1],f=Object(o.useState)(!1),d=Object(v.a)(f,2),p=d[0],h=d[1],g=Object(o.useRef)(null);Object(o.useEffect)((function(){u(t)}),[t]);var b=p||t.length>0,m=function(){h(!1),n&&n(""),i&&i();var e=g.current;e&&e.blur()};return a.a.createElement("div",{className:"search-input"},a.a.createElement("div",{className:"search-input__icon"},a.a.createElement(R.a,null)),a.a.createElement("input",{ref:g,className:"search-input__input",type:"text",placeholder:"搜索「童话说」",value:l,onChange:function(e){var t=e.target.value;u(t),Object(L.a)()&&window.requestAnimationFrame((function(){n&&n(t)}))},onFocus:function(){h(!0),r&&r()},onKeyDown:function(e){switch(e.key){case"Escape":m()}}}),b?a.a.createElement("span",{className:"btn-cancel",onClick:m},"取消"):null)},C=(n("zOF5"),n("40ji")),N=n("OfKe"),A=function(e,t){var n={valid:!1,matches:[]};if(!e||!t)return n;var r,i=e.toLowerCase(),o=t.toLowerCase(),a=-1,s=Object(N.a)(o);try{for(s.s();!(r=s.n()).done;){var c=r.value;if(-1===(a=i.indexOf(c,a+1)))return n.valid=!1,n;n.matches.push([a,e[a]])}}catch(l){s.e(l)}finally{s.f()}return n.valid=!0,n},U=n("upjz"),P=(n("hMsB"),function(e){var t=e.data,n=e.isCurrent,r=e.onMouseEnter,i=e.onMouseLeave,o=e.onClick,c=t.node,l=t.matches,u=["result-item",n&&"current"].filter(Boolean).join(" "),f=function(e,t){if(!t.length)return e;for(var n=[],r=Object(U.a)(t),i=0;i<e.length;i++){var o=r.length?r[0]:[-1,""],s=Object(v.a)(o,2),c=s[0],l=s[1],u=n[n.length-1];i===c?(r.shift(),u&&u.highlight?u.str+=l:n.push({highlight:!0,str:l})):u&&!u.highlight?u.str+=e[i]:n.push({highlight:!1,str:e[i]})}return n.map((function(e,t){return a.a.createElement("span",{key:t,className:e.highlight?"highlight":""},e.str)}))};return a.a.createElement("li",{className:u,onMouseEnter:r,onMouseLeave:i},a.a.createElement(s.Link,{className:"result-item-link",to:c.fields.slug,onClick:o},a.a.createElement("p",{className:"title"},f(c.frontmatter.title,l.title)),a.a.createElement("p",{className:"desc"},f(c.frontmatter.description,l.desc))))}),M=function(e){var t=e.open,n=e.query,r=e.nodes,i=e.onSelect,s=Object(o.useState)(-1),c=Object(v.a)(s,2),l=c[0],u=c[1],f=Object(o.useState)(),d=Object(v.a)(f,2),p=d[0],h=d[1],g=["search-result",t&&"open"].filter(Boolean).join(" "),b=function(e){e.stopPropagation(),i&&i()},m=function(e,t){return function(e){e.stopPropagation(),u(-1),h(t)}},y=function(e,t){var n,r=[],i=Object(N.a)(e);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=A(o.frontmatter.title,t),s=A(o.frontmatter.description,t);if(a.valid||s.valid){var c={type:o.fields.type,node:o,matches:{title:a.matches,desc:s.matches}};r.push(c)}}}catch(l){i.e(l)}finally{i.f()}return r}(r,n),_=y.filter((function(e){return e.type===C.a.blog})),E=y.filter((function(e){return e.type===C.a.project})),S=[];_.length&&S.push({title:"博客",items:_}),E.length&&S.push({title:"项目",items:E});var w=n?y.length?a.a.createElement("div",{className:"result-list"},S.map((function(e){return a.a.createElement("div",{key:e.title,className:"result-category"},a.a.createElement("header",{className:"category-header"},a.a.createElement("p",{className:"category-title"},e.title)),a.a.createElement("ul",{className:"category-items"},e.items.map((function(e,t){return a.a.createElement(P,{key:e.node.id,data:e,isCurrent:t===l&&e.type===p,onMouseEnter:(n=t,r=e.type,function(e){e.stopPropagation(),u(n),h(r)}),onMouseLeave:m(0,e.type),onClick:b});var n,r}))))}))):a.a.createElement("p",{className:"no-result"},"没有符合条件的结果"):a.a.createElement("p",{className:"placeholder"},"请开始你的搜索");return a.a.createElement("div",{className:g},a.a.createElement("div",{className:"result-container"},w))},D=function(e){var t=e.data,n=e.searchText,r=e.isSearching,i=e.onSearchTextChange,o=e.onSearchBegin,s=e.onSearchEnd,c=t.allMarkdownRemark.edges.map((function(e){return e.node})),l=["search-bar",r&&"searching"].filter(Boolean).join(" ");return a.a.createElement("div",{className:l},a.a.createElement("div",{className:"wrapper"},a.a.createElement(I,{value:n,onChange:i,onSearchBegin:o,onSearchEnd:s}),a.a.createElement(M,{query:n,open:r,nodes:c,onSelect:s})))},F=function(e){return a.a.createElement(s.StaticQuery,{query:B,render:function(t){return a.a.createElement(D,Object.assign({data:t},e))},data:k})},B="1027827375",H=n("I0BZ"),q=function(){var e=Object(o.useState)(!1),t=Object(v.a)(e,2),n=t[0],r=t[1],i=Object(o.useState)(""),c=Object(v.a)(i,2),l=c[0],u=c[1],f=Object(o.useState)(!1),d=Object(v.a)(f,2),p=d[0],h=d[1],g=function(){r(!1)};return Object(o.useEffect)((function(){n||p?Object(H.b)():Object(H.c)()}),[n,p]),a.a.createElement("header",{id:"mf-header"},a.a.createElement("div",{className:"mf-header-container"},a.a.createElement("div",{className:"mf-header-wrapper"},a.a.createElement("div",{className:"brand"},a.a.createElement(s.Link,{to:"/",className:"brand-link"},a.a.createElement("img",{className:"brand-logo",src:E.a,alt:""}),a.a.createElement("span",{className:"brand-name"},"童话说"))),a.a.createElement(x,null),a.a.createElement(O,{open:n,onToggle:function(){r(!n)},onClose:g})),a.a.createElement(F,{searchText:l,isSearching:p,onSearchTextChange:function(e){u(e)},onSearchBegin:function(){h(!0),g()},onSearchEnd:function(){h(!1)}})),a.a.createElement("div",{className:"mf-header-placeholder"}))},W=(n("edhK"),n("9eSz"),n("f98A")),$=(n("q8oJ"),n("8npG"),n("pJf4"),function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){d=Function.prototype.toString,Function.prototype.toString=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=this.__sentry_original__||this;return d.apply(n,e)}},e.id="FunctionToString",e}()),Y=(n("rzGZ"),n("Dq+y"),n("mrSG")),z=(n("Ggvi"),n("6kNP"),n("uPAK"),n("9AQC"));!function(e){e.PENDING="PENDING",e.RESOLVED="RESOLVED",e.REJECTED="REJECTED"}(p||(p={}));var J=function(){function e(e){var t=this;this._state=p.PENDING,this._handlers=[],this._resolve=function(e){t._setResult(p.RESOLVED,e)},this._reject=function(e){t._setResult(p.REJECTED,e)},this._setResult=function(e,n){t._state===p.PENDING&&(Object(z.m)(n)?n.then(t._resolve,t._reject):(t._state=e,t._value=n,t._executeHandlers()))},this._attachHandler=function(e){t._handlers=t._handlers.concat(e),t._executeHandlers()},this._executeHandlers=function(){if(t._state!==p.PENDING){var e=t._handlers.slice();t._handlers=[],e.forEach((function(e){e.done||(t._state===p.RESOLVED&&e.onfulfilled&&e.onfulfilled(t._value),t._state===p.REJECTED&&e.onrejected&&e.onrejected(t._value),e.done=!0)}))}};try{e(this._resolve,this._reject)}catch(n){this._reject(n)}}return e.prototype.toString=function(){return"[object SyncPromise]"},e.resolve=function(t){return new e((function(e){e(t)}))},e.reject=function(t){return new e((function(e,n){n(t)}))},e.all=function(t){return new e((function(n,r){if(Array.isArray(t))if(0!==t.length){var i=t.length,o=[];t.forEach((function(t,a){e.resolve(t).then((function(e){o[a]=e,0===(i-=1)&&n(o)})).then(null,r)}))}else n([]);else r(new TypeError("Promise.all requires an array as input."))}))},e.prototype.then=function(t,n){var r=this;return new e((function(e,i){r._attachHandler({done:!1,onfulfilled:function(n){if(t)try{return void e(t(n))}catch(r){return void i(r)}else e(n)},onrejected:function(t){if(n)try{return void e(n(t))}catch(r){return void i(r)}else i(t)}})}))},e.prototype.catch=function(e){return this.then((function(e){return e}),e)},e.prototype.finally=function(t){var n=this;return new e((function(e,r){var i,o;return n.then((function(e){o=!1,i=e,t&&t()}),(function(e){o=!0,i=e,t&&t()})).then((function(){o?r(i):e(i)}))}))},e}(),V=n("9/Zf"),G=function(){function e(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._user={},this._tags={},this._extra={},this._contexts={}}return e.prototype.addScopeListener=function(e){this._scopeListeners.push(e)},e.prototype.addEventProcessor=function(e){return this._eventProcessors.push(e),this},e.prototype._notifyScopeListeners=function(){var e=this;this._notifyingListeners||(this._notifyingListeners=!0,setTimeout((function(){e._scopeListeners.forEach((function(t){t(e)})),e._notifyingListeners=!1})))},e.prototype._notifyEventProcessors=function(e,t,n,r){var i=this;return void 0===r&&(r=0),new J((function(o,a){var s=e[r];if(null===t||"function"!=typeof s)o(t);else{var c=s(Y.a({},t),n);Object(z.m)(c)?c.then((function(t){return i._notifyEventProcessors(e,t,n,r+1).then(o)})).then(null,a):i._notifyEventProcessors(e,c,n,r+1).then(o).then(null,a)}}))},e.prototype.setUser=function(e){return this._user=e||{},this._notifyScopeListeners(),this},e.prototype.setTags=function(e){return this._tags=Y.a({},this._tags,e),this._notifyScopeListeners(),this},e.prototype.setTag=function(e,t){var n;return this._tags=Y.a({},this._tags,((n={})[e]=t,n)),this._notifyScopeListeners(),this},e.prototype.setExtras=function(e){return this._extra=Y.a({},this._extra,e),this._notifyScopeListeners(),this},e.prototype.setExtra=function(e,t){var n;return this._extra=Y.a({},this._extra,((n={})[e]=t,n)),this._notifyScopeListeners(),this},e.prototype.setFingerprint=function(e){return this._fingerprint=e,this._notifyScopeListeners(),this},e.prototype.setLevel=function(e){return this._level=e,this._notifyScopeListeners(),this},e.prototype.setTransaction=function(e){return this._transaction=e,this._notifyScopeListeners(),this},e.prototype.setContext=function(e,t){var n;return this._contexts=Y.a({},this._contexts,((n={})[e]=t,n)),this._notifyScopeListeners(),this},e.prototype.setSpan=function(e){return this._span=e,this._notifyScopeListeners(),this},e.prototype.getSpan=function(){return this._span},e.clone=function(t){var n=new e;return t&&(n._breadcrumbs=Y.d(t._breadcrumbs),n._tags=Y.a({},t._tags),n._extra=Y.a({},t._extra),n._contexts=Y.a({},t._contexts),n._user=t._user,n._level=t._level,n._span=t._span,n._transaction=t._transaction,n._fingerprint=t._fingerprint,n._eventProcessors=Y.d(t._eventProcessors)),n},e.prototype.update=function(t){if(!t)return this;if("function"==typeof t){var n=t(this);return n instanceof e?n:this}return t instanceof e?(this._tags=Y.a({},this._tags,t._tags),this._extra=Y.a({},this._extra,t._extra),this._contexts=Y.a({},this._contexts,t._contexts),t._user&&(this._user=t._user),t._level&&(this._level=t._level),t._fingerprint&&(this._fingerprint=t._fingerprint)):Object(z.h)(t)&&(t=t,this._tags=Y.a({},this._tags,t.tags),this._extra=Y.a({},this._extra,t.extra),this._contexts=Y.a({},this._contexts,t.contexts),t.user&&(this._user=t.user),t.level&&(this._level=t.level),t.fingerprint&&(this._fingerprint=t.fingerprint)),this},e.prototype.clear=function(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transaction=void 0,this._fingerprint=void 0,this._span=void 0,this._notifyScopeListeners(),this},e.prototype.addBreadcrumb=function(e,t){var n=Y.a({timestamp:Object(V.l)()},e);return this._breadcrumbs=void 0!==t&&t>=0?Y.d(this._breadcrumbs,[n]).slice(-t):Y.d(this._breadcrumbs,[n]),this._notifyScopeListeners(),this},e.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},e.prototype._applyFingerprint=function(e){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint},e.prototype.applyToEvent=function(e,t){return this._extra&&Object.keys(this._extra).length&&(e.extra=Y.a({},this._extra,e.extra)),this._tags&&Object.keys(this._tags).length&&(e.tags=Y.a({},this._tags,e.tags)),this._user&&Object.keys(this._user).length&&(e.user=Y.a({},this._user,e.user)),this._contexts&&Object.keys(this._contexts).length&&(e.contexts=Y.a({},this._contexts,e.contexts)),this._level&&(e.level=this._level),this._transaction&&(e.transaction=this._transaction),this._span&&(e.contexts=Y.a({trace:this._span.getTraceContext()},e.contexts)),this._applyFingerprint(e),e.breadcrumbs=Y.d(e.breadcrumbs||[],this._breadcrumbs),e.breadcrumbs=e.breadcrumbs.length>0?e.breadcrumbs:void 0,this._notifyEventProcessors(Y.d(K(),this._eventProcessors),e,t)},e}();function K(){var e=Object(V.f)();return e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.globalEventProcessors=e.__SENTRY__.globalEventProcessors||[],e.__SENTRY__.globalEventProcessors}function X(e){K().push(e)}var Q=Object(V.f)(),Z="Sentry Logger ",ee=function(){function e(){this._enabled=!1}return e.prototype.disable=function(){this._enabled=!1},e.prototype.enable=function(){this._enabled=!0},e.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._enabled&&Object(V.c)((function(){Q.console.log(Z+"[Log]: "+e.join(" "))}))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._enabled&&Object(V.c)((function(){Q.console.warn(Z+"[Warn]: "+e.join(" "))}))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._enabled&&Object(V.c)((function(){Q.console.error(Z+"[Error]: "+e.join(" "))}))},e}();Q.__SENTRY__=Q.__SENTRY__||{};var te=Q.__SENTRY__.logger||(Q.__SENTRY__.logger=new ee),ne=function(){function e(e,t,n){void 0===t&&(t=new G),void 0===n&&(n=3),this._version=n,this._stack=[],this._stack.push({client:e,scope:t})}return e.prototype._invokeClient=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=this.getStackTop();i&&i.client&&i.client[e]&&(t=i.client)[e].apply(t,Y.d(n,[i.scope]))},e.prototype.isOlderThan=function(e){return this._version<e},e.prototype.bindClient=function(e){this.getStackTop().client=e,e&&e.setupIntegrations&&e.setupIntegrations()},e.prototype.pushScope=function(){var e=this.getStack(),t=e.length>0?e[e.length-1].scope:void 0,n=G.clone(t);return this.getStack().push({client:this.getClient(),scope:n}),n},e.prototype.popScope=function(){return void 0!==this.getStack().pop()},e.prototype.withScope=function(e){var t=this.pushScope();try{e(t)}finally{this.popScope()}},e.prototype.getClient=function(){return this.getStackTop().client},e.prototype.getScope=function(){return this.getStackTop().scope},e.prototype.getStack=function(){return this._stack},e.prototype.getStackTop=function(){return this._stack[this._stack.length-1]},e.prototype.captureException=function(e,t){var n=this._lastEventId=Object(V.m)(),r=t;if(!t){var i=void 0;try{throw new Error("Sentry syntheticException")}catch(e){i=e}r={originalException:e,syntheticException:i}}return this._invokeClient("captureException",e,Y.a({},r,{event_id:n})),n},e.prototype.captureMessage=function(e,t,n){var r=this._lastEventId=Object(V.m)(),i=n;if(!n){var o=void 0;try{throw new Error(e)}catch(a){o=a}i={originalException:e,syntheticException:o}}return this._invokeClient("captureMessage",e,t,Y.a({},i,{event_id:r})),r},e.prototype.captureEvent=function(e,t){var n=this._lastEventId=Object(V.m)();return this._invokeClient("captureEvent",e,Y.a({},t,{event_id:n})),n},e.prototype.lastEventId=function(){return this._lastEventId},e.prototype.addBreadcrumb=function(e,t){var n=this.getStackTop();if(n.scope&&n.client){var r=n.client.getOptions&&n.client.getOptions()||{},i=r.beforeBreadcrumb,o=void 0===i?null:i,a=r.maxBreadcrumbs,s=void 0===a?100:a;if(!(s<=0)){var c=Object(V.l)(),l=Y.a({timestamp:c},e),u=o?Object(V.c)((function(){return o(l,t)})):l;null!==u&&n.scope.addBreadcrumb(u,Math.min(s,100))}}},e.prototype.setUser=function(e){var t=this.getStackTop();t.scope&&t.scope.setUser(e)},e.prototype.setTags=function(e){var t=this.getStackTop();t.scope&&t.scope.setTags(e)},e.prototype.setExtras=function(e){var t=this.getStackTop();t.scope&&t.scope.setExtras(e)},e.prototype.setTag=function(e,t){var n=this.getStackTop();n.scope&&n.scope.setTag(e,t)},e.prototype.setExtra=function(e,t){var n=this.getStackTop();n.scope&&n.scope.setExtra(e,t)},e.prototype.setContext=function(e,t){var n=this.getStackTop();n.scope&&n.scope.setContext(e,t)},e.prototype.configureScope=function(e){var t=this.getStackTop();t.scope&&t.client&&e(t.scope)},e.prototype.run=function(e){var t=ie(this);try{e(this)}finally{ie(t)}},e.prototype.getIntegration=function(e){var t=this.getClient();if(!t)return null;try{return t.getIntegration(e)}catch(n){return te.warn("Cannot retrieve integration "+e.id+" from the current Hub"),null}},e.prototype.startSpan=function(e){return this._callExtensionMethod("startSpan",e)},e.prototype.startTransaction=function(e){return this._callExtensionMethod("startTransaction",e)},e.prototype.traceHeaders=function(){return this._callExtensionMethod("traceHeaders")},e.prototype._callExtensionMethod=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=re(),i=r.__SENTRY__;if(i&&i.extensions&&"function"==typeof i.extensions[e])return i.extensions[e].apply(this,t);te.warn("Extension method "+e+" couldn't be found, doing nothing.")},e}();function re(){var e=Object(V.f)();return e.__SENTRY__=e.__SENTRY__||{extensions:{},hub:void 0},e}function ie(e){var t=re(),n=se(t);return ce(t,e),n}function oe(){var e=re();return ae(e)&&!se(e).isOlderThan(3)||ce(e,new ne),Object(V.i)()?function(e){try{var t=re().__SENTRY__;if(!t||!t.extensions||!t.extensions.domain)return se(e);var n=t.extensions.domain.active;if(!n)return se(e);if(!ae(n)||se(n).isOlderThan(3)){var r=se(e).getStackTop();ce(n,new ne(r.client,G.clone(r.scope)))}return se(n)}catch(i){return se(e)}}(e):se(e)}function ae(e){return!!(e&&e.__SENTRY__&&e.__SENTRY__.hub)}function se(e){return e&&e.__SENTRY__&&e.__SENTRY__.hub||(e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.hub=new ne),e.__SENTRY__.hub}function ce(e,t){return!!e&&(e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.hub=t,!0)}var le=n("+924"),ue=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/],fe=function(){function e(t){void 0===t&&(t={}),this._options=t,this.name=e.id}return e.prototype.setupOnce=function(){X((function(t){var n=oe();if(!n)return t;var r=n.getIntegration(e);if(r){var i=n.getClient(),o=i?i.getOptions():{},a=r._mergeOptions(o);if(r._shouldDropEvent(t,a))return null}return t}))},e.prototype._shouldDropEvent=function(e,t){return this._isSentryError(e,t)?(te.warn("Event dropped due to being internal Sentry Error.\nEvent: "+Object(V.d)(e)),!0):this._isIgnoredError(e,t)?(te.warn("Event dropped due to being matched by `ignoreErrors` option.\nEvent: "+Object(V.d)(e)),!0):this._isBlacklistedUrl(e,t)?(te.warn("Event dropped due to being matched by `blacklistUrls` option.\nEvent: "+Object(V.d)(e)+".\nUrl: "+this._getEventFilterUrl(e)),!0):!this._isWhitelistedUrl(e,t)&&(te.warn("Event dropped due to not being matched by `whitelistUrls` option.\nEvent: "+Object(V.d)(e)+".\nUrl: "+this._getEventFilterUrl(e)),!0)},e.prototype._isSentryError=function(e,t){if(void 0===t&&(t={}),!t.ignoreInternal)return!1;try{return e&&e.exception&&e.exception.values&&e.exception.values[0]&&"SentryError"===e.exception.values[0].type||!1}catch(n){return!1}},e.prototype._isIgnoredError=function(e,t){return void 0===t&&(t={}),!(!t.ignoreErrors||!t.ignoreErrors.length)&&this._getPossibleEventMessages(e).some((function(e){return t.ignoreErrors.some((function(t){return Object(le.a)(e,t)}))}))},e.prototype._isBlacklistedUrl=function(e,t){if(void 0===t&&(t={}),!t.blacklistUrls||!t.blacklistUrls.length)return!1;var n=this._getEventFilterUrl(e);return!!n&&t.blacklistUrls.some((function(e){return Object(le.a)(n,e)}))},e.prototype._isWhitelistedUrl=function(e,t){if(void 0===t&&(t={}),!t.whitelistUrls||!t.whitelistUrls.length)return!0;var n=this._getEventFilterUrl(e);return!n||t.whitelistUrls.some((function(e){return Object(le.a)(n,e)}))},e.prototype._mergeOptions=function(e){return void 0===e&&(e={}),{blacklistUrls:Y.d(this._options.blacklistUrls||[],e.blacklistUrls||[]),ignoreErrors:Y.d(this._options.ignoreErrors||[],e.ignoreErrors||[],ue),ignoreInternal:void 0===this._options.ignoreInternal||this._options.ignoreInternal,whitelistUrls:Y.d(this._options.whitelistUrls||[],e.whitelistUrls||[])}},e.prototype._getPossibleEventMessages=function(e){if(e.message)return[e.message];if(e.exception)try{var t=e.exception.values&&e.exception.values[0]||{},n=t.type,r=void 0===n?"":n,i=t.value,o=void 0===i?"":i;return[""+o,r+": "+o]}catch(a){return te.error("Cannot extract message for event "+Object(V.d)(e)),[]}return[]},e.prototype._getEventFilterUrl=function(e){try{if(e.stacktrace){var t=e.stacktrace.frames;return t&&t[t.length-1].filename||null}if(e.exception){var n=e.exception.values&&e.exception.values[0].stacktrace&&e.exception.values[0].stacktrace.frames;return n&&n[n.length-1].filename||null}return null}catch(r){return te.error("Cannot extract url for event "+Object(V.d)(e)),null}},e.id="InboundFilters",e}();n("Ll4R"),n("HQhv");var de=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){return e.__proto__=t,e}:function(e,t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n]);return e});var pe=function(e){function t(t){var n=this.constructor,r=e.call(this,t)||this;return r.message=t,r.name=n.prototype.constructor.name,de(r,n.prototype),r}return Y.b(t,e),t}(Error),he=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+))?@)([\w\.-]+)(?::(\d+))?\/(.+)/,ge=function(){function e(e){"string"==typeof e?this._fromString(e):this._fromComponents(e),this._validate()}return e.prototype.toString=function(e){void 0===e&&(e=!1);var t=this,n=t.host,r=t.path,i=t.pass,o=t.port,a=t.projectId;return t.protocol+"://"+t.user+(e&&i?":"+i:"")+"@"+n+(o?":"+o:"")+"/"+(r?r+"/":r)+a},e.prototype._fromString=function(e){var t=he.exec(e);if(!t)throw new pe("Invalid Dsn");var n=Y.c(t.slice(1),6),r=n[0],i=n[1],o=n[2],a=void 0===o?"":o,s=n[3],c=n[4],l=void 0===c?"":c,u="",f=n[5],d=f.split("/");if(d.length>1&&(u=d.slice(0,-1).join("/"),f=d.pop()),f){var p=f.match(/^\d+/);p&&(f=p[0])}this._fromComponents({host:s,pass:a,path:u,projectId:f,port:l,protocol:r,user:i})},e.prototype._fromComponents=function(e){this.protocol=e.protocol,this.user=e.user,this.pass=e.pass||"",this.host=e.host,this.port=e.port||"",this.path=e.path||"",this.projectId=e.projectId},e.prototype._validate=function(){var e=this;if(["protocol","user","host","projectId"].forEach((function(t){if(!e[t])throw new pe("Invalid Dsn: "+t+" missing")})),!this.projectId.match(/^\d+$/))throw new pe("Invalid Dsn: Invalid projectId "+this.projectId);if("http"!==this.protocol&&"https"!==this.protocol)throw new pe("Invalid Dsn: Invalid protocol "+this.protocol);if(this.port&&isNaN(parseInt(this.port,10)))throw new pe("Invalid Dsn: Invalid port "+this.port)},e}(),be=n("6PXS"),me=function(){function e(e){this.dsn=e,this._dsnObject=new ge(e)}return e.prototype.getDsn=function(){return this._dsnObject},e.prototype.getBaseApiEndpoint=function(){var e=this._dsnObject,t=e.protocol?e.protocol+":":"",n=e.port?":"+e.port:"";return t+"//"+e.host+n+(e.path?"/"+e.path:"")+"/api/"},e.prototype.getStoreEndpoint=function(){return this._getIngestEndpoint("store")},e.prototype._getEnvelopeEndpoint=function(){return this._getIngestEndpoint("envelope")},e.prototype._getIngestEndpoint=function(e){return""+this.getBaseApiEndpoint()+this._dsnObject.projectId+"/"+e+"/"},e.prototype.getStoreEndpointWithUrlEncodedAuth=function(){return this.getStoreEndpoint()+"?"+this._encodedAuth()},e.prototype.getEnvelopeEndpointWithUrlEncodedAuth=function(){return this._getEnvelopeEndpoint()+"?"+this._encodedAuth()},e.prototype._encodedAuth=function(){var e={sentry_key:this._dsnObject.user,sentry_version:"7"};return Object(be.e)(e)},e.prototype.getStoreEndpointPath=function(){var e=this._dsnObject;return(e.path?"/"+e.path:"")+"/api/"+e.projectId+"/store/"},e.prototype.getRequestHeaders=function(e,t){var n=this._dsnObject,r=["Sentry sentry_version=7"];return r.push("sentry_client="+e+"/"+t),r.push("sentry_key="+n.user),n.pass&&r.push("sentry_secret="+n.pass),{"Content-Type":"application/json","X-Sentry-Auth":r.join(", ")}},e.prototype.getReportDialogEndpoint=function(e){void 0===e&&(e={});var t=this._dsnObject,n=this.getBaseApiEndpoint()+"embed/error-page/",r=[];for(var i in r.push("dsn="+t.toString()),e)if("user"===i){if(!e.user)continue;e.user.name&&r.push("name="+encodeURIComponent(e.user.name)),e.user.email&&r.push("email="+encodeURIComponent(e.user.email))}else r.push(encodeURIComponent(i)+"="+encodeURIComponent(e[i]));return r.length?n+"?"+r.join("&"):n},e}(),ye=[];function ve(e){var t={};return function(e){var t=e.defaultIntegrations&&Y.d(e.defaultIntegrations)||[],n=e.integrations,r=[];if(Array.isArray(n)){var i=n.map((function(e){return e.name})),o=[];t.forEach((function(e){-1===i.indexOf(e.name)&&-1===o.indexOf(e.name)&&(r.push(e),o.push(e.name))})),n.forEach((function(e){-1===o.indexOf(e.name)&&(r.push(e),o.push(e.name))}))}else"function"==typeof n?(r=n(t),r=Array.isArray(r)?r:[r]):r=Y.d(t);var a=r.map((function(e){return e.name}));return-1!==a.indexOf("Debug")&&r.push.apply(r,Y.d(r.splice(a.indexOf("Debug"),1))),r}(e).forEach((function(e){t[e.name]=e,function(e){-1===ye.indexOf(e.name)&&(e.setupOnce(X,oe),ye.push(e.name),te.log("Integration installed: "+e.name))}(e)})),t}var _e,Ee=function(){function e(e,t){this._integrations={},this._processing=!1,this._backend=new e(t),this._options=t,t.dsn&&(this._dsn=new ge(t.dsn))}return e.prototype.captureException=function(e,t,n){var r=this,i=t&&t.event_id;return this._processing=!0,this._getBackend().eventFromException(e,t).then((function(e){i=r.captureEvent(e,t,n)})),i},e.prototype.captureMessage=function(e,t,n,r){var i=this,o=n&&n.event_id;return this._processing=!0,(Object(z.i)(e)?this._getBackend().eventFromMessage(""+e,t,n):this._getBackend().eventFromException(e,n)).then((function(e){o=i.captureEvent(e,n,r)})),o},e.prototype.captureEvent=function(e,t,n){var r=this,i=t&&t.event_id;return this._processing=!0,this._processEvent(e,t,n).then((function(e){i=e&&e.event_id,r._processing=!1})).then(null,(function(e){te.error(e),r._processing=!1})),i},e.prototype.getDsn=function(){return this._dsn},e.prototype.getOptions=function(){return this._options},e.prototype.flush=function(e){var t=this;return this._isClientProcessing(e).then((function(n){return clearInterval(n.interval),t._getBackend().getTransport().close(e).then((function(e){return n.ready&&e}))}))},e.prototype.close=function(e){var t=this;return this.flush(e).then((function(e){return t.getOptions().enabled=!1,e}))},e.prototype.setupIntegrations=function(){this._isEnabled()&&(this._integrations=ve(this._options))},e.prototype.getIntegration=function(e){try{return this._integrations[e.id]||null}catch(t){return te.warn("Cannot retrieve integration "+e.id+" from the current Client"),null}},e.prototype._isClientProcessing=function(e){var t=this;return new J((function(n){var r=0,i=0;clearInterval(i),i=setInterval((function(){t._processing?(r+=1,e&&r>=e&&n({interval:i,ready:!1})):n({interval:i,ready:!0})}),1)}))},e.prototype._getBackend=function(){return this._backend},e.prototype._isEnabled=function(){return!1!==this.getOptions().enabled&&void 0!==this._dsn},e.prototype._prepareEvent=function(e,t,n){var r=this,i=this.getOptions().normalizeDepth,o=void 0===i?3:i,a=Y.a({},e,{event_id:e.event_id||(n&&n.event_id?n.event_id:Object(V.m)()),timestamp:e.timestamp||Object(V.l)()});this._applyClientOptions(a),this._applyIntegrationsMetadata(a);var s=t;n&&n.captureContext&&(s=G.clone(s).update(n.captureContext));var c=J.resolve(a);return s&&(c=s.applyToEvent(a,n)),c.then((function(e){return"number"==typeof o&&o>0?r._normalizeEvent(e,o):e}))},e.prototype._normalizeEvent=function(e,t){if(!e)return null;var n=Y.a({},e,e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map((function(e){return Y.a({},e,e.data&&{data:Object(be.c)(e.data,t)})}))},e.user&&{user:Object(be.c)(e.user,t)},e.contexts&&{contexts:Object(be.c)(e.contexts,t)},e.extra&&{extra:Object(be.c)(e.extra,t)});return e.contexts&&e.contexts.trace&&(n.contexts.trace=e.contexts.trace),n},e.prototype._applyClientOptions=function(e){var t=this.getOptions(),n=t.environment,r=t.release,i=t.dist,o=t.maxValueLength,a=void 0===o?250:o;void 0===e.environment&&void 0!==n&&(e.environment=n),void 0===e.release&&void 0!==r&&(e.release=r),void 0===e.dist&&void 0!==i&&(e.dist=i),e.message&&(e.message=Object(le.d)(e.message,a));var s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=Object(le.d)(s.value,a));var c=e.request;c&&c.url&&(c.url=Object(le.d)(c.url,a))},e.prototype._applyIntegrationsMetadata=function(e){var t=e.sdk,n=Object.keys(this._integrations);t&&n.length>0&&(t.integrations=n)},e.prototype._sendEvent=function(e){this._getBackend().sendEvent(e)},e.prototype._processEvent=function(e,t,n){var r=this,i=this.getOptions(),o=i.beforeSend,a=i.sampleRate;if(!this._isEnabled())return J.reject("SDK not enabled, will not send event.");var s="transaction"===e.type;return!s&&"number"==typeof a&&Math.random()>a?J.reject("This event has been sampled, will not send event."):new J((function(i,a){r._prepareEvent(e,n,t).then((function(e){if(null!==e){var n=e;if(t&&t.data&&!0===t.data.__sentry__||!o||s)return r._sendEvent(n),void i(n);var c=o(e,t);if(void 0===c)te.error("`beforeSend` method has to return `null` or a valid event.");else if(Object(z.m)(c))r._handleAsyncBeforeSend(c,i,a);else{if(null===(n=c))return te.log("`beforeSend` returned `null`, will not send event."),void i(null);r._sendEvent(n),i(n)}}else a("An event processor returned null, will not send event.")})).then(null,(function(e){r.captureException(e,{data:{__sentry__:!0},originalException:e}),a("Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: "+e)}))}))},e.prototype._handleAsyncBeforeSend=function(e,t,n){var r=this;e.then((function(e){null!==e?(r._sendEvent(e),t(e)):n("`beforeSend` returned `null`, will not send event.")})).then(null,(function(e){n("beforeSend rejected with "+e)}))},e}();!function(e){e.Unknown="unknown",e.Skipped="skipped",e.Success="success",e.RateLimit="rate_limit",e.Invalid="invalid",e.Failed="failed"}(_e||(_e={})),function(e){e.fromHttpCode=function(t){return t>=200&&t<300?e.Success:429===t?e.RateLimit:t>=400&&t<500?e.Invalid:t>=500?e.Failed:e.Unknown}}(_e||(_e={}));var Se,we=function(){function e(){}return e.prototype.sendEvent=function(e){return J.resolve({reason:"NoopTransport: Event has been skipped because no Dsn is configured.",status:_e.Skipped})},e.prototype.close=function(e){return J.resolve(!0)},e}(),je=function(){function e(e){this._options=e,this._options.dsn||te.warn("No DSN provided, backend will not do anything."),this._transport=this._setupTransport()}return e.prototype._setupTransport=function(){return new we},e.prototype.eventFromException=function(e,t){throw new pe("Backend has to implement `eventFromException` method")},e.prototype.eventFromMessage=function(e,t,n){throw new pe("Backend has to implement `eventFromMessage` method")},e.prototype.sendEvent=function(e){this._transport.sendEvent(e).then(null,(function(e){te.error("Error while sending event: "+e)}))},e.prototype.getTransport=function(){return this._transport},e}();function xe(){if(!("fetch"in Object(V.f)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function Oe(e){return e&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function ke(){if(!xe())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(e){return!1}}!function(e){e.Fatal="fatal",e.Error="error",e.Warning="warning",e.Log="log",e.Info="info",e.Debug="debug",e.Critical="critical"}(Se||(Se={})),function(e){e.fromString=function(t){switch(t){case"debug":return e.Debug;case"info":return e.Info;case"warn":case"warning":return e.Warning;case"error":return e.Error;case"fatal":return e.Fatal;case"critical":return e.Critical;case"log":default:return e.Log}}}(Se||(Se={}));var Te=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Re=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,Le=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,Ie=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Ce=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Ne(e){var t=null,n=e&&e.framesToPop;try{if(t=function(e){if(!e||!e.stacktrace)return null;for(var t,n=e.stacktrace,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,i=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=n.split("\n"),a=[],s=0;s<o.length;s+=2){var c=null;(t=r.exec(o[s]))?c={url:t[2],func:t[3],args:[],line:+t[1],column:null}:(t=i.exec(o[s]))&&(c={url:t[6],func:t[3]||t[4],args:t[5]?t[5].split(","):[],line:+t[1],column:+t[2]}),c&&(!c.func&&c.line&&(c.func="?"),a.push(c))}if(!a.length)return null;return{message:Ue(e),name:e.name,stack:a}}(e))return Ae(t,n)}catch(r){}try{if(t=function(e){if(!e||!e.stack)return null;for(var t,n,r,i=[],o=e.stack.split("\n"),a=0;a<o.length;++a){if(n=Te.exec(o[a])){var s=n[2]&&0===n[2].indexOf("native");n[2]&&0===n[2].indexOf("eval")&&(t=Ce.exec(n[2]))&&(n[2]=t[1],n[3]=t[2],n[4]=t[3]),r={url:n[2]&&0===n[2].indexOf("address at ")?n[2].substr("address at ".length):n[2],func:n[1]||"?",args:s?[n[2]]:[],line:n[3]?+n[3]:null,column:n[4]?+n[4]:null}}else if(n=Le.exec(o[a]))r={url:n[2],func:n[1]||"?",args:[],line:+n[3],column:n[4]?+n[4]:null};else{if(!(n=Re.exec(o[a])))continue;n[3]&&n[3].indexOf(" > eval")>-1&&(t=Ie.exec(n[3]))?(n[1]=n[1]||"eval",n[3]=t[1],n[4]=t[2],n[5]=""):0!==a||n[5]||void 0===e.columnNumber||(i[0].column=e.columnNumber+1),r={url:n[3],func:n[1]||"?",args:n[2]?n[2].split(","):[],line:n[4]?+n[4]:null,column:n[5]?+n[5]:null}}!r.func&&r.line&&(r.func="?"),i.push(r)}if(!i.length)return null;return{message:Ue(e),name:e.name,stack:i}}(e))return Ae(t,n)}catch(r){}return{message:Ue(e),name:e&&e.name,stack:[],failed:!0}}function Ae(e,t){try{return Y.a({},e,{stack:e.stack.slice(t)})}catch(n){return e}}function Ue(e){var t=e&&e.message;return t?t.error&&"string"==typeof t.error.message?t.error.message:t:"No error message"}function Pe(e){var t=De(e.stack),n={type:e.name,value:e.message};return t&&t.length&&(n.stacktrace={frames:t}),void 0===n.type&&""===n.value&&(n.value="Unrecoverable error caught"),n}function Me(e){return{exception:{values:[Pe(e)]}}}function De(e){if(!e||!e.length)return[];var t=e,n=t[0].func||"",r=t[t.length-1].func||"";return-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(t=t.slice(1)),-1!==r.indexOf("sentryWrapped")&&(t=t.slice(0,-1)),t.slice(0,50).map((function(e){return{colno:null===e.column?void 0:e.column,filename:e.url||t[0].url,function:e.func||"?",in_app:!0,lineno:null===e.line?void 0:e.line}})).reverse()}function Fe(e,t,n){var r;if(void 0===n&&(n={}),Object(z.e)(e)&&e.error)return r=Me(Ne(e=e.error));if(Object(z.a)(e)||Object(z.b)(e)){var i=e,o=i.name||(Object(z.a)(i)?"DOMError":"DOMException"),a=i.message?o+": "+i.message:o;return r=Be(a,t,n),Object(V.b)(r,a),r}return Object(z.d)(e)?r=Me(Ne(e)):Object(z.h)(e)||Object(z.f)(e)?(r=function(e,t,n){var r={exception:{values:[{type:Object(z.f)(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:"Non-Error "+(n?"promise rejection":"exception")+" captured with keys: "+Object(be.a)(e)}]},extra:{__serialized__:Object(be.d)(e)}};if(t){var i=De(Ne(t).stack);r.stacktrace={frames:i}}return r}(e,t,n.rejection),Object(V.a)(r,{synthetic:!0}),r):(r=Be(e,t,n),Object(V.b)(r,""+e,void 0),Object(V.a)(r,{synthetic:!0}),r)}function Be(e,t,n){void 0===n&&(n={});var r={message:e};if(n.attachStacktrace&&t){var i=De(Ne(t).stack);r.stacktrace={frames:i}}return r}n("E5k/");function He(e,t){var n="transaction"===e.type,r={body:JSON.stringify(e),url:n?t.getEnvelopeEndpointWithUrlEncodedAuth():t.getStoreEndpointWithUrlEncodedAuth()};if(n){var i=JSON.stringify({event_id:e.event_id,sent_at:new Date(1e3*Object(V.l)()).toISOString()})+"\n"+JSON.stringify({type:e.type})+"\n"+r.body;r.body=i}return r}var qe,We=function(){function e(e){this._limit=e,this._buffer=[]}return e.prototype.isReady=function(){return void 0===this._limit||this.length()<this._limit},e.prototype.add=function(e){var t=this;return this.isReady()?(-1===this._buffer.indexOf(e)&&this._buffer.push(e),e.then((function(){return t.remove(e)})).then(null,(function(){return t.remove(e).then(null,(function(){}))})),e):J.reject(new pe("Not adding Promise due to buffer limit reached."))},e.prototype.remove=function(e){return this._buffer.splice(this._buffer.indexOf(e),1)[0]},e.prototype.length=function(){return this._buffer.length},e.prototype.drain=function(e){var t=this;return new J((function(n){var r=setTimeout((function(){e&&e>0&&n(!1)}),e);J.all(t._buffer).then((function(){clearTimeout(r),n(!0)})).then(null,(function(){n(!0)}))}))},e}(),$e=function(){function e(e){this.options=e,this._buffer=new We(30),this._api=new me(this.options.dsn),this.url=this._api.getStoreEndpointWithUrlEncodedAuth()}return e.prototype.sendEvent=function(e){throw new pe("Transport Class has to implement `sendEvent` method")},e.prototype.close=function(e){return this._buffer.drain(e)},e}(),Ye=Object(V.f)(),ze=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._disabledUntil=new Date(Date.now()),t}return Y.b(t,e),t.prototype.sendEvent=function(e){var t=this;if(new Date(Date.now())<this._disabledUntil)return Promise.reject({event:e,reason:"Transport locked till "+this._disabledUntil+" due to too many requests.",status:429});var n=He(e,this._api),r={body:n.body,method:"POST",referrerPolicy:ke()?"origin":""};return void 0!==this.options.fetchParameters&&Object.assign(r,this.options.fetchParameters),void 0!==this.options.headers&&(r.headers=this.options.headers),this._buffer.add(new J((function(e,i){Ye.fetch(n.url,r).then((function(n){var r=_e.fromHttpCode(n.status);if(r!==_e.Success){if(r===_e.RateLimit){var o=Date.now();t._disabledUntil=new Date(o+Object(V.j)(o,n.headers.get("Retry-After"))),te.warn("Too many requests, backing off till: "+t._disabledUntil)}i(n)}else e({status:r})})).catch(i)})))},t}($e),Je=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._disabledUntil=new Date(Date.now()),t}return Y.b(t,e),t.prototype.sendEvent=function(e){var t=this;if(new Date(Date.now())<this._disabledUntil)return Promise.reject({event:e,reason:"Transport locked till "+this._disabledUntil+" due to too many requests.",status:429});var n=He(e,this._api);return this._buffer.add(new J((function(e,r){var i=new XMLHttpRequest;for(var o in i.onreadystatechange=function(){if(4===i.readyState){var n=_e.fromHttpCode(i.status);if(n!==_e.Success){if(n===_e.RateLimit){var o=Date.now();t._disabledUntil=new Date(o+Object(V.j)(o,i.getResponseHeader("Retry-After"))),te.warn("Too many requests, backing off till: "+t._disabledUntil)}r(i)}else e({status:n})}},i.open("POST",n.url),t.options.headers)t.options.headers.hasOwnProperty(o)&&i.setRequestHeader(o,t.options.headers[o]);i.send(n.body)})))},t}($e),Ve=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Y.b(t,e),t.prototype._setupTransport=function(){if(!this._options.dsn)return e.prototype._setupTransport.call(this);var t=Y.a({},this._options.transportOptions,{dsn:this._options.dsn});return this._options.transport?new this._options.transport(t):xe()?new ze(t):new Je(t)},t.prototype.eventFromException=function(e,t){var n=Fe(e,t&&t.syntheticException||void 0,{attachStacktrace:this._options.attachStacktrace});return Object(V.a)(n,{handled:!0,type:"generic"}),n.level=Se.Error,t&&t.event_id&&(n.event_id=t.event_id),J.resolve(n)},t.prototype.eventFromMessage=function(e,t,n){void 0===t&&(t=Se.Info);var r=Be(e,n&&n.syntheticException||void 0,{attachStacktrace:this._options.attachStacktrace});return r.level=t,n&&n.event_id&&(r.event_id=n.event_id),J.resolve(r)},t}(je),Ge=Object(V.f)(),Ke={},Xe={};function Qe(e){if(!Xe[e])switch(Xe[e]=!0,e){case"console":!function(){if(!("console"in Ge))return;["debug","info","warn","error","log","assert"].forEach((function(e){e in Ge.console&&Object(be.b)(Ge.console,e,(function(t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];et("console",{args:n,level:e}),t&&Function.prototype.apply.call(t,Ge.console,n)}}))}))}();break;case"dom":!function(){if(!("document"in Ge))return;Ge.document.addEventListener("click",at("click",et.bind(null,"dom")),!1),Ge.document.addEventListener("keypress",st(et.bind(null,"dom")),!1),["EventTarget","Node"].forEach((function(e){var t=Ge[e]&&Ge[e].prototype;t&&t.hasOwnProperty&&t.hasOwnProperty("addEventListener")&&(Object(be.b)(t,"addEventListener",(function(e){return function(t,n,r){return n&&n.handleEvent?("click"===t&&Object(be.b)(n,"handleEvent",(function(e){return function(t){return at("click",et.bind(null,"dom"))(t),e.call(this,t)}})),"keypress"===t&&Object(be.b)(n,"handleEvent",(function(e){return function(t){return st(et.bind(null,"dom"))(t),e.call(this,t)}}))):("click"===t&&at("click",et.bind(null,"dom"),!0)(this),"keypress"===t&&st(et.bind(null,"dom"))(this)),e.call(this,t,n,r)}})),Object(be.b)(t,"removeEventListener",(function(e){return function(t,n,r){var i=n;try{i=i&&(i.__sentry_wrapped__||i)}catch(o){}return e.call(this,t,i,r)}})))}))}();break;case"xhr":!function(){if(!("XMLHttpRequest"in Ge))return;var e=XMLHttpRequest.prototype;Object(be.b)(e,"open",(function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=this,i=t[1];r.__sentry_xhr__={method:Object(z.k)(t[0])?t[0].toUpperCase():t[0],url:t[1]},Object(z.k)(i)&&"POST"===r.__sentry_xhr__.method&&i.match(/sentry_key/)&&(r.__sentry_own_request__=!0);var o=function(){if(4===r.readyState){try{r.__sentry_xhr__&&(r.__sentry_xhr__.status_code=r.status)}catch(e){}et("xhr",{args:t,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:r})}};return"onreadystatechange"in r&&"function"==typeof r.onreadystatechange?Object(be.b)(r,"onreadystatechange",(function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o(),e.apply(r,t)}})):r.addEventListener("readystatechange",o),e.apply(r,t)}})),Object(be.b)(e,"send",(function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return et("xhr",{args:t,startTimestamp:Date.now(),xhr:this}),e.apply(this,t)}}))}();break;case"fetch":!function(){if(!function(){if(!xe())return!1;var e=Object(V.f)();if(Oe(e.fetch))return!0;var t=!1,n=e.document;if(n&&"function"==typeof n.createElement)try{var r=n.createElement("iframe");r.hidden=!0,n.head.appendChild(r),r.contentWindow&&r.contentWindow.fetch&&(t=Oe(r.contentWindow.fetch)),n.head.removeChild(r)}catch(i){te.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",i)}return t}())return;Object(be.b)(Ge,"fetch",(function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r={args:t,fetchData:{method:tt(t),url:nt(t)},startTimestamp:Date.now()};return et("fetch",Y.a({},r)),e.apply(Ge,t).then((function(e){return et("fetch",Y.a({},r,{endTimestamp:Date.now(),response:e})),e}),(function(e){throw et("fetch",Y.a({},r,{endTimestamp:Date.now(),error:e})),e}))}}))}();break;case"history":!function(){if(e=Object(V.f)(),t=e.chrome,n=t&&t.app&&t.app.runtime,r="history"in e&&!!e.history.pushState&&!!e.history.replaceState,n||!r)return;var e,t,n,r;var i=Ge.onpopstate;function o(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t.length>2?t[2]:void 0;if(r){var i=qe,o=String(r);qe=o,et("history",{from:i,to:o})}return e.apply(this,t)}}Ge.onpopstate=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Ge.location.href,r=qe;if(qe=n,et("history",{from:r,to:n}),i)return i.apply(this,e)},Object(be.b)(Ge.history,"pushState",o),Object(be.b)(Ge.history,"replaceState",o)}();break;case"error":ct=Ge.onerror,Ge.onerror=function(e,t,n,r,i){return et("error",{column:r,error:i,line:n,msg:e,url:t}),!!ct&&ct.apply(this,arguments)};break;case"unhandledrejection":lt=Ge.onunhandledrejection,Ge.onunhandledrejection=function(e){return et("unhandledrejection",e),!lt||lt.apply(this,arguments)};break;default:te.warn("unknown instrumentation type:",e)}}function Ze(e){e&&"string"==typeof e.type&&"function"==typeof e.callback&&(Ke[e.type]=Ke[e.type]||[],Ke[e.type].push(e.callback),Qe(e.type))}function et(e,t){var n,r;if(e&&Ke[e])try{for(var i=Y.e(Ke[e]||[]),o=i.next();!o.done;o=i.next()){var a=o.value;try{a(t)}catch(s){te.error("Error while triggering instrumentation handler.\nType: "+e+"\nName: "+Object(V.e)(a)+"\nError: "+s)}}}catch(c){n={error:c}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}function tt(e){return void 0===e&&(e=[]),"Request"in Ge&&Object(z.g)(e[0],Request)&&e[0].method?String(e[0].method).toUpperCase():e[1]&&e[1].method?String(e[1].method).toUpperCase():"GET"}function nt(e){return void 0===e&&(e=[]),"string"==typeof e[0]?e[0]:"Request"in Ge&&Object(z.g)(e[0],Request)?e[0].url:String(e[0])}var rt,it,ot=0;function at(e,t,n){return void 0===n&&(n=!1),function(r){rt=void 0,r&&it!==r&&(it=r,ot&&clearTimeout(ot),n?ot=setTimeout((function(){t({event:r,name:e})})):t({event:r,name:e}))}}function st(e){return function(t){var n;try{n=t.target}catch(i){return}var r=n&&n.tagName;r&&("INPUT"===r||"TEXTAREA"===r||n.isContentEditable)&&(rt||at("input",e)(t),clearTimeout(rt),rt=setTimeout((function(){rt=void 0}),1e3))}}var ct=null;var lt=null;var ut=function(){function e(t){this.name=e.id,this._options=Y.a({console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0},t)}return e.prototype.addSentryBreadcrumb=function(e){this._options.sentry&&oe().addBreadcrumb({category:"sentry."+("transaction"===e.type?"transaction":"event"),event_id:e.event_id,level:e.level,message:Object(V.d)(e)},{event:e})},e.prototype._consoleBreadcrumb=function(e){var t={category:"console",data:{arguments:e.args,logger:"console"},level:Se.fromString(e.level),message:Object(le.b)(e.args," ")};if("assert"===e.level){if(!1!==e.args[0])return;t.message="Assertion failed: "+(Object(le.b)(e.args.slice(1)," ")||"console.assert"),t.data.arguments=e.args.slice(1)}oe().addBreadcrumb(t,{input:e.args,level:e.level})},e.prototype._domBreadcrumb=function(e){var t;try{t=e.event.target?Object(V.h)(e.event.target):Object(V.h)(e.event)}catch(n){t="<unknown>"}0!==t.length&&oe().addBreadcrumb({category:"ui."+e.name,message:t},{event:e.event,name:e.name})},e.prototype._xhrBreadcrumb=function(e){if(e.endTimestamp){if(e.xhr.__sentry_own_request__)return;oe().addBreadcrumb({category:"xhr",data:e.xhr.__sentry_xhr__,type:"http"},{xhr:e.xhr})}else;},e.prototype._fetchBreadcrumb=function(e){e.endTimestamp&&(e.fetchData.url.match(/sentry_key/)&&"POST"===e.fetchData.method||(e.error?oe().addBreadcrumb({category:"fetch",data:e.fetchData,level:Se.Error,type:"http"},{data:e.error,input:e.args}):oe().addBreadcrumb({category:"fetch",data:Y.a({},e.fetchData,{status_code:e.response.status}),type:"http"},{input:e.args,response:e.response})))},e.prototype._historyBreadcrumb=function(e){var t=Object(V.f)(),n=e.from,r=e.to,i=Object(V.k)(t.location.href),o=Object(V.k)(n),a=Object(V.k)(r);o.path||(o=i),i.protocol===a.protocol&&i.host===a.host&&(r=a.relative),i.protocol===o.protocol&&i.host===o.host&&(n=o.relative),oe().addBreadcrumb({category:"navigation",data:{from:n,to:r}})},e.prototype.setupOnce=function(){var e=this;this._options.console&&Ze({callback:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e._consoleBreadcrumb.apply(e,Y.d(t))},type:"console"}),this._options.dom&&Ze({callback:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e._domBreadcrumb.apply(e,Y.d(t))},type:"dom"}),this._options.xhr&&Ze({callback:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e._xhrBreadcrumb.apply(e,Y.d(t))},type:"xhr"}),this._options.fetch&&Ze({callback:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e._fetchBreadcrumb.apply(e,Y.d(t))},type:"fetch"}),this._options.history&&Ze({callback:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e._historyBreadcrumb.apply(e,Y.d(t))},type:"history"})},e.id="Breadcrumbs",e}(),ft=function(e){function t(t){return void 0===t&&(t={}),e.call(this,Ve,t)||this}return Y.b(t,e),t.prototype._prepareEvent=function(t,n,r){return t.platform=t.platform||"javascript",t.sdk=Y.a({},t.sdk,{name:"sentry.javascript.browser",packages:Y.d(t.sdk&&t.sdk.packages||[],[{name:"npm:@sentry/browser",version:"5.17.0"}]),version:"5.17.0"}),e.prototype._prepareEvent.call(this,t,n,r)},t.prototype._sendEvent=function(t){var n=this.getIntegration(ut);n&&n.addSentryBreadcrumb(t),e.prototype._sendEvent.call(this,t)},t.prototype.showReportDialog=function(e){void 0===e&&(e={});var t=Object(V.f)().document;if(t)if(this._isEnabled()){var n=e.dsn||this.getDsn();if(e.eventId)if(n){var r=t.createElement("script");r.async=!0,r.src=new me(n).getReportDialogEndpoint(e),e.onLoad&&(r.onload=e.onLoad),(t.head||t.body).appendChild(r)}else te.error("Missing `Dsn` option in showReportDialog call");else te.error("Missing `eventId` option in showReportDialog call")}else te.error("Trying to call showReportDialog with Sentry Client is disabled")},t}(Ee);function dt(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=oe();if(r&&r[e])return r[e].apply(r,Y.d(t));throw new Error("No hub defined or "+e+" was not found on the hub, please open a bug report.")}function pt(e,t){var n;try{throw new Error("Sentry syntheticException")}catch(e){n=e}return dt("captureException",e,{captureContext:t,originalException:e,syntheticException:n})}function ht(e){dt("withScope",e)}var gt=0;function bt(){return gt>0}function mt(){gt+=1,setTimeout((function(){gt-=1}))}function yt(e,t,n){if(void 0===t&&(t={}),"function"!=typeof e)return e;try{if(e.__sentry__)return e;if(e.__sentry_wrapped__)return e.__sentry_wrapped__}catch(o){return e}var r=function(){var r=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var i=r.map((function(e){return yt(e,t)}));return e.handleEvent?e.handleEvent.apply(this,i):e.apply(this,i)}catch(o){throw mt(),ht((function(e){e.addEventProcessor((function(e){var n=Y.a({},e);return t.mechanism&&(Object(V.b)(n,void 0,void 0),Object(V.a)(n,t.mechanism)),n.extra=Y.a({},n.extra,{arguments:r}),n})),pt(o)})),o}};try{for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i])}catch(a){}e.prototype=e.prototype||{},r.prototype=e.prototype,Object.defineProperty(e,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:e}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get:function(){return e.name}})}catch(a){}return r}var vt=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],_t=function(){function e(t){this.name=e.id,this._options=Y.a({XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0},t)}return e.prototype._wrapTimeFunction=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t[0];return t[0]=yt(r,{mechanism:{data:{function:Object(V.e)(e)},handled:!0,type:"instrument"}}),e.apply(this,t)}},e.prototype._wrapRAF=function(e){return function(t){return e.call(this,yt(t,{mechanism:{data:{function:"requestAnimationFrame",handler:Object(V.e)(e)},handled:!0,type:"instrument"}}))}},e.prototype._wrapEventTarget=function(e){var t=Object(V.f)(),n=t[e]&&t[e].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty("addEventListener")&&(Object(be.b)(n,"addEventListener",(function(t){return function(n,r,i){try{"function"==typeof r.handleEvent&&(r.handleEvent=yt(r.handleEvent.bind(r),{mechanism:{data:{function:"handleEvent",handler:Object(V.e)(r),target:e},handled:!0,type:"instrument"}}))}catch(o){}return t.call(this,n,yt(r,{mechanism:{data:{function:"addEventListener",handler:Object(V.e)(r),target:e},handled:!0,type:"instrument"}}),i)}})),Object(be.b)(n,"removeEventListener",(function(e){return function(t,n,r){var i=n;try{i=i&&(i.__sentry_wrapped__||i)}catch(o){}return e.call(this,t,i,r)}})))},e.prototype._wrapXHR=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=this,i=["onload","onerror","onprogress","onreadystatechange"];return i.forEach((function(e){e in r&&"function"==typeof r[e]&&Object(be.b)(r,e,(function(t){var n={mechanism:{data:{function:e,handler:Object(V.e)(t)},handled:!0,type:"instrument"}};return t.__sentry_original__&&(n.mechanism.data.handler=Object(V.e)(t.__sentry_original__)),yt(t,n)}))})),e.apply(this,t)}},e.prototype.setupOnce=function(){var e=Object(V.f)();(this._options.setTimeout&&Object(be.b)(e,"setTimeout",this._wrapTimeFunction.bind(this)),this._options.setInterval&&Object(be.b)(e,"setInterval",this._wrapTimeFunction.bind(this)),this._options.requestAnimationFrame&&Object(be.b)(e,"requestAnimationFrame",this._wrapRAF.bind(this)),this._options.XMLHttpRequest&&"XMLHttpRequest"in e&&Object(be.b)(XMLHttpRequest.prototype,"send",this._wrapXHR.bind(this)),this._options.eventTarget)&&(Array.isArray(this._options.eventTarget)?this._options.eventTarget:vt).forEach(this._wrapEventTarget.bind(this))},e.id="TryCatch",e}(),Et=function(){function e(t){this.name=e.id,this._onErrorHandlerInstalled=!1,this._onUnhandledRejectionHandlerInstalled=!1,this._options=Y.a({onerror:!0,onunhandledrejection:!0},t)}return e.prototype.setupOnce=function(){Error.stackTraceLimit=50,this._options.onerror&&(te.log("Global Handler attached: onerror"),this._installGlobalOnErrorHandler()),this._options.onunhandledrejection&&(te.log("Global Handler attached: onunhandledrejection"),this._installGlobalOnUnhandledRejectionHandler())},e.prototype._installGlobalOnErrorHandler=function(){var t=this;this._onErrorHandlerInstalled||(Ze({callback:function(n){var r=n.error,i=oe(),o=i.getIntegration(e),a=r&&!0===r.__sentry_own_request__;if(o&&!bt()&&!a){var s=i.getClient(),c=Object(z.i)(r)?t._eventFromIncompleteOnError(n.msg,n.url,n.line,n.column):t._enhanceEventWithInitialFrame(Fe(r,void 0,{attachStacktrace:s&&s.getOptions().attachStacktrace,rejection:!1}),n.url,n.line,n.column);Object(V.a)(c,{handled:!1,type:"onerror"}),i.captureEvent(c,{originalException:r})}},type:"error"}),this._onErrorHandlerInstalled=!0)},e.prototype._installGlobalOnUnhandledRejectionHandler=function(){var t=this;this._onUnhandledRejectionHandlerInstalled||(Ze({callback:function(n){var r=n;try{"reason"in n?r=n.reason:"detail"in n&&"reason"in n.detail&&(r=n.detail.reason)}catch(l){}var i=oe(),o=i.getIntegration(e),a=r&&!0===r.__sentry_own_request__;if(!o||bt()||a)return!0;var s=i.getClient(),c=Object(z.i)(r)?t._eventFromIncompleteRejection(r):Fe(r,void 0,{attachStacktrace:s&&s.getOptions().attachStacktrace,rejection:!0});c.level=Se.Error,Object(V.a)(c,{handled:!1,type:"onunhandledrejection"}),i.captureEvent(c,{originalException:r})},type:"unhandledrejection"}),this._onUnhandledRejectionHandlerInstalled=!0)},e.prototype._eventFromIncompleteOnError=function(e,t,n,r){var i,o=Object(z.e)(e)?e.message:e;if(Object(z.k)(o)){var a=o.match(/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i);a&&(i=a[1],o=a[2])}var s={exception:{values:[{type:i||"Error",value:o}]}};return this._enhanceEventWithInitialFrame(s,t,n,r)},e.prototype._eventFromIncompleteRejection=function(e){return{exception:{values:[{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+e}]}}},e.prototype._enhanceEventWithInitialFrame=function(e,t,n,r){e.exception=e.exception||{},e.exception.values=e.exception.values||[],e.exception.values[0]=e.exception.values[0]||{},e.exception.values[0].stacktrace=e.exception.values[0].stacktrace||{},e.exception.values[0].stacktrace.frames=e.exception.values[0].stacktrace.frames||[];var i=isNaN(parseInt(r,10))?void 0:r,o=isNaN(parseInt(n,10))?void 0:n,a=Object(z.k)(t)&&t.length>0?t:Object(V.g)();return 0===e.exception.values[0].stacktrace.frames.length&&e.exception.values[0].stacktrace.frames.push({colno:i,filename:a,function:"?",in_app:!0,lineno:o}),e},e.id="GlobalHandlers",e}(),St=function(){function e(t){void 0===t&&(t={}),this.name=e.id,this._key=t.key||"cause",this._limit=t.limit||5}return e.prototype.setupOnce=function(){X((function(t,n){var r=oe().getIntegration(e);return r?r._handler(t,n):t}))},e.prototype._handler=function(e,t){if(!(e.exception&&e.exception.values&&t&&Object(z.g)(t.originalException,Error)))return e;var n=this._walkErrorTree(t.originalException,this._key);return e.exception.values=Y.d(n,e.exception.values),e},e.prototype._walkErrorTree=function(e,t,n){if(void 0===n&&(n=[]),!Object(z.g)(e[t],Error)||n.length+1>=this._limit)return n;var r=Pe(Ne(e[t]));return this._walkErrorTree(e[t],t,Y.d([r],n))},e.id="LinkedErrors",e}(),wt=Object(V.f)(),jt=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){X((function(t){if(oe().getIntegration(e)){if(!wt.navigator||!wt.location)return t;var n=t.request||{};return n.url=n.url||wt.location.href,n.headers=n.headers||{},n.headers["User-Agent"]=wt.navigator.userAgent,Y.a({},t,{request:n})}return t}))},e.id="UserAgent",e}(),xt=[new r.InboundFilters,new r.FunctionToString,new _t,new ut,new Et,new St,new jt];n("B9/H"),n("F1kF");S.b&&function(e){if(void 0===e&&(e={}),void 0===e.defaultIntegrations&&(e.defaultIntegrations=xt),void 0===e.release){var t=Object(V.f)();t.SENTRY_RELEASE&&t.SENTRY_RELEASE.id&&(e.release=t.SENTRY_RELEASE.id)}!function(e,t){!0===t.debug&&te.enable();var n=oe(),r=new e(t);n.bindClient(r)}(ft,e)}({dsn:"https://9638de4372be4acebf892d0732a86a4a@sentry.io/1450204"});var Ot=function(e){var t=e.children;return a.a.createElement(s.StaticQuery,{query:"3649515864",render:function(){return a.a.createElement("div",{className:"layout"},a.a.createElement(q,null),a.a.createElement("main",{id:"mf-main"},t),a.a.createElement(y,null))},data:W})},kt=n("Tfnq"),Tt=n("qhky"),Rt=function(e){var t=e.description,n=void 0===t?"":t,r=e.lang,i=void 0===r?"zh":r,o=e.meta,c=void 0===o?[]:o,l=e.keywords,u=void 0===l?[]:l,f=e.title,d=void 0===f?"":f,p=e.exactTitle,h=void 0!==p&&p;return a.a.createElement(s.StaticQuery,{query:Lt,render:function(e){var t=e.site.siteMetadata,r=n||t.description,o=u.length?u:t.keywords,s=[{name:"description",content:r},{property:"og:title",content:d?"".concat(d," | ").concat(t.title):t.title},{property:"og:description",content:r},{property:"og:type",content:"website"},{name:"twitter:card",content:"summary"},{name:"twitter:creator",content:t.author},{name:"twitter:title",content:d},{name:"twitter:description",content:r},{name:"keywords",content:o.join(",")}].concat(c),l=h?"":"%s | ".concat(t.title);return a.a.createElement(Tt.a,{htmlAttributes:{lang:i},title:d,titleTemplate:l,meta:s})},data:kt})},Lt="2277278352",It=function(e){var t=e.id,n=e.title,r=e.children,i="".concat(n," | 工具");return a.a.createElement(Ot,null,a.a.createElement(Rt,{title:i}),a.a.createElement("div",{className:"mf-content lab-item",id:t},a.a.createElement("article",null,a.a.createElement("a",{href:"/toolbox",className:"back"},"« Back"),r)))}},O1i0:function(e,t,n){var r=n("BjK0");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},QqgB:function(e,t,n){},SGlo:function(e,t,n){"use strict";var r=n("rj/q"),i=n("N+BI").getWeak,o=n("1a8y"),a=n("BjK0"),s=n("xa9o"),c=n("yde8"),l=n("Wadk"),u=n("qDzq"),f=n("O1i0"),d=l(5),p=l(6),h=0,g=function(e){return e._l||(e._l=new b)},b=function(){this.a=[]},m=function(e,t){return d(e.a,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=m(this,e);if(t)return t[1]},has:function(e){return!!m(this,e)},set:function(e,t){var n=m(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,(function(t){return t[0]===e}));return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e((function(e,r){s(e,l,t,"_i"),e._t=t,e._i=h++,e._l=void 0,null!=r&&c(r,n,e[o],e)}));return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?g(f(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?g(f(this,t)).has(e):n&&u(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?g(e).set(t,n):r[e._i]=n,e},ufstore:g}},Sc3u:function(e,t,n){"use strict";if(n("QPJK")){var r=n("939K"),i=n("emib"),o=n("96qb"),a=n("P8UN"),s=n("Jegl"),c=n("voZr"),l=n("ot9L"),u=n("xa9o"),f=n("pSXQ"),d=n("8wc8"),p=n("rj/q"),h=n("1Llc"),g=n("kiRH"),b=n("gx6d"),m=n("dTG6"),y=n("kxs/"),v=n("qDzq"),_=n("aHWV"),E=n("BjK0"),S=n("DFzH"),w=n("BuzY"),j=n("nsRs"),x=n("ltAs"),O=n("chL8").f,k=n("U9/z"),T=n("UEZ0"),R=n("sOol"),L=n("Wadk"),I=n("Ar2q"),C=n("Ioy3"),N=n("Dq+y"),A=n("m+kh"),U=n("vUMq"),P=n("to/b"),M=n("Y++M"),D=n("cRJv"),F=n("rjfK"),B=n("Drra"),H=F.f,q=B.f,W=i.RangeError,$=i.TypeError,Y=i.Uint8Array,z=Array.prototype,J=c.ArrayBuffer,V=c.DataView,G=L(0),K=L(2),X=L(3),Q=L(4),Z=L(5),ee=L(6),te=I(!0),ne=I(!1),re=N.values,ie=N.keys,oe=N.entries,ae=z.lastIndexOf,se=z.reduce,ce=z.reduceRight,le=z.join,ue=z.sort,fe=z.slice,de=z.toString,pe=z.toLocaleString,he=R("iterator"),ge=R("toStringTag"),be=T("typed_constructor"),me=T("def_constructor"),ye=s.CONSTR,ve=s.TYPED,_e=s.VIEW,Ee=L(1,(function(e,t){return Oe(C(e,e[me]),t)})),Se=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),we=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),je=function(e,t){var n=h(e);if(n<0||n%t)throw W("Wrong offset!");return n},xe=function(e){if(E(e)&&ve in e)return e;throw $(e+" is not a typed array!")},Oe=function(e,t){if(!E(e)||!(be in e))throw $("It is not a typed array constructor!");return new e(t)},ke=function(e,t){return Te(C(e,e[me]),t)},Te=function(e,t){for(var n=0,r=t.length,i=Oe(e,r);r>n;)i[n]=t[n++];return i},Re=function(e,t,n){H(e,t,{get:function(){return this._d[n]}})},Le=function(e){var t,n,r,i,o,a,s=S(e),c=arguments.length,u=c>1?arguments[1]:void 0,f=void 0!==u,d=k(s);if(null!=d&&!w(d)){for(a=d.call(s),r=[],t=0;!(o=a.next()).done;t++)r.push(o.value);s=r}for(f&&c>2&&(u=l(u,arguments[2],2)),t=0,n=g(s.length),i=Oe(this,n);n>t;t++)i[t]=f?u(s[t],t):s[t];return i},Ie=function(){for(var e=0,t=arguments.length,n=Oe(this,t);t>e;)n[e]=arguments[e++];return n},Ce=!!Y&&o((function(){pe.call(new Y(1))})),Ne=function(){return pe.apply(Ce?fe.call(xe(this)):xe(this),arguments)},Ae={copyWithin:function(e,t){return D.call(xe(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return Q(xe(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(xe(this),arguments)},filter:function(e){return ke(this,K(xe(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return Z(xe(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(xe(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){G(xe(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(xe(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(xe(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return le.apply(xe(this),arguments)},lastIndexOf:function(e){return ae.apply(xe(this),arguments)},map:function(e){return Ee(xe(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(xe(this),arguments)},reduceRight:function(e){return ce.apply(xe(this),arguments)},reverse:function(){for(var e,t=xe(this).length,n=Math.floor(t/2),r=0;r<n;)e=this[r],this[r++]=this[--t],this[t]=e;return this},some:function(e){return X(xe(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return ue.call(xe(this),e)},subarray:function(e,t){var n=xe(this),r=n.length,i=m(e,r);return new(C(n,n[me]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,g((void 0===t?r:m(t,r))-i))}},Ue=function(e,t){return ke(this,fe.call(xe(this),e,t))},Pe=function(e){xe(this);var t=je(arguments[1],1),n=this.length,r=S(e),i=g(r.length),o=0;if(i+t>n)throw W("Wrong length!");for(;o<i;)this[t+o]=r[o++]},Me={entries:function(){return oe.call(xe(this))},keys:function(){return ie.call(xe(this))},values:function(){return re.call(xe(this))}},De=function(e,t){return E(e)&&e[ve]&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},Fe=function(e,t){return De(e,t=y(t,!0))?f(2,e[t]):q(e,t)},Be=function(e,t,n){return!(De(e,t=y(t,!0))&&E(n)&&v(n,"value"))||v(n,"get")||v(n,"set")||n.configurable||v(n,"writable")&&!n.writable||v(n,"enumerable")&&!n.enumerable?H(e,t,n):(e[t]=n.value,e)};ye||(B.f=Fe,F.f=Be),a(a.S+a.F*!ye,"Object",{getOwnPropertyDescriptor:Fe,defineProperty:Be}),o((function(){de.call({})}))&&(de=pe=function(){return le.call(this)});var He=p({},Ae);p(He,Me),d(He,he,Me.values),p(He,{slice:Ue,set:Pe,constructor:function(){},toString:de,toLocaleString:Ne}),Re(He,"buffer","b"),Re(He,"byteOffset","o"),Re(He,"byteLength","l"),Re(He,"length","e"),H(He,ge,{get:function(){return this[ve]}}),e.exports=function(e,t,n,c){var l=e+((c=!!c)?"Clamped":"")+"Array",f="get"+e,p="set"+e,h=i[l],m=h||{},y=h&&x(h),v=!h||!s.ABV,S={},w=h&&h.prototype,k=function(e,n){H(e,n,{get:function(){return function(e,n){var r=e._d;return r.v[f](n*t+r.o,Se)}(this,n)},set:function(e){return function(e,n,r){var i=e._d;c&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[p](n*t+i.o,r,Se)}(this,n,e)},enumerable:!0})};v?(h=n((function(e,n,r,i){u(e,h,l,"_d");var o,a,s,c,f=0,p=0;if(E(n)){if(!(n instanceof J||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return ve in n?Te(h,n):Le.call(h,n);o=n,p=je(r,t);var m=n.byteLength;if(void 0===i){if(m%t)throw W("Wrong length!");if((a=m-p)<0)throw W("Wrong length!")}else if((a=g(i)*t)+p>m)throw W("Wrong length!");s=a/t}else s=b(n),o=new J(a=s*t);for(d(e,"_d",{b:o,o:p,l:a,e:s,v:new V(o)});f<s;)k(e,f++)})),w=h.prototype=j(He),d(w,"constructor",h)):o((function(){h(1)}))&&o((function(){new h(-1)}))&&U((function(e){new h,new h(null),new h(1.5),new h(e)}),!0)||(h=n((function(e,n,r,i){var o;return u(e,h,l),E(n)?n instanceof J||"ArrayBuffer"==(o=_(n))||"SharedArrayBuffer"==o?void 0!==i?new m(n,je(r,t),i):void 0!==r?new m(n,je(r,t)):new m(n):ve in n?Te(h,n):Le.call(h,n):new m(b(n))})),G(y!==Function.prototype?O(m).concat(O(y)):O(m),(function(e){e in h||d(h,e,m[e])})),h.prototype=w,r||(w.constructor=h));var T=w[he],R=!!T&&("values"==T.name||null==T.name),L=Me.values;d(h,be,!0),d(w,ve,l),d(w,_e,!0),d(w,me,h),(c?new h(1)[ge]==l:ge in w)||H(w,ge,{get:function(){return l}}),S[l]=h,a(a.G+a.W+a.F*(h!=m),S),a(a.S,l,{BYTES_PER_ELEMENT:t}),a(a.S+a.F*o((function(){m.of.call(h,1)})),l,{from:Le,of:Ie}),"BYTES_PER_ELEMENT"in w||d(w,"BYTES_PER_ELEMENT",t),a(a.P,l,Ae),P(l),a(a.P+a.F*we,l,{set:Pe}),a(a.P+a.F*!R,l,Me),r||w.toString==de||(w.toString=de),a(a.P+a.F*o((function(){new h(1).slice()})),l,{slice:Ue}),a(a.P+a.F*(o((function(){return[1,2].toLocaleString()!=new h([1,2]).toLocaleString()}))||!o((function(){w.toLocaleString.call([1,2])}))),l,{toLocaleString:Ne}),A[l]=R?T:L,r||R||d(w,he,L)}}else e.exports=function(){}},Tfnq:function(e){e.exports=JSON.parse('{"data":{"site":{"siteMetadata":{"title":"童话说","description":"Washington Hua 的个人博客,专注大前端技术","author":"Washington Hua","keywords":["thewashingtonhua","github","front-end","javascript","typescript","react","node","washington","hua","童话","童话说","前端","博客","技术","计算机","互联网"]}}}}')},ToIb:function(e,t,n){"use strict";var r=n("6PSD"),i=n("O1i0");e.exports=n("94Pd")("Set",(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},Wgwc:function(e,t,n){n("q8oJ"),n("8npG"),n("Ll4R"),n("pJf4"),n("HQhv"),n("sC2a"),n("YBKJ"),e.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",i="day",o="week",a="month",s="quarter",c="year",l=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,u=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},d={s:f,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+f(r,2,"0")+":"+f(i,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),i=t-r<0,o=e.clone().add(n+(i?-1:1),a);return Number(-(n+(t-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(l){return{M:a,y:c,w:o,d:i,D:"date",h:r,m:n,s:t,ms:e,Q:s}[l]||String(l||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",g={};g[h]=p;var b=function(e){return e instanceof _},m=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)g[e]&&(r=e),t&&(g[e]=t,r=e);else{var i=e.name;g[i]=e,r=i}return!n&&r&&(h=r),r||!n&&h},y=function(e,t){if(b(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new _(n)},v=d;v.l=m,v.i=b,v.w=function(e,t){return y(e,{locale:t.$L,utc:t.$u,$offset:t.$offset})};var _=function(){function f(e){this.$L=this.$L||m(e.locale,null,!0),this.parse(e)}var d=f.prototype;return d.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(l);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},d.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},d.$utils=function(){return v},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(e,t){var n=y(e);return this.startOf(t)<=n&&n<=this.endOf(t)},d.isAfter=function(e,t){return y(e)<this.startOf(t)},d.isBefore=function(e,t){return this.endOf(t)<y(e)},d.$g=function(e,t,n){return v.u(e)?this[t]:this.set(n,e)},d.year=function(e){return this.$g(e,"$y",c)},d.month=function(e){return this.$g(e,"$M",a)},d.day=function(e){return this.$g(e,"$W",i)},d.date=function(e){return this.$g(e,"$D","date")},d.hour=function(e){return this.$g(e,"$H",r)},d.minute=function(e){return this.$g(e,"$m",n)},d.second=function(e){return this.$g(e,"$s",t)},d.millisecond=function(t){return this.$g(t,"$ms",e)},d.unix=function(){return Math.floor(this.valueOf()/1e3)},d.valueOf=function(){return this.$d.getTime()},d.startOf=function(e,s){var l=this,u=!!v.u(s)||s,f=v.p(e),d=function(e,t){var n=v.w(l.$u?Date.UTC(l.$y,t,e):new Date(l.$y,t,e),l);return u?n:n.endOf(i)},p=function(e,t){return v.w(l.toDate()[e].apply(l.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),l)},h=this.$W,g=this.$M,b=this.$D,m="set"+(this.$u?"UTC":"");switch(f){case c:return u?d(1,0):d(31,11);case a:return u?d(1,g):d(0,g+1);case o:var y=this.$locale().weekStart||0,_=(h<y?h+7:h)-y;return d(u?b-_:b+(6-_),g);case i:case"date":return p(m+"Hours",0);case r:return p(m+"Minutes",1);case n:return p(m+"Seconds",2);case t:return p(m+"Milliseconds",3);default:return this.clone()}},d.endOf=function(e){return this.startOf(e,!1)},d.$set=function(o,s){var l,u=v.p(o),f="set"+(this.$u?"UTC":""),d=(l={},l.day=f+"Date",l.date=f+"Date",l[a]=f+"Month",l[c]=f+"FullYear",l[r]=f+"Hours",l[n]=f+"Minutes",l[t]=f+"Seconds",l[e]=f+"Milliseconds",l)[u],p=u===i?this.$D+(s-this.$W):s;if(u===a||u===c){var h=this.clone().set("date",1);h.$d[d](p),h.init(),this.$d=h.set("date",Math.min(this.$D,h.daysInMonth())).toDate()}else d&&this.$d[d](p);return this.init(),this},d.set=function(e,t){return this.clone().$set(e,t)},d.get=function(e){return this[v.p(e)]()},d.add=function(e,s){var l,u=this;e=Number(e);var f=v.p(s),d=function(t){var n=y(u);return v.w(n.date(n.date()+Math.round(t*e)),u)};if(f===a)return this.set(a,this.$M+e);if(f===c)return this.set(c,this.$y+e);if(f===i)return d(1);if(f===o)return d(7);var p=(l={},l[n]=6e4,l[r]=36e5,l[t]=1e3,l)[f]||1,h=this.$d.getTime()+e*p;return v.w(h,this)},d.subtract=function(e,t){return this.add(-1*e,t)},d.format=function(e){var t=this;if(!this.isValid())return"Invalid Date";var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=v.z(this),i=this.$locale(),o=this.$H,a=this.$m,s=this.$M,c=i.weekdays,l=i.months,f=function(e,r,i,o){return e&&(e[r]||e(t,n))||i[r].substr(0,o)},d=function(e){return v.s(o%12||12,e,"0")},p=i.meridiem||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r},h={YY:String(this.$y).slice(-2),YYYY:this.$y,M:s+1,MM:v.s(s+1,2,"0"),MMM:f(i.monthsShort,s,l,3),MMMM:f(l,s),D:this.$D,DD:v.s(this.$D,2,"0"),d:String(this.$W),dd:f(i.weekdaysMin,this.$W,c,2),ddd:f(i.weekdaysShort,this.$W,c,3),dddd:c[this.$W],H:String(o),HH:v.s(o,2,"0"),h:d(1),hh:d(2),a:p(o,a,!0),A:p(o,a,!1),m:String(a),mm:v.s(a,2,"0"),s:String(this.$s),ss:v.s(this.$s,2,"0"),SSS:v.s(this.$ms,3,"0"),Z:r};return n.replace(u,(function(e,t){return t||h[e]||r.replace(":","")}))},d.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},d.diff=function(e,i,l){var u,f=v.p(i),d=y(e),p=6e4*(d.utcOffset()-this.utcOffset()),h=this-d,g=v.m(this,d);return g=(u={},u[c]=g/12,u[a]=g,u[s]=g/3,u[o]=(h-p)/6048e5,u.day=(h-p)/864e5,u[r]=h/36e5,u[n]=h/6e4,u[t]=h/1e3,u)[f]||h,l?g:v.a(g)},d.daysInMonth=function(){return this.endOf(a).$D},d.$locale=function(){return g[this.$L]},d.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=m(e,t,!0);return r&&(n.$L=r),n},d.clone=function(){return v.w(this.$d,this)},d.toDate=function(){return new Date(this.valueOf())},d.toJSON=function(){return this.isValid()?this.toISOString():null},d.toISOString=function(){return this.$d.toISOString()},d.toString=function(){return this.$d.toUTCString()},f}();return y.prototype=_.prototype,y.extend=function(e,t){return e(t,_,y),y},y.locale=m,y.isDayjs=b,y.unix=function(e){return y(1e3*e)},y.en=g[h],y.Ls=g,y}()},Xifz:function(e,t,n){},"Y++M":function(e,t,n){"use strict";var r=n("DFzH"),i=n("dTG6"),o=n("kiRH");e.exports=function(e){for(var t=r(this),n=o(t.length),a=arguments.length,s=i(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,l=void 0===c?n:i(c,n);l>s;)t[s++]=e;return t}},YBKJ:function(e,t,n){"use strict";var r=n("emib"),i=n("qDzq"),o=n("CCE/"),a=n("TUPI"),s=n("kxs/"),c=n("96qb"),l=n("chL8").f,u=n("Drra").f,f=n("rjfK").f,d=n("EU/P").trim,p=r.Number,h=p,g=p.prototype,b="Number"==o(n("nsRs")(g)),m="trim"in String.prototype,y=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){var n,r,i,o=(t=m?t.trim():d(t,3)).charCodeAt(0);if(43===o||45===o){if(88===(n=t.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,c=t.slice(2),l=0,u=c.length;l<u;l++)if((a=c.charCodeAt(l))<48||a>i)return NaN;return parseInt(c,r)}}return+t};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof p&&(b?c((function(){g.valueOf.call(n)})):"Number"!=o(n))?a(new h(y(t)),n,p):y(t)};for(var v,_=n("QPJK")?l(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),E=0;_.length>E;E++)i(h,v=_[E])&&!i(p,v)&&f(p,v,u(h,v));p.prototype=g,g.constructor=p,n("IYdN")(r,"Number",p)}},YbXK:function(e,t,n){"use strict";var r=n("ouCZ")(!0);n("ZFV6")(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},YpWj:function(e){e.exports=JSON.parse('{"data":{"site":{"siteMetadata":{"title":"童话说","keywords":["thewashingtonhua","github","front-end","javascript","typescript","react","node","washington","hua","童话","童话说","前端","博客","技术","计算机","互联网"]}},"allMarkdownRemark":{"totalCount":84,"edges":[{"node":{"id":"899b40b6-931d-5582-8849-ad164824a190","frontmatter":{"title":"阿里云盘","description":"个人网盘","tags":null,"cover":{"publicURL":"/static/d42b88ce13a4592608ec8325f693ecb3/adrive.jpg"},"from":"2020-12-01","to":"","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"阿里云盘 简介 阿里云盘(aDrive)是阿里云出品的一款网盘服务,由 Teambition 网盘原班人马打造,早期以不限速为主要卖点,直击此前网盘市场饱受诟病的限速问题。征途是想成为一个数字世界的平台。 这个项目也是我从头开始参与的一个项目,除了传统的 Web…","fields":{"id":"adrive","slug":"/project/adrive","type":"project","date":null}}},{"node":{"id":"a18d8b3f-fe18-59c1-bcc1-fcd84958e624","frontmatter":{"title":"FBC","description":"联合办公空间的会员服务","tags":null,"cover":{"publicURL":"/static/73b8b250e607c97c493edf1b542345fa/fbc.jpg"},"from":"2017-04-01","to":"2017-06-01","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"FBC 简介 FBC 会员服务 Web App,设计用于微信端,会员可通过该 App 进行会议室预约、吧台自助消费等会员服务。 基于 Vue 2.x 开发的 SPA,基于 Axios 封装了 HTTP 客户端,使用 SCSS + PostCSS 编写样式,使用 Karma…","fields":{"id":"fbc","slug":"/project/fbc","type":"project","date":null}}},{"node":{"id":"8b0f2e60-5e93-590c-8f0b-fdb1f9b60f72","frontmatter":{"title":"Fridge","description":"设计资产速查工具","tags":null,"cover":{"publicURL":"/static/97b869f04b74e763be87e4369e4690e3/fridge.jpg"},"from":"2020-05-10","to":"","series":null,"draft":false,"original":null,"category":"individual"},"excerpt":"Fridge 简介 Fridge 是一款设计资产速查工具,目前仅支持 Mac 端。通过 Fridge,设计师可以方便直观地向工程师交付设计资产、沟通设计细节。 项目最初的想法,源自我在 Teambition…","fields":{"id":"fridge","slug":"/project/fridge","type":"project","date":null}}},{"node":{"id":"d2e65cfa-f706-51de-a5af-b49346004338","frontmatter":{"title":"Github-Flutter","description":"基于 Flutter 的 Github 客户端","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2019-12-01","to":"2020-01-01","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"Github-Flutter 简介 基于 Flutter 开发的 Github 客户端。 周期 2019 年 12 月 - 2020 年 01 月 相关链接 线上地址 项目截图","fields":{"id":"github-flutter","slug":"/project/github-flutter","type":"project","date":null}}},{"node":{"id":"130b94e2-4a4c-5ff6-bcdd-f583151f8e9a","frontmatter":{"title":"影力所","description":"数字货币交易所","tags":null,"cover":{"publicURL":"/static/40ff0dfa20bfd2e8e2b2ea8abb900b5b/inex.jpg"},"from":"2018-01-01","to":"","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"影力所 简介 影力所(INEX,Influence Exchange)是一款泛娱乐领域的垂直数字资产交易所,用户可借助该平台进行数字货币的交易。 项目基于 React 16 开发,并已全面迁移至新版生命周期、Ref API,并应用了 ErrorBoundary、Fragment…","fields":{"id":"inex","slug":"/project/inex","type":"project","date":null}}},{"node":{"id":"d8972347-1404-5f3f-b52f-a96b5d18ad54","frontmatter":{"title":"CSS Scan","description":"VSCode 扩展,自动补全 CSS 变量","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2019-08-01","to":"2019-09-01","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"CSS Scan 简介 FBC 会员服务 Web App,设计用于微信端,会员可通过该 App 进行会议室预约、吧台自助消费等会员服务。 基于 Vue 2.x 开发的 SPA,基于 Axios 封装了 HTTP 客户端,使用 SCSS + PostCSS…","fields":{"id":"css-scan","slug":"/project/css-scan","type":"project","date":null}}},{"node":{"id":"1ef032fc-5cff-5d54-b043-5630c19726dd","frontmatter":{"title":"Teambition 网盘","description":"企业级网盘","tags":null,"cover":{"publicURL":"/static/a18be47f8ccb3a72f9a63b94e7e02a89/teamedia.jpg"},"from":"2020-04-01","to":"","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"Teambition 网盘 简介 Teambition 网盘,是 Teambition 出品的一款网盘应用,曾经是 Teambition 办公套件的一部分。后因战略原因停止运营,原班人马全部投入「阿里云盘」项目。 该项目由我作为前端的 App Owner,负责 Web 和 BFF…","fields":{"id":"teamedia","slug":"/project/teamedia","type":"project","date":null}}},{"node":{"id":"f939aecc-08da-5e52-be67-4204ba57a43f","frontmatter":{"title":"The Bookmark","description":"Chrome 书签管理器","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2019-09-01","to":"2019-10-01","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"The Bookmark 简介 多年下来收藏了好多的网页,尽管都分门别类整理到文件夹了,但用到的时候还是经常会找不到。于是尝试用 Chrome 的书签管理器进行一番整理,但发现功能太基础了,不够用,找了一圈 Extension Store…","fields":{"id":"the-bookmark","slug":"/project/the-bookmark","type":"project","date":null}}},{"node":{"id":"d1d07852-8bd0-5f2d-b71e-d581f89f6834","frontmatter":{"title":"The Renamer","description":"批量重命名文件","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2021-12-01","to":"","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"The Renamer 简介 批量重命名工具,基于 Electron 开发。 之前一直在用一款叫 Renamer 的工具,但自从更新到 macOS Monterey 之后就用不了了,看了下 App Store…","fields":{"id":"the-renamer","slug":"/project/the-renamer","type":"project","date":null}}},{"node":{"id":"69b8a9b0-5842-5f8a-af9e-7969ae9a52de","frontmatter":{"title":"The Favicon","description":"一站式 Favicon 解决方案","tags":null,"cover":{"publicURL":"/static/956c5d68ba30b313078082a832a80573/the-favicon.jpg"},"from":"2019-04-20","to":"2019-06-25","series":null,"draft":false,"original":null,"category":"individual"},"excerpt":"The Favicon 简介 一站式的 Favicon 生成工具,支持 Android、iOS、Web、Windows 等常见平台的规范,再也不用为了 favicon 的尺寸而到处找工具。 周期 2019 年 4 月 - 2019 年 6 月 相关链接 线上地址 项目截图","fields":{"id":"the-favicon","slug":"/project/the-favicon","type":"project","date":null}}},{"node":{"id":"e2e9ca5d-5451-5488-bbdb-95d2f726007d","frontmatter":{"title":"The Scanner","description":"可视化磁盘空间分析工具","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2019-11-01","to":"2019-12-01","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"The Scanner 简介 磁盘空间占用的扫描工具,基于 Electron 开发。 我文件比较多,所以经常遇到磁盘空间不够,需要清理的情况,但苦于找不到一款合适的工具。喜欢 SpaceSniffer 的图形化展示方式,但它只有 Windows 版。Mac…","fields":{"id":"the-scanner","slug":"/project/the-scanner","type":"project","date":null}}},{"node":{"id":"f9d819bd-ec6f-5208-babe-af3321b98849","frontmatter":{"title":"The Spoiler","description":"仿 QQ 影音「剧情连拍」","tags":null,"cover":{"publicURL":"/static/72e94c39ebb670dd23625675c0a22ace/blank.jpg"},"from":"2019-06-01","to":"2019-07-01","series":null,"draft":true,"original":null,"category":"individual"},"excerpt":"The Spoiler 简介 以前用 Windows 的时候我喜欢用 QQ…","fields":{"id":"the-spoiler","slug":"/project/the-spoiler","type":"project","date":null}}},{"node":{"id":"03ce08e4-747a-593a-a4b6-c3f880063ba2","frontmatter":{"title":"Thoughts 所思","description":"可协同的在线富文本编辑器","tags":null,"cover":{"publicURL":"/static/faff3495c115cab9b6fd951f3c6b96f9/thoughts.jpg"},"from":"2019-07-01","to":"","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"Thoughts 所思 简介 Thoughts 是 Teambition 出品的一款企业知识管理应用,如果你没听过的话,可以想一下语雀、飞书、Notion 等,跟他们是同类的。 项目基于 React + TypeScript 进行开发,Node 作为 BFF…","fields":{"id":"thoughts","slug":"/project/thoughts","type":"project","date":null}}},{"node":{"id":"66e250ec-9f77-59c4-89ad-62de1da8af4f","frontmatter":{"title":"阅流","description":"音视频资产管理与协同工作流平台","tags":null,"cover":{"publicURL":"/static/9714ee2418af11ae8e80156b953176e5/yueliu.jpg"},"from":"2017-08-01","to":"2017-10-01","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"阅流 简介 阅流(原名:新阅),一款音视频资产管理与协同工作流平台,中国版的 frame.io。主要功能包括:文件云存储、在线预览、分享、评论、标注、版本控制等。 项目使用 React 全家桶进行开发。借助 Canvas…","fields":{"id":"xinyue","slug":"/project/xinyue","type":"project","date":null}}},{"node":{"id":"96d8262a-1a3a-5d8d-927a-61a92af40bbb","frontmatter":{"title":"Xshowroom 买手圈","description":"时尚业专业买手服务平台","tags":null,"cover":{"publicURL":"/static/72ea2ae7921cb5aa0b3b4f56578ed2b9/xshowroom.jpg"},"from":"2016-03-01","to":"2017-03-01","series":null,"draft":false,"original":null,"category":"commercial"},"excerpt":"Xshowroom「买手圈」 简介 国内时尚业首个专业买手服务平台,基于 AngularJS 开发。 项目接手自前任团队,接手时所用技术栈为手写 CSS,且没有任何的依赖管理和自动化构建流。自接手,我引入了 SASS 进行 CSS 的模块化,使用 Gulp…","fields":{"id":"xshowroom","slug":"/project/xshowroom","type":"project","date":null}}},{"node":{"id":"6f90759d-2425-5cd2-b498-b62726e30328","frontmatter":{"title":"基于 Monorepo 的项目架构","description":"分久必合","tags":["architecture","monorepo","架构"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"Monorepo 优点 方便项目内的代码复用 优雅(相比独立 npm 包、npm link 等方案) 减少 node_modules 目录的大小(被拍扁了,所以重复安装少了) 缺点 从 Single-repo…","fields":{"id":"blog/draft/design-a-monorepo-project","slug":"/blog/blog/draft/design-a-monorepo-project","type":"blog","date":null}}},{"node":{"id":"ef1d93e7-33e6-5c26-8a0b-fcb475a4a7bd","frontmatter":{"title":"自己动手做一个播放器","description":"一潭看起来很浅的深水","tags":["media","video","audio"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"从标准开始","fields":{"id":"blog/draft/custom-media-player","slug":"/blog/blog/draft/custom-media-player","type":"blog","date":null}}},{"node":{"id":"cbeb2307-591f-54ae-8ff1-48f59949994d","frontmatter":{"title":"「童话说」又改版啦","description":"只为遇见更好的自己","tags":["blog","4.0","update"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"","fields":{"id":"blog/draft/introducing-ths-v4","slug":"/blog/blog/draft/introducing-ths-v4","type":"blog","date":null}}},{"node":{"id":"629e72b7-0c5b-5119-a4eb-2117f81c1c74","frontmatter":{"title":"让你的 Electron 应用更像原生","description":"青出于蓝,就得够蓝","tags":["electron"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"Inspired by Lotus","fields":{"id":"blog/draft/make-electron-app-like-native","slug":"/blog/blog/draft/make-electron-app-like-native","type":"blog","date":null}}},{"node":{"id":"d268eb02-e779-5455-920f-246feac07c7e","frontmatter":{"title":"聊聊前端架构","description":"前端如果只是写写页面的话,路就走窄了","tags":["architecture","架构"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"前端也要谈架构? 前端如何架构","fields":{"id":"blog/draft/frontend-architecture","slug":"/blog/blog/draft/frontend-architecture","type":"blog","date":null}}},{"node":{"id":"831f0b6d-239a-57bc-9df2-9515c8033613","frontmatter":{"title":"Fridge 背后的故事","description":"能动手的,咱们尽量别吵吵","tags":["electron","iconfont","svg","fridge"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"什么是 Fridge","fields":{"id":"blog/draft/story-behind-fridge","slug":"/blog/blog/draft/story-behind-fridge","type":"blog","date":null}}},{"node":{"id":"f7b25b63-8a8f-5c85-8d99-e6513c498f70","frontmatter":{"title":"多端 Web 应用实践","description":"去往梦想的路,总是坑坑洼洼的","tags":["cross-platform"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"业务场景 我们面对的业务场景是高度 web 化,多端的,有单品的,有集成的,面临的挑战是如何打造卓越web体验和高效研发(譬如通过技术沉淀,新技术,工具,研发模式迭代和更新,降低研发复杂度) From…","fields":{"id":"blog/draft/web-cross-platform-in-action","slug":"/blog/blog/draft/web-cross-platform-in-action","type":"blog","date":null}}},{"node":{"id":"06f78e85-6919-5c8b-acd3-87868117a0b8","frontmatter":{"title":"当我想要复用一些代码时","description":"懒惰真的是人类进步的最大动力","tags":["npm","monorepo","design pattern"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"复制粘贴 这是最简单的方法,尤其当代码片段并不大的时候。 老话说事不过三,当一段代码只有 2 处引用的时候,我可能并不会想着一定要抽取公共,因为投入产出比似乎并不高,虽然理论上抽取公共会更合理,但如果不这么做,问题也不大。这种状态会一直延续下去,直到出现我第…","fields":{"id":"blog/draft/when-i-want-to-reuse-some-code","slug":"/blog/blog/draft/when-i-want-to-reuse-some-code","type":"blog","date":null}}},{"node":{"id":"e48043ee-92d6-5f14-a21e-25316a24d6fc","frontmatter":{"title":"为什么我们总是在不断地造轮子","description":"圆的圆的圆的东西","tags":["thinking"],"cover":{"publicURL":"/static/120fefa8e824de66889cf2e45b746ebe/wheel.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"「造轮子」不是「发明轮子」 大家都知道「不要重复发明轮子」,但「发明轮子」和「造轮子」还是有区别的,前者是 0 到 1 的过程,后者是以别人的 1 为基础,造出自己的 1.x,乃至 2.x…","fields":{"id":"blog/draft/why-do-we-keep-building-wheels","slug":"/blog/blog/draft/why-do-we-keep-building-wheels","type":"blog","date":null}}},{"node":{"id":"235647b7-ab40-5666-8a43-5e3f0b84bc15","frontmatter":{"title":"金三银四,聊聊前端面试","description":"人嘛,总是在不断的试错中成长起来的","tags":["interview"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"写在前面 金三银四,又到了猎头冲 KPI 的时间了,那么正好,我们就来聊聊面试吧。 两年前,我在知乎上回答了一个问题,引起了不少关注。截止到发稿当天已经有 2K+ 的赞同,50…","fields":{"id":"thoughts-about-fe-interview","slug":"/blog/2022/03/01/thoughts-about-fe-interview","type":"blog","date":"2022-03-01"}}},{"node":{"id":"8605b9b5-c87c-561f-b9c5-eae2b52d86c1","frontmatter":{"title":"聊聊「深色模式」","description":"你说的黑不是黑,你说的暗是什么暗","tags":["design","dark"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"好好说话 首先我们要明确一个概念,「Dark Mode」是「深色模式」,不是「夜间模式」,不是「暗夜模式」,不是「黑色版」,这才是对当下流行的这种设计模式的正确理解。 深色模式 vs. 暗黑模式 Dark Mode is not \\"Dark\\" Mode 深色模式 vs…","fields":{"id":"dark-mode","slug":"/blog/2021/11/30/dark-mode","type":"blog","date":"2021-11-30"}}},{"node":{"id":"a8057f61-f41c-59b9-a6f0-20e928096314","frontmatter":{"title":"日志 - 软件系统的黑匣子","description":"前端如果只是写写页面的话,路就走窄了","tags":["log","日志"],"cover":{"publicURL":"/static/d221320d45d5d7ac530fe7af1ab4cd79/blank.jpg"},"from":null,"to":null,"series":"","draft":true,"original":true,"category":null},"excerpt":"为什么要记日志 如何记好日志 「埋点」和「监控」 埋点主要关注用户的使用习惯,例如 UV、PV…","fields":{"id":"log-black-box-for-software","slug":"/blog/2021/12/27/log-black-box-for-software","type":"blog","date":"2021-12-27"}}},{"node":{"id":"78accc1d-9509-5bb3-9dc5-f47e1f336faf","frontmatter":{"title":"设计一套乐观更新机制","description":"做人呐,最重要的就是乐观啦","tags":["design","optimistic","update"],"cover":{"publicURL":"/static/92603cdac7e5c420caea18ea2c459646/optimistic-update.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"202…","fields":{"id":"building-an-optimisic-update-mechanism","slug":"/blog/2020/07/13/building-an-optimisic-update-mechanism","type":"blog","date":"2020-07-13"}}},{"node":{"id":"f8010292-2ae9-55e9-8dc1-b161e1ed0e8e","frontmatter":{"title":"我的数组返回了啥","description":"功夫再高,一针下去也得倒","tags":["javascript","array"],"cover":{"publicURL":"/static/2cc085eb3cdf21f44644810589c3bd8a/array.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"今天我们来聊一个非常基础,但又很容易忘记的知识点:数组的返回值。 日常开发中,我们经常会用到一些 Array.prototype 上的方法对数组进行操作,比如:map、push、sort…","fields":{"id":"what-does-my-array-return","slug":"/blog/2020/12/07/what-does-my-array-return","type":"blog","date":"2020-12-07"}}},{"node":{"id":"cce39a0a-715e-52b1-9ffc-4bedcaa986f3","frontmatter":{"title":"一个非著名前端开发者的 2020","description":"继续,让进步发生","tags":["summary","2020","2021"],"cover":{"publicURL":"/static/40556f5636111e701f3949914488b854/summary-2020.jpg"},"from":null,"to":null,"series":"summary","draft":false,"original":true,"category":null},"excerpt":"2020 年过的比往年都快。相比往年,今年我的博客产量真的可怜。一直到 7 月份才写了一篇,一直到了 1…","fields":{"id":"summary-2020","slug":"/blog/2020/12/31/summary-2020","type":"blog","date":"2020-12-31"}}},{"node":{"id":"3a2d2bcd-1ecc-5974-9394-efb756f1f1a9","frontmatter":{"title":"你铁定已经知道的 ES 2020","description":"迟到,总比不到好","tags":["ecmascript","2020"],"cover":{"publicURL":"/static/5bbe9cbd4d341256fe533f89aa242cb6/es2020.jpg"},"from":null,"to":null,"series":"ecmascript","draft":false,"original":true,"category":null},"excerpt":"年底了,才想起来今年的 ES 版本还没正经看过。ES 标准的发展已经逐渐让人开始忘记其归属哪个版本了,只知道有这么个东西存在,至于 Babel 支持了没?TypeScript 支持了没?Chrome 支持了没?Node…","fields":{"id":"es-2020","slug":"/blog/2020/12/28/es-2020","type":"blog","date":"2020-12-28"}}},{"node":{"id":"a2307fdb-e855-5054-bb5c-5afcd8b4486b","frontmatter":{"title":"除了 SSR,就没有别的办法了吗","description":"当 MVVM 遇上 SEO,该如何是好","tags":["static","site","gatsby","pug"],"cover":{"publicURL":"/static/c2ac5cf49eafd77a1b2ce1fab7f53515/explore-static-site-generation.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"SSR 出啥事了 放心,SSR 没出事。 写这篇博客并不是想说 SSR…","fields":{"id":"explore-static-site-generation","slug":"/blog/2019/02/07/explore-static-site-generation","type":"blog","date":"2019-02-07"}}},{"node":{"id":"1c714ef9-56d1-5ce8-aa92-ad38fb776c27","frontmatter":{"title":"你可能已经知道的 ES 2018 和 2019","description":"好饭不怕晚","tags":["ecmascript","2018","2019"],"cover":{"publicURL":"/static/5646b4878e533cd7c725ce4c17984071/es2019.jpg"},"from":null,"to":null,"series":"ecmascript","draft":false,"original":true,"category":null},"excerpt":"标准这事儿吧…… ES 2019(ES 10)标准于年前正式发布,借此机会,我们来看看都有哪些特性有幸转正吧。顺带把 ES 2018 的内容也补一下。 ECMAScript 标准的制定过程,自 2015 年大改,至今已经是第 5 个年头了,想必大家都心里有数了。与 Java…","fields":{"id":"es2018-and-es2019","slug":"/blog/2019/02/11/es2018-and-es2019","type":"blog","date":"2019-02-11"}}},{"node":{"id":"36b1a9b7-cbb3-5603-8b82-4d208c3b8a90","frontmatter":{"title":"【译】我们为什么要写 super(props)?","description":"好像知道,又好像不知道","tags":["react"],"cover":{"publicURL":"/static/9fbf74366dc5b9e4aab57572a9f0470d/overreacted.jpg"},"from":null,"to":null,"series":"overreacted","draft":false,"original":false,"category":null},"excerpt":"原文地址:Why Do We Write super(props)? 原文作者:Dan Abramov 我听说 Hooks 最近很火。讽刺的是,我想以一些关于 class 组件的有趣故事来开始这个博客。怎样!(皮一下很开心) 这些小坑并不会影响你高效的使用 React…","fields":{"id":"why-do-we-write-super-props","slug":"/blog/2019/02/22/why-do-we-write-super-props","type":"blog","date":"2019-02-22"}}},{"node":{"id":"60328fae-7371-5510-8f73-e804ed636097","frontmatter":{"title":"如何 Think in Hooks","description":"差不多是时候该换换脑子了","tags":["react","hooks"],"cover":{"publicURL":"/static/26d13ef2591ee05a3c4bba7fc34daa88/think-in-hooks.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"喜迎 Hooks 正当中国人民还沉浸在过年的忙碌中,在世界的另一头,React 团队的小伙伴们一点也没闲着,他们写了 一篇博客 ,并借此正式发布了 Hooks —— 一个官方宣传了好久、开发者们也期待了好久的新特性。 Hooks 正式发布于 v16.8.…","fields":{"id":"how-to-think-in-hooks","slug":"/blog/2019/02/15/how-to-think-in-hooks","type":"blog","date":"2019-02-15"}}},{"node":{"id":"cee0c8aa-e571-5394-a0fa-84dedb9bd3c0","frontmatter":{"title":"【译】React 如何区分 Class 和 Function?","description":"所谓的简单,只是因为有人帮你把复杂的问题给解决掉了","tags":["react"],"cover":{"publicURL":"/static/9fbf74366dc5b9e4aab57572a9f0470d/overreacted.jpg"},"from":null,"to":null,"series":"overreacted","draft":false,"original":false,"category":null},"excerpt":"原文地址:How Does React Tell a Class from a Function? 原文作者:Dan Abramov 让我们来看一下这个以函数形式定义的 组件: React 也支持将他定义成一个类: (直到 最近,这是使用 state…","fields":{"id":"how-does-react-tell-a-class-from-a-function","slug":"/blog/2019/03/06/how-does-react-tell-a-class-from-a-function","type":"blog","date":"2019-03-06"}}},{"node":{"id":"1bd98cff-a13f-5d96-a821-4e8b172460f2","frontmatter":{"title":"探索 React 组件之间的生命周期","description":"有时候,生活就是一团麻","tags":["react","lifecycle"],"cover":{"publicURL":"/static/0edf69056144aaf512a28d0670b53b57/react-lifecycle.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"0)写在前面 React…","fields":{"id":"react-lifecycle","slug":"/blog/2019/05/02/react-lifecycle","type":"blog","date":"2019-05-02"}}},{"node":{"id":"4d37b609-e7b3-544a-9c20-f50ace245da1","frontmatter":{"title":"TypeScript 次日指南","description":"坑这种东西,是不会写在文档上的","tags":["typescript"],"cover":{"publicURL":"/static/8239307adc5ccdfc32320e1bcadb6300/typescript.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"杂谈 不知道是就我这样,还是大家也是,最近的内容圈子里关于 TypeScript 的文章满天飞,各种 TypeScript 有多好、多受欢迎,要不就是 TypeScript…","fields":{"id":"typescript-the-second-day","slug":"/blog/2019/07/28/typescript-the-second-day","type":"blog","date":"2019-07-28"}}},{"node":{"id":"1bca0d32-a7ee-5439-a55f-9d75e9426eb1","frontmatter":{"title":"重新 Think in Hooks","description":"忘记过去之所学,我们从头来过","tags":["react","hooks"],"cover":{"publicURL":"/static/f9fcd719dcab55af4a1ad3d3cfbe0585/rethink-in-hooks.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"为什么要重新来过? 我之前写过 一篇博客,介绍了 Class 组件的各个生命周期钩子函数在 Hooks 中对应的方案。那时 Hooks 刚刚发布,开发者最关心的莫过于代码的迁移问题,也就是怎么把现有的 Class 组件改造成 Hooks…","fields":{"id":"rethink-in-hooks","slug":"/blog/2019/05/27/rethink-in-hooks","type":"blog","date":"2019-05-27"}}},{"node":{"id":"38745745-24e5-5fd0-b893-a81ccdeed4e8","frontmatter":{"title":"TypeScript:又一个终将逝去的青春","description":"你,轰轰烈烈地来;你,平平淡淡地走。","tags":["typescript"],"cover":{"publicURL":"/static/b7b7642447ca6a5b28abf9f90bf06ef8/typescript-another-fading-youth.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"硬币的另一面 TypeScript 真的是太火了,伴随着 Vue 3 的登场,三大框架全面支持 TypeScript,全民学习 TypeScript 迎来新一波热潮,娱乐圈正式进入 TypeScript 新时代。 回头一看,娱乐圈像这样的头条还真不在少数,Flutter…","fields":{"id":"typescript-another-fading-youth","slug":"/blog/2019/10/10/typescript-another-fading-youth","type":"blog","date":"2019-10-10"}}},{"node":{"id":"1b946c8e-4515-5f6a-bff0-9d63a338fca9","frontmatter":{"title":"Homebrew 也有后悔药:回退一次小版本更新","description":"有了后悔药,可劲随便造","tags":["homebrew"],"cover":{"publicURL":"/static/2cd1cc709ca5d68b1a1fb9eb6283b820/homebrew.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"症状 原本只是一次例行的 Homebrew 更新,结果更新完 Yarn 挂了。查了下 Github,果然已经有人提了 Issue 。 更新导致的问题,回退版本就是了。但坑的是,Homebrew 不像 npm 可以指定任意历史版本,大部分的 formula…","fields":{"id":"how-to-downgrade-from-homebrew","slug":"/blog/2019/10/11/how-to-downgrade-from-homebrew","type":"blog","date":"2019-10-11"}}},{"node":{"id":"b5e8773f-6dff-512b-98df-725d27df8f4f","frontmatter":{"title":"每天一点ES6(14):Iterator","description":"遍历也能搞出花来,怎么遍历你说了算","tags":["ecmascript","2015","es6","javascript","iterator","generator"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"写在前面 这次轮到遍历了。其实 ES5 中就已经有好多种用于遍历的方法: 那么这次 ES6 又打算在遍历上搞什么花样劲? Iterator 算上 ES6 新引入的数据类型,JavaScript 原生用于表示集合的数据结构就有:Array、Object、Map、Set…","fields":{"id":"es6-daily-14-iterator","slug":"/blog/2018/02/28/es6-daily-14-iterator","type":"blog","date":"2018-02-28"}}},{"node":{"id":"e4cb7abe-3cde-5832-a981-7128e5c0d895","frontmatter":{"title":"一个非著名前端开发者的 2019","description":"感谢曾经努力的自己","tags":["summary","2019","2020"],"cover":{"publicURL":"/static/1011f23d2ed2635035a07878c03ed1da/summary-2019.jpg"},"from":null,"to":null,"series":"summary","draft":false,"original":true,"category":null},"excerpt":"终于,我走了 2019 年,可能是我职业生涯中最重要的一个转折点。 6月底,我终于离开了供职…","fields":{"id":"summary-2019","slug":"/blog/2019/12/31/summary-2019","type":"blog","date":"2019-12-31"}}},{"node":{"id":"ce78757a-076a-5b89-9be0-9ac597211f81","frontmatter":{"title":"每天一点ES6(15):Promise","description":"对你的承诺,永远不变","tags":["ecmascript","2015","es6","javascript","promise"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"写在前面 Promise 大概是 ES6 中最为人熟知的内容之一了,时至今日它已经成为了异步操作中事实上的新标准。 什么是 Promise Promise 和它的字面意思一样,代表着某种承诺,承诺未来某个时间会发生的事。Promise…","fields":{"id":"es6-daily-15-promise","slug":"/blog/2018/03/04/es6-daily-15-promise","type":"blog","date":"2018-03-04"}}},{"node":{"id":"4768bfd5-810a-597a-b108-4478ae7b0c62","frontmatter":{"title":"每天一点ES6(16):Generator","description":"一起来摩擦摩擦发电吧","tags":["ecmascript","2015","es6","javascript","promise"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"什么是 Generator ? Generator 函数是 ES6 引入的一种异步编程解决方案,在之前讲Iterator和Promise的时候有提到过。 Generator…","fields":{"id":"es6-daily-16-generator","slug":"/blog/2018/06/14/es6-daily-16-generator","type":"blog","date":"2018-06-14"}}},{"node":{"id":"f06b7a4d-10f9-5a92-be83-9e703c97b24a","frontmatter":{"title":"每天一点ES6(17):Async / Await","description":"异步?先等等!","tags":["ecmascript","2015","es6","javascript","async","await","generator"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"又一个异步解决方案 ES2015 在异步方面可谓是做足了贡献。之前我们已经介绍过了 Promise,一种可以让我们把异步操作写成链式调用的语法;就在上一篇,我们又介绍了 Generator…","fields":{"id":"es6-daily-17-async-await","slug":"/blog/2018/10/06/es6-daily-17-async-await","type":"blog","date":"2018-10-06"}}},{"node":{"id":"1459c3df-c925-54f1-b807-e4a212f2c4bd","frontmatter":{"title":"每天一点ES6(18):Class","description":"这回总没人质疑 JS 不是面向对象了吧?","tags":["ecmascript","2015","es6","javascript","class"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"过去 从我们学习 JavaScript 的第一天起,我们就被告知,JavaScript 是面向对象的,虽然它的语法和传统的 C 风格相去甚远,甚至有人并不认可 JavaScript 是面向对象的。但不管怎么说,这并不影响我们使用 JavaScript…","fields":{"id":"es6-daily-18-class","slug":"/blog/2018/12/17/es6-daily-18-class","type":"blog","date":"2018-12-17"}}},{"node":{"id":"ab6648bb-2a63-5907-9644-5bb1c03f3d13","frontmatter":{"title":"每天一点ES6(19):Module","description":"可能是 ES6 中对未来影响最大的一项改变","tags":["ecmascript","2015","es6","javascript","module","import","export"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"模块化 但凡有一定资历的开发者,对“模块化”的概念应该都非常熟悉了。C、PHP 有 、Java、Python 有 ,Ruby 有 ,连 CSS 都有 。然而 JavaScript 却一直都没有语言层面的模块化方案 —— 直到 ES…","fields":{"id":"es6-daily-19-module","slug":"/blog/2018/12/19/es6-daily-19-module","type":"blog","date":"2018-12-19"}}},{"node":{"id":"acaadd98-c9a3-5f8d-8592-9eb580993d5a","frontmatter":{"title":"解决 macOS 下 MySQL 2002 错误","description":"MySQL 真是个磨人的小妖精","tags":["mac","mysql","2002"],"cover":{"publicURL":"/static/6f1abf9c085f6538df6bced86e008157/mysql-error-2002.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"起因 最近在推进公司项目架构的前后端分离,正在做一个 Demo,要用到数据库,结果不知道是不是因为最近一次 macOS 更新的原因,MySQL…","fields":{"id":"mysql-error-2002","slug":"/blog/2017/02/07/mysql-error-2002","type":"blog","date":"2017-02-07"}}},{"node":{"id":"2980c140-8128-583c-b715-00c459639f74","frontmatter":{"title":"TradingView + WebSocket 脱坑指南","description":"让我来告诉你,K 线到底该怎么画","tags":["tradingview","chart","library","guide","websocket","webworker","ohlc","kchart"],"cover":{"publicURL":"/static/1ceaf53d99815784a18273970e741bfd/tradingview.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"0. 竟然被催更了 前两天公司领导居然提到我的博客,说我最近懒了,不更新了…… 趁放假,赶紧更新一轮……等等,什么时候这变成工作了? 1. TradingView 是个啥 今天咱们说个比较特别的 —— TradingView,这是一个专业的图表库,专门做 K 线图的,而 K…","fields":{"id":"tradingview-charting-library-simple-guide","slug":"/blog/2018/09/22/tradingview-charting-library-simple-guide","type":"blog","date":"2018-09-22"}}},{"node":{"id":"a320306e-d8c5-57d0-bccd-65654be47ebe","frontmatter":{"title":"记 new Date().toString() 的一个坑","description":"万万没想到,竟在这里踩了个坑……","tags":["javascript","date","tostring"],"cover":{"publicURL":"/static/e192283893c7e97feb631571134bb805/date-tostring.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"先从问题说起 最近接到客户反馈的一个 Bug,说一个页面显示不正常,控制台一开,果然 JS 报错,仔细一看,是项目里用到的 bootstrap-datetime 这么个老牌日期插件报的错。大概意思是说无法调用 undefined 的 slice…","fields":{"id":"a-pit-in-date-tostring","slug":"/blog/2017/03/08/a-pit-in-date-tostring","type":"blog","date":"2017-03-08"}}},{"node":{"id":"675cdc47-ff83-5d54-b1f6-9eb1ab727257","frontmatter":{"title":"一个非著名前端开发者的 2018","description":"资本寒冬大概是属燕子的吧,一到年末出现","tags":["summary","2018","2019"],"cover":{"publicURL":"/static/0e9c38c3d5d6b94d53a8dee2a7bdfbae/summary-2018.jpg"},"from":null,"to":null,"series":"summary","draft":false,"original":true,"category":null},"excerpt":"是的,我还没走 2018 年是我参加工作的第三年,过完这个年,我就整三年工龄了。 来到上海 3 年,在现东家也待了 3 年。…","fields":{"id":"summary-2018","slug":"/blog/2018/12/31/summary-2018","type":"blog","date":"2018-12-31"}}},{"node":{"id":"3d497cac-d699-51f6-a002-70934f8f6885","frontmatter":{"title":"iOS 下 click() 无效的问题","description":"iOS这个傲娇的小公举","tags":["ios","click"],"cover":{"publicURL":"/static/f79051a5758b8a973902b2e5d190b714/ios-click.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"最近用 Vue 做了个项目,其中涉及到头像上传的功能,在 Web 端典型的做法是把文件控件隐藏,然后点击上传按钮时候模拟点击文件控件: 在 Vue 中我也如法炮制了一版,在浏览器、Android 下测试都 OK 的,但在 iOS 下 却无法触发。查了下似乎是 iOS…","fields":{"id":"unable-to-trigger-click-on-ios","slug":"/blog/2017/03/31/unable-to-trigger-click-on-ios","type":"blog","date":"2017-03-31"}}},{"node":{"id":"48340073-afd2-514f-94c7-db3af2dc5796","frontmatter":{"title":"每天一点ES6(10):对象的扩展","description":"迟来的更新……","tags":["ecmascript","2015","es6","javascript","object"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"迟来的更新 想来这个系列上一次更新还是去年年底的时候……真心对不起日更的标题,这个 Flag 立大了……虽然时至今日 ES6 已经不再新鲜,不过自己挖的坑说什么也得填完,这一篇咱继续对象的扩展。 ES5 给对象加入了大量实用的方法,用于创建、枚举、封闭一个对象,ES…","fields":{"id":"es6-daily-10-object","slug":"/blog/2017/04/05/es6-daily-10-object","type":"blog","date":"2017-04-05"}}},{"node":{"id":"870a098a-b7e9-5ed2-bef5-f04a6b9f451f","frontmatter":{"title":"Leetcode 第一刷:Two Sum","description":"都闪开,我要开始装逼了","tags":["leetcode","two","sum"],"cover":{"publicURL":"/static/1aa86b8eea674fca29117e535cfba751/leetcode.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"So,我又来装逼了 前端面试不考算法……嗯,对于刚入行的新人这句话或许没啥大毛病,可一旦开始进阶了,算法早晚会成为瓶颈。于是乎,我开始了……新一轮的装逼之旅。 周围也有不少刷 Leetcode 的,这货和《编程之美》、《剑指Offer…","fields":{"id":"leetcode-01-two-sum","slug":"/blog/2017/04/11/leetcode-01-two-sum","type":"blog","date":"2017-04-11"}}},{"node":{"id":"9d030bff-d2d5-56ca-8bd6-4f994f728eee","frontmatter":{"title":"PHP 处理多源 CORS 的解决办法","description":"一个老生常谈的话题,碰到了顺便记录一下","tags":["php","cors"],"cover":{"publicURL":"/static/77fc63594cf3a06c31921df671acd258/cors.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"CORS 本不是什么新鲜事,也不是特别的难,但最近遇上一个跨域的问题,后端人员是个新手没经验,靠不住,没办法只好自己上。这里权当是个记录。 问题其实很简单,PHP 接口层实现 CORS 允许多个指定源访问(局域网地址、应用服务器域名等),直接上代码:","fields":{"id":"multi-origin-cors-with-php","slug":"/blog/2017/03/30/multi-origin-cors-with-php","type":"blog","date":"2017-03-30"}}},{"node":{"id":"6d2ed849-7eaf-57bb-b08e-89dc9bab9ce0","frontmatter":{"title":"每天一点ES6(11):Symbol","description":"原始类型家族的新成员","tags":["ecmascript","2015","es6","javascript","symbol"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"什么是 Symbol Symbol 是 ES6 中新增的一种原始数据类型,至此 JavsScript 共有 7 种原始数据类型:、、、、、、。 注意 array…","fields":{"id":"es6-daily-11-symbol","slug":"/blog/2017/07/02/es6-daily-11-symbol","type":"blog","date":"2017-07-02"}}},{"node":{"id":"070c2a8f-3033-5739-a1ff-0e54e104f1a6","frontmatter":{"title":"Webpack \\"Invalid Host Header\\"","description":"更新有风险,更新需谨慎……","tags":["webpack","dev","server","invalid","host"],"cover":{"publicURL":"/static/977bc2ebe23a9b6b10fdac4b470847b8/webpack-dev-server.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"一直以来都在用 Webpack 打包代码,配合 webpack-devserver 作 Hot Module Replacement 感觉棒棒哒,可以专心于程序逻辑,不用被无关紧要的琐事打扰。直到刚才…… 突如其来的问题 正和同事讨论一个技术问题,写了个 Demo…","fields":{"id":"webpack-dev-server-invalid-host-header","slug":"/blog/2017/05/04/webpack-dev-server-invalid-host-header","type":"blog","date":"2017-05-04"}}},{"node":{"id":"0ab1e422-9e2e-585d-8aee-2273e0715029","frontmatter":{"title":"每天一点ES6(12):Set 和 Map","description":"多余的,一概不要","tags":["ecmascript","2015","es6","javascript","map","set"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"Set,一个独一无二的数组 Set 是 ES6 中新增的一种数据类型,可以理解为一种特殊的数组,重点区别在于 Set 的成员值都是唯一的,绝对不会重复。 注意到上面代码中最后重复的 5 仅被 了一次,重复的值并未被添加。 Set 可以接受一个数组(或其他具有 Iterable…","fields":{"id":"es6-daily-12-set-and-map","slug":"/blog/2017/07/03/es6-daily-12-set-and-map","type":"blog","date":"2017-07-03"}}},{"node":{"id":"49b0f445-7cbd-5d20-86a3-dff801ff11ef","frontmatter":{"title":"Electron 安装出坑指南","description":"世界本无坑,用的人多了,也就有了坑","tags":["electron"],"cover":{"publicURL":"/static/a9838665d68ab68d327e48d8720bac3f/electron.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"Electron JS 越来越浪了,区区浏览器已经管不了这孩子了,一个没看住,就已经浪到原生客户端的地盘上去了,一边是开着 React Native 去找 iOS 和 Android 搞事情,一边又开着 Electron 想去单挑 WPF 和 Mac…","fields":{"id":"electron-install-guide","slug":"/blog/2017/07/06/electron-install-guide","type":"blog","date":"2017-07-06"}}},{"node":{"id":"af03b8b2-0679-5776-a6ee-2dcb39f7aec6","frontmatter":{"title":"ECMAScript 2017 正式到来","description":"ES 的世界开始日趋平静","tags":["ecmascript","2017","es8","javascript"],"cover":{"publicURL":"/static/77b7677386d27526bcb0b2687218f3f1/es2017.jpg"},"from":null,"to":null,"series":"ecmascript","draft":false,"original":true,"category":null},"excerpt":"不知不觉的到来 自打 ES2015 之后,ECMAScript 的发展就再没有什么特别大的动静,新特性加入得悄无声息,如果不是特意去关注,开发者们甚至都搞不清当前所用的新特性到底是哪一版引入的内容。不少特性在 ES201…","fields":{"id":"ecmascript-2017-is-here","slug":"/blog/2017/07/12/ecmascript-2017-is-here","type":"blog","date":"2017-07-12"}}},{"node":{"id":"1f254d7c-060e-52f9-af37-6824c1f0fe89","frontmatter":{"title":"童话说 V2.0 改版小结","description":"时隔多年,终于换新面貌了","tags":["blog","2.0","update"],"cover":{"publicURL":"/static/630ee6fc7ad1be564eebffb0e0dd447d/introducing-ths-v2.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"大更新!!! 不知名前端小站“童话说”自创立以来的第一次改版!发布啦!!! 大概全世界只有一个人会为此高兴吧……不管,照样庆祝!!! 大事记 截至本文之前,这个小站共经历了 233 次 commit,距离第一次提交已有 2 年…","fields":{"id":"introducing-ths-v2","slug":"/blog/2017/08/12/introducing-ths-v2","type":"blog","date":"2017-08-12"}}},{"node":{"id":"31e80902-e1a3-5bb7-a308-d7d01f260331","frontmatter":{"title":"TypeScript + Vue 踩坑纪实","description":"坑这种东西,多踩踩就平了","tags":["typescript","vue"],"cover":{"publicURL":"/static/fe6f5086d26293f21adf217a84141fd6/guide-for-vue-with-typescript.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"TypeScript 这个磨人的小妖精 讲到 TypeScript,那重点当然是在 Type 上。TypeScript 作为 JavaScript 的超集,在实现了主流 ECMAScript…","fields":{"id":"guide-for-vue-with-typescript","slug":"/blog/2017/10/26/guide-for-vue-with-typescript","type":"blog","date":"2017-10-26"}}},{"node":{"id":"1dcfd3d2-d775-5454-815d-2f289e2088b3","frontmatter":{"title":"Node.js 9.0.0 发布","description":"一转眼,又半年过去了","tags":["nodejs","release"],"cover":{"publicURL":"/static/86f3115cebbb8dd82646ff1d231fa317/nodejs-9-release.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"Node.js 发布计划 Node.js 从 5.0 开始一直遵循着半年一个大版本的发布周期,每年 4 月左右发布一个主版本号为偶数的 LTS(Long-Term-Support)版本,每年 10 月左右发布一个主版本号为奇数的非 LTS…","fields":{"id":"nodejs-9-release","slug":"/blog/2017/11/01/nodejs-9-release","type":"blog","date":"2017-11-01"}}},{"node":{"id":"479d9be7-97d4-5482-aab6-90a9b33052f9","frontmatter":{"title":"每天一点ES6(13):Proxy 和 Reflect","description":"对不起,有代理真就是可以为所欲为","tags":["ecmascript","2015","es6","javascript","proxy","reflect"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"写在前面 又好久没更了,这次来讲的是 ES…","fields":{"id":"es6-daily-13-proxy-and-reflect","slug":"/blog/2017/12/20/es6-daily-13-proxy-and-reflect","type":"blog","date":"2017-12-20"}}},{"node":{"id":"ba0a8dc4-e229-5632-9024-5a19823848f4","frontmatter":{"title":"每天一点ES6(1):概述","description":"伊艾斯6大法好,每天一点不会老!","tags":["ecmascript","2015","es6","javascript"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"本系列是对阮一峰老师的开源著作 《ES6 标准入门》 的学习笔记,通过博客的方式强迫自己将学到的东西解释给别人听,进而加深认识,同时也算为推广ES6贡献一点绵薄之力吧。 ES6是啥? ECMAScript 6(简称ES6)是 JavaScript 的最新标准,发布于 201…","fields":{"id":"es6-daily-01-intro","slug":"/blog/2016/01/24/es6-daily-01-intro","type":"blog","date":"2016-01-24"}}},{"node":{"id":"3d9678b9-4055-5296-8dad-32f261af39e3","frontmatter":{"title":"一个非著名前端开发者的 2017","description":"哎 ~ 又一年过去了","tags":["summary","2017","2018"],"cover":{"publicURL":"/static/0d96380257d25f6b398d9bc8e47af5a1/summary-2017.jpg"},"from":null,"to":null,"series":"summary","draft":false,"original":true,"category":null},"excerpt":"写在前面 当我准备写这篇博客的时候,我突然意识到:麻蛋,又一年过去了,我又老了一岁,去年定的目标又有一部分要延期处理了。 虽然年年都有被遗忘的小目标,但也还是有不少实现了的小目标的 过去这一年 2016 年是我正式参加工作的头一年,这一年里,我从一个只会 Bootstrap…","fields":{"id":"summary-2017","slug":"/blog/2017/12/29/summary-2017","type":"blog","date":"2017-12-29"}}},{"node":{"id":"feaa4abe-dead-5b26-aafd-2ba664077e0a","frontmatter":{"title":"每天一点ES6(2):let 和 const","description":"终于,JavaScript 也能用上块级作用域和常量了","tags":["ecmascript","2015","es6","javascript","let","const"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"let ES6 新增了 命令,用于声明变量,和 类似,区别在于用 声明的变量只在 所在的代码块内有效,不存在声明提前。因此当用 声明变量时,必须像在 Java/C++ 中那样,先声明后使用。(其实即便是在 ES…","fields":{"id":"es6-daily-02-let-and-const","slug":"/blog/2016/01/25/es6-daily-02-let-and-const","type":"blog","date":"2016-01-25"}}},{"node":{"id":"bad38d10-8840-5d4a-b8ee-7307eca7ff5f","frontmatter":{"title":"电梯调度算法","description":"上上下下的感受","tags":["elevator","algorithm","project"],"cover":{"publicURL":"/static/7b7f4cefe4c7bf293ff2cdb266af33d9/elevator.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"起源 之所以会想到这么个主题,纯粹是因为前两天坐电梯的时候,脑子里某条神经炸出来一团莫名的火花。灵感这东西,不定什么时候说来就来。 SCAN 调度算法 电梯调度的核心是 SCAN…","fields":{"id":"elevator","slug":"/blog/2016/02/16/elevator","type":"blog","date":"2016-02-16"}}},{"node":{"id":"431e4dd2-8cc9-5f84-b84b-c4c1eabd3b09","frontmatter":{"title":"每天一点ES6(3):解构赋值","description":"让你一次赋个够","tags":["ecmascript","2015","es6","javascript","destructuring"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"什么叫解构 所谓 解构(Destructuring) ,就是把数组或对象打散为一堆变量。 解构是 构造(Constructuring…","fields":{"id":"es6-daily-03-destructuring","slug":"/blog/2016/02/02/es6-daily-03-destructuring","type":"blog","date":"2016-02-02"}}},{"node":{"id":"78a4c0f1-f9a4-5abe-9fb0-fa0bdd0559f0","frontmatter":{"title":"每天一点ES6(4):Babel","description":"《圣经》的光辉,永恒!","tags":["ecmascript","2015","es6","javascript","babel","npm"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"打脸 好吧,这个系列已经从一开始的日更变成现在周更都未必做得到了,啪!啪!啪!打脸呐!!! 好,打脸完毕,下面我们来说正事儿。 ES6 无限好,就是用不了 尽管 ES6 发布有一阵子了,但各大浏览器的兼容工作才刚刚开始,最新版的 Chrome、Firefox、Safari…","fields":{"id":"es6-daily-04-babel","slug":"/blog/2016/02/19/es6-daily-04-babel","type":"blog","date":"2016-02-19"}}},{"node":{"id":"d951db07-68df-59f9-9cee-c441a69a70e3","frontmatter":{"title":"每天一点ES6(5):字符串的扩展","description":"不变的字符串现在更加多变了","tags":["ecmascript","2015","es6","javascript","string"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"继续打脸 呵呵呵呵呵,现在这个系列已经正式沦落为连作者也不知道啥时候更的节奏了…… 这次来讲讲字符串,ES6对 类扩展了一些函数,使得操作字符串更加的便捷,一些以往必须借助额外的 Javascript 代码才能实现的效果,现在有了现成的函数。 改进的 Unicode…","fields":{"id":"es6-daily-05-string","slug":"/blog/2016/04/05/es6-daily-05-string","type":"blog","date":"2016-04-05"}}},{"node":{"id":"140d4f03-33ff-5c2f-bc34-f3db45e4af68","frontmatter":{"title":"每天一点ES6(6):正则的扩展","description":"四字节 Unicode 的春天","tags":["ecmascript","2015","es6","javascript","regular","expression","regexp"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"终于这回不打脸了 难得日更了,这一回来讲正则。当然,这不是正则的基础教学,我们只关心 ES6 为 JavaScript 的正则带来的变化。 RegExp 构造函数 ES5 中,构造函数 的参数有两种形式: ES…","fields":{"id":"es6-daily-06-regexp","slug":"/blog/2016/04/06/es6-daily-06-regexp","type":"blog","date":"2016-04-06"}}},{"node":{"id":"42c4dde9-d4c0-508a-bed0-070004ef8069","frontmatter":{"title":"每天一点ES6(7):数值的扩展","description":"每一个数字都不能放过","tags":["ecmascript","2015","es6","javascript","number"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"二进制和八进制表示法 ES6 提供了二进制和八进制数的新写法,分别用前缀 (零必)和 (零欧)表示。 ES5 开始,严格模式下就不再允许使用前缀 ,ES6 进一步明确必须使用前缀 。 如果要将 和 前缀的字符串数值专为十进制,可以用 方法。 旧酒装进了新瓶子 ES…","fields":{"id":"es6-daily-07-number","slug":"/blog/2016/04/12/es6-daily-07-number","type":"blog","date":"2016-04-12"}}},{"node":{"id":"f9ed5267-cb6b-5bec-9610-b1e9f8e8ebc0","frontmatter":{"title":"每天一点ES6(8):数组的扩展","description":"别拿语法糖不当干粮","tags":["ecmascript","2015","es6","javascript","array"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"久违了的更新 不知不觉几个月就过去了,终于想到要更新了,下一次又不知道要等到什么时候了,毕竟连猴年马月都过去了…… 这一回我们来说说 ES6 中的数组。其实数组方面并没有太多实质性的改变,更多的是一些语法糖,对 ES…","fields":{"id":"es6-daily-08-array","slug":"/blog/2016/07/26/es6-daily-08-array","type":"blog","date":"2016-07-26"}}},{"node":{"id":"ab0b546a-515e-504e-92f2-5bc12544ed39","frontmatter":{"title":"每天一点ES6(9):函数的扩展","description":"博采众长的实用语法糖","tags":["ecmascript","2015","es6","javascript","function"],"cover":{"publicURL":"/static/0950334fb8899f1006423341cbfeecb9/es6daily.jpg"},"from":null,"to":null,"series":"es6daily","draft":false,"original":true,"category":null},"excerpt":"实用的语法糖 ES6 对函数的使用加入了不少比较实用的新特性,虽说依然还是语法糖,但确实比较实用的语法糖 函数参数默认值 ES6 原生支持在函数的参数列表中赋予默认值,当然此前通过在函数实现中对参数进行初始化也能实现同样的效果,但 ES…","fields":{"id":"es6-daily-09-function","slug":"/blog/2016/12/20/es6-daily-09-function","type":"blog","date":"2016-12-20"}}},{"node":{"id":"4da7c54c-1654-5479-8d6b-ce27531ec6ea","frontmatter":{"title":"5 分钟彻底明白 JSONP","description":"说穿了,其实没那么难","tags":["javascript","jsonp"],"cover":{"publicURL":"/static/f8f2d118b15646398f7d00e19eb17ff9/jsonp.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"JSONP 全称 JSON with Padding,用于解决AJAX跨域问题的一种方案(关于“同源策略”的具体内容这里就不赘述了,度娘足矣) 本着实用优先的原则,我们先给方案,再讲原理,赶时间的朋友只要看完下一节就可以了,想了解细节的可以顺序往下看完。 用 jQuery…","fields":{"id":"jsonp","slug":"/blog/2016/08/17/jsonp","type":"blog","date":"2016-08-17"}}},{"node":{"id":"2b011eae-b89b-5d41-9cf1-15025c9a6117","frontmatter":{"title":"一个非著名前端开发者的 2016","description":"回顾 2016,是充实的一年,不负青春。2017 加油继续!","tags":["summary","2016","2017"],"cover":{"publicURL":"/static/d4bc85d6ff1aa8985e03c3875f90ea51/summary-2016.jpg"},"from":null,"to":null,"series":"summary","draft":false,"original":true,"category":null},"excerpt":"再见2016 2016年眼看着就要过去了,回顾这一年,感觉还是相当充实的一年,赶上了好时候,收获也不少。 天时:这是最好的时代 自2014年HTML…","fields":{"id":"summary-2016","slug":"/blog/2016/12/31/summary-2016","type":"blog","date":"2016-12-31"}}},{"node":{"id":"fa129fb7-cea0-54ef-97d9-2cd0e7dc435f","frontmatter":{"title":"栈计算器","description":"通过“栈”实现的方程式计算器","tags":["stack","calculator","algorithm","project"],"cover":{"publicURL":"/static/256bbf9439e7f58974c946bc16f54832/stack-calculator.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"简单说两句 用栈实现计算器,这是数据结构中关于栈的一个经典案例,在很多数据结构的教材中也都有明确的算法说明。这里我们给出一个用 JavaScript…","fields":{"id":"stack-calculator","slug":"/blog/2015/02/10/stack-calculator","type":"blog","date":"2015-02-10"}}},{"node":{"id":"481787e1-0e84-58ba-932e-7c6584b7ea7c","frontmatter":{"title":"时间是什么颜色的","description":"如果时间有颜色……","tags":["color","time","project"],"cover":{"publicURL":"/static/03c874556dd31d9db5f30b7609751b92/tik-tok-color.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"简单说两句 最初在 这里 看到了这个案例,觉得挺有意思的,就尝试自己仿制了一个。 原理上讲其实很简单,将时间的值对应为颜色通道的数值,并通过视觉效果体现出来。原作仅为 RGB 模式,我在其基础之上还尝试了 HSL 模式和 CMYK 的效果,并支持…","fields":{"id":"tik-tok-color","slug":"/blog/2015/02/11/tik-tok-color","type":"blog","date":"2015-02-11"}}},{"node":{"id":"94f6b895-88ca-521e-8647-c0df5f922670","frontmatter":{"title":"使用 Sublime Text 编写 LaTeX","description":"用你最熟悉的工具来写 LaTeX 吧","tags":["sublime","latex"],"cover":{"publicURL":"/static/e7689b7e9fe6160a6ed614a10125ca29/latex-with-sublime-text.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"为什么要用 Sublime Text 大部分的 LaTeX 教程都会推荐使用 WinEdt、TexMake…","fields":{"id":"latex-with-sublime-text","slug":"/blog/2015/04/01/latex-with-sublime-text","type":"blog","date":"2015-04-01"}}},{"node":{"id":"bb0d4469-c33f-5b65-9dce-b9eaa84033a7","frontmatter":{"title":"MIUI 图标缓存问题","description":"离奇失踪的图标","tags":["android","miui","icon","cache"],"cover":{"publicURL":"/static/2e66c31a61d5319c1849ea082e8c80ee/miui-icon-cache.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"问题描述 为 Android 应用替换图标是一件非常容易的事,只需要替换 ic_launcher.png 即可,但在 MIUI…","fields":{"id":"miui-icon-cache","slug":"/blog/2015/04/18/miui-icon-cache","type":"blog","date":"2015-04-18"}}},{"node":{"id":"eae3570c-3509-5e64-bd53-a1ce138da4e5","frontmatter":{"title":"纯 CSS3 绘制月饼","description":"中秋佳节,用CSS3来画个月饼吧","tags":["css","mooncake","project"],"cover":{"publicURL":"/static/9aaefaae86216c79623893c080f1ccc2/css3-mooncake.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"用 CSS3 绘图并不是什么新鲜事,业内有很多大牛都已经尝试过。借着中秋,我们就来画个月饼试试吧。 PS:考虑到我并非学美术出身,美观度方面还请各位多多包涵。 PPS:建议使用 Chrome 浏览器(或其它 webkit、blink…","fields":{"id":"css3-mooncake","slug":"/blog/2015/09/27/css3-mooncake","type":"blog","date":"2015-09-27"}}},{"node":{"id":"b1595fb6-f219-5181-8272-64ed2e1efd07","frontmatter":{"title":"substr() 和 substring() 的区别","description":"两个函数,傻傻分不清楚","tags":["javascript","substr","substring","slice"],"cover":{"publicURL":"/static/289ad52fc38963e15549cd1dc24678e4/substring.jpg"},"from":null,"to":null,"series":"","draft":false,"original":true,"category":null},"excerpt":"JavaScript 中有两个非常常用但又非常容易混淆的函数: 和 ,两者都是 String 类型的方法,作用都是返回目标字符串的一个子串。 关于两者的详细文档可以参考:[MDN] String.prototype.substr 和 [MDN] String…","fields":{"id":"substr-and-substring","slug":"/blog/2015/05/15/substr-and-substring","type":"blog","date":"2015-05-15"}}}]}}}')},bmMU:function(e,t,n){n("Ll4R"),n("Ggvi"),n("q8oJ"),n("Kz6e"),n("klQ5"),n("ToIb"),n("rzGZ"),n("Dq+y"),n("8npG"),n("YbXK"),n("xJgp");var r="undefined"!=typeof Element,i="function"==typeof Map,o="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,t){try{return function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var s,c,l,u;if(Array.isArray(t)){if((s=t.length)!=n.length)return!1;for(c=s;0!=c--;)if(!e(t[c],n[c]))return!1;return!0}if(i&&t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(u=t.entries();!(c=u.next()).done;)if(!n.has(c.value[0]))return!1;for(u=t.entries();!(c=u.next()).done;)if(!e(c.value[1],n.get(c.value[0])))return!1;return!0}if(o&&t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(u=t.entries();!(c=u.next()).done;)if(!n.has(c.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((s=t.length)!=n.length)return!1;for(c=s;0!=c--;)if(t[c]!==n[c])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((s=(l=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(c=s;0!=c--;)if(!Object.prototype.hasOwnProperty.call(n,l[c]))return!1;if(r&&t instanceof Element)return!1;for(c=s;0!=c--;)if(("_owner"!==l[c]&&"__v"!==l[c]&&"__o"!==l[c]||!t.$$typeof)&&!e(t[l[c]],n[l[c]]))return!1;return!0}return t!=t&&n!=n}(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},cRJv:function(e,t,n){"use strict";var r=n("DFzH"),i=n("dTG6"),o=n("kiRH");e.exports=[].copyWithin||function(e,t){var n=r(this),a=o(n.length),s=i(e,a),c=i(t,a),l=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===l?a:i(l,a))-c,a-s),f=1;for(c<s&&s<c+u&&(f=-1,c+=u-1,s+=u-1);u-- >0;)c in n?n[s]=n[c]:delete n[s],s+=f,c+=f;return n}},eMsz:function(e,t,n){"use strict";var r,i=n("emib"),o=n("Wadk")(0),a=n("IYdN"),s=n("N+BI"),c=n("k5Iv"),l=n("SGlo"),u=n("BjK0"),f=n("O1i0"),d=n("O1i0"),p=!i.ActiveXObject&&"ActiveXObject"in i,h=s.getWeak,g=Object.isExtensible,b=l.ufstore,m=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(u(e)){var t=h(e);return!0===t?b(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(f(this,"WeakMap"),e,t)}},v=e.exports=n("94Pd")("WeakMap",m,y,l,!0,!0);d&&p&&(c((r=l.getConstructor(m,"WeakMap")).prototype,y),s.NEED=!0,o(["delete","has","get","set"],(function(e){var t=v.prototype,n=t[e];a(t,e,(function(t,i){if(u(t)&&!g(t)){this._f||(this._f=new r);var o=this._f[e](t,i);return"set"==e?this:o}return n.call(this,t,i)}))})))},edhK:function(e){e.exports=JSON.parse('{"data":{"placeholderImage":null}}')},enfU:function(e,t,n){},esxU:function(e,t,n){},f98A:function(e){e.exports=JSON.parse('{"data":{"site":{"siteMetadata":{"title":"童话说"}}}}')},gx6d:function(e,t,n){var r=n("1Llc"),i=n("kiRH");e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},h3Sa:function(e,t,n){n("Sc3u")("Uint16",2,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},hMsB:function(e,t,n){},lKc3:function(e,t,n){},m210:function(e,t,n){n("ovV4")("asyncIterator")},mrSG:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return c}));n("rzGZ"),n("m210"),n("6kNP"),n("8npG"),n("4DPX"),n("E5k/");var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function c(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}},n7j8:function(e,t,n){var r=n("P8UN");r(r.P,"Function",{bind:n("16Xr")})},nPje:function(e,t,n){},osXC:function(e,t,n){},pS08:function(e,t,n){var r=n("P8UN");r(r.S,"Object",{create:n("nsRs")})},q8oJ:function(e,t,n){"use strict";n("Kz6e");var r=n("1a8y"),i=n("lb9j"),o=n("QPJK"),a=/./.toString,s=function(e){n("IYdN")(RegExp.prototype,"toString",e,!0)};n("96qb")((function(){return"/a/b"!=a.call({source:"a",flags:"b"})}))?s((function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)})):"toString"!=a.name&&s((function(){return a.call(this)}))},qhky:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return ge}));n("HQhv"),n("sC2a"),n("E5k/"),n("m210"),n("4DPX"),n("rzGZ"),n("Dq+y"),n("8npG"),n("Ggvi");var r,i,o,a,s=n("17x9"),c=n.n(s),l=n("8+s/"),u=n.n(l),f=n("bmMU"),d=n.n(f),p=n("q1tI"),h=n.n(p),g=n("MgzW"),b=n.n(g),m="bodyAttributes",y="htmlAttributes",v="titleAttributes",_={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},E=(Object.keys(_).map((function(e){return _[e]})),"charset"),S="cssText",w="href",j="http-equiv",x="innerHTML",O="itemprop",k="name",T="property",R="rel",L="src",I="target",C={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},N="defaultTitle",A="defer",U="encodeSpecialCharacters",P="onChangeClientState",M="titleTemplate",D=Object.keys(C).reduce((function(e,t){return e[C[t]]=t,e}),{}),F=[_.NOSCRIPT,_.SCRIPT,_.STYLE],B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},q=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),W=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},Y=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},z=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},J=function(e){var t=Q(e,_.TITLE),n=Q(e,M);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=Q(e,N);return t||r||void 0},V=function(e){return Q(e,P)||function(){}},G=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return W({},e,t)}),{})},K=function(e,t){return t.filter((function(e){return void 0!==e[_.BASE]})).map((function(e){return e[_.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),i=0;i<r.length;i++){var o=r[i].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},X=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&re("Helmet: "+e+' should be of type "Array". Instead found type "'+B(t[e])+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var i={};n.filter((function(e){for(var n=void 0,o=Object.keys(e),a=0;a<o.length;a++){var s=o[a],c=s.toLowerCase();-1===t.indexOf(c)||n===R&&"canonical"===e[n].toLowerCase()||c===R&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(s)||s!==x&&s!==S&&s!==O||(n=s)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return r[n]||(r[n]={}),i[n]||(i[n]={}),!r[n][l]&&(i[n][l]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(i),a=0;a<o.length;a++){var s=o[a],c=b()({},r[s],i[s]);r[s]=c}return e}),[]).reverse()},Q=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},Z=(r=Date.now(),function(e){var t=Date.now();t-r>16?(r=t,e(t)):setTimeout((function(){Z(e)}),0)}),ee=function(e){return clearTimeout(e)},te="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||Z:e.requestAnimationFrame||Z,ne="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||ee:e.cancelAnimationFrame||ee,re=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},ie=null,oe=function(e,t){var n=e.baseTag,r=e.bodyAttributes,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,s=e.noscriptTags,c=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,f=e.title,d=e.titleAttributes;ce(_.BODY,r),ce(_.HTML,i),se(f,d);var p={baseTag:le(_.BASE,n),linkTags:le(_.LINK,o),metaTags:le(_.META,a),noscriptTags:le(_.NOSCRIPT,s),scriptTags:le(_.SCRIPT,l),styleTags:le(_.STYLE,u)},h={},g={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(h[e]=n),r.length&&(g[e]=p[e].oldTags)})),t&&t(),c(e,h,g)},ae=function(e){return Array.isArray(e)?e.join(""):e},se=function(e,t){void 0!==e&&document.title!==e&&(document.title=ae(e)),ce(_.TITLE,t)},ce=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-react-helmet"),i=r?r.split(","):[],o=[].concat(i),a=Object.keys(t),s=0;s<a.length;s++){var c=a[s],l=t[c]||"";n.getAttribute(c)!==l&&n.setAttribute(c,l),-1===i.indexOf(c)&&i.push(c);var u=o.indexOf(c);-1!==u&&o.splice(u,1)}for(var f=o.length-1;f>=0;f--)n.removeAttribute(o[f]);i.length===o.length?n.removeAttribute("data-react-helmet"):n.getAttribute("data-react-helmet")!==a.join(",")&&n.setAttribute("data-react-helmet",a.join(","))}},le=function(e,t){var n=document.head||document.querySelector(_.HEAD),r=n.querySelectorAll(e+"[data-react-helmet]"),i=Array.prototype.slice.call(r),o=[],a=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===x)n.innerHTML=t.innerHTML;else if(r===S)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var s=void 0===t[r]?"":t[r];n.setAttribute(r,s)}n.setAttribute("data-react-helmet","true"),i.some((function(e,t){return a=t,n.isEqualNode(e)}))?i.splice(a,1):o.push(n)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return n.appendChild(e)})),{oldTags:i,newTags:o}},ue=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[C[n]||n]=e[n],t}),t)},de=function(e,t,n){switch(e){case _.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})["data-react-helmet"]=!0,i=fe(n,r),[h.a.createElement(_.TITLE,i,e)];var e,n,r,i},toString:function(){return function(e,t,n,r){var i=ue(n),o=ae(t);return i?"<"+e+' data-react-helmet="true" '+i+">"+z(o,r)+"</"+e+">":"<"+e+' data-react-helmet="true">'+z(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case m:case y:return{toComponent:function(){return fe(t)},toString:function(){return ue(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,i=((r={key:n})["data-react-helmet"]=!0,r);return Object.keys(t).forEach((function(e){var n=C[e]||e;if(n===x||n===S){var r=t.innerHTML||t.cssText;i.dangerouslySetInnerHTML={__html:r}}else i[n]=t[e]})),h.a.createElement(e,i)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var i=Object.keys(r).filter((function(e){return!(e===x||e===S)})).reduce((function(e,t){var i=void 0===r[t]?t:t+'="'+z(r[t],n)+'"';return e?e+" "+i:i}),""),o=r.innerHTML||r.cssText||"",a=-1===F.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+i+(a?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},pe=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,s=e.noscriptTags,c=e.scriptTags,l=e.styleTags,u=e.title,f=void 0===u?"":u,d=e.titleAttributes;return{base:de(_.BASE,t,r),bodyAttributes:de(m,n,r),htmlAttributes:de(y,i,r),link:de(_.LINK,o,r),meta:de(_.META,a,r),noscript:de(_.NOSCRIPT,s,r),script:de(_.SCRIPT,c,r),style:de(_.STYLE,l,r),title:de(_.TITLE,{title:f,titleAttributes:d},r)}},he=u()((function(e){return{baseTag:K([w,I],e),bodyAttributes:G(m,e),defer:Q(e,A),encode:Q(e,U),htmlAttributes:G(y,e),linkTags:X(_.LINK,[R,w],e),metaTags:X(_.META,[k,E,j,T,O],e),noscriptTags:X(_.NOSCRIPT,[x],e),onChangeClientState:V(e),scriptTags:X(_.SCRIPT,[L,x],e),styleTags:X(_.STYLE,[S],e),title:J(e),titleAttributes:G(v,e)}}),(function(e){ie&&ne(ie),e.defer?ie=te((function(){oe(e,(function(){ie=null}))})):(oe(e),ie=null)}),pe)((function(){return null})),ge=(i=he,a=o=function(e){function t(){return H(this,t),Y(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!d()(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case _.SCRIPT:case _.NOSCRIPT:return{innerHTML:t};case _.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,i=e.newChildProps,o=e.nestedChildren;return W({},r,((t={})[n.type]=[].concat(r[n.type]||[],[W({},i,this.mapNestedChildrenToProps(n,o))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,i=e.newProps,o=e.newChildProps,a=e.nestedChildren;switch(r.type){case _.TITLE:return W({},i,((t={})[r.type]=a,t.titleAttributes=W({},o),t));case _.BODY:return W({},i,{bodyAttributes:W({},o)});case _.HTML:return W({},i,{htmlAttributes:W({},o)})}return W({},i,((n={})[r.type]=W({},o),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=W({},t);return Object.keys(e).forEach((function(t){var r;n=W({},n,((r={})[t]=e[t],r))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return h.a.Children.forEach(e,(function(e){if(e&&e.props){var i=e.props,o=i.children,a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[D[n]||n]=e[n],t}),t)}($(i,["children"]));switch(n.warnOnInvalidChildren(e,o),e.type){case _.LINK:case _.META:case _.NOSCRIPT:case _.SCRIPT:case _.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:a,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:a,nestedChildren:o})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=$(e,["children"]),r=W({},n);return t&&(r=this.mapChildrenToProps(t,r)),h.a.createElement(i,r)},q(t,null,[{key:"canUseDOM",set:function(e){i.canUseDOM=e}}]),t}(h.a.Component),o.propTypes={base:c.a.object,bodyAttributes:c.a.object,children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node]),defaultTitle:c.a.string,defer:c.a.bool,encodeSpecialCharacters:c.a.bool,htmlAttributes:c.a.object,link:c.a.arrayOf(c.a.object),meta:c.a.arrayOf(c.a.object),noscript:c.a.arrayOf(c.a.object),onChangeClientState:c.a.func,script:c.a.arrayOf(c.a.object),style:c.a.arrayOf(c.a.object),title:c.a.string,titleAttributes:c.a.object,titleTemplate:c.a.string},o.defaultProps={defer:!0,encodeSpecialCharacters:!0},o.peek=i.peek,o.rewind=function(){var e=i.rewind();return e||(e=pe({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},a);ge.renderStatic=ge.rewind}).call(this,n("yLpj"))},"t+fG":function(e,t,n){var r=n("P8UN"),i=n("96qb"),o=n("ap2Z"),a=/"/g,s=function(e,t,n,r){var i=String(o(e)),s="<"+t;return""!==n&&(s+=" "+n+'="'+String(r).replace(a,""")+'"'),s+">"+i+"</"+t+">"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3})),"String",n)}},uPAK:function(e,t,n){"use strict";var r=n("P8UN"),i=n("Phdo"),o=n("emib"),a=n("Ioy3"),s=n("Vce4");r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,i.Promise||o.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}})},voZr:function(e,t,n){"use strict";var r=n("emib"),i=n("QPJK"),o=n("939K"),a=n("Jegl"),s=n("8wc8"),c=n("rj/q"),l=n("96qb"),u=n("xa9o"),f=n("1Llc"),d=n("kiRH"),p=n("gx6d"),h=n("chL8").f,g=n("rjfK").f,b=n("Y++M"),m=n("dSuk"),y=r.ArrayBuffer,v=r.DataView,_=r.Math,E=r.RangeError,S=r.Infinity,w=y,j=_.abs,x=_.pow,O=_.floor,k=_.log,T=_.LN2,R=i?"_b":"buffer",L=i?"_l":"byteLength",I=i?"_o":"byteOffset";function C(e,t,n){var r,i,o,a=new Array(n),s=8*n-t-1,c=(1<<s)-1,l=c>>1,u=23===t?x(2,-24)-x(2,-77):0,f=0,d=e<0||0===e&&1/e<0?1:0;for((e=j(e))!=e||e===S?(i=e!=e?1:0,r=c):(r=O(k(e)/T),e*(o=x(2,-r))<1&&(r--,o*=2),(e+=r+l>=1?u/o:u*x(2,1-l))*o>=2&&(r++,o/=2),r+l>=c?(i=0,r=c):r+l>=1?(i=(e*o-1)*x(2,t),r+=l):(i=e*x(2,l-1)*x(2,t),r=0));t>=8;a[f++]=255&i,i/=256,t-=8);for(r=r<<t|i,s+=t;s>0;a[f++]=255&r,r/=256,s-=8);return a[--f]|=128*d,a}function N(e,t,n){var r,i=8*n-t-1,o=(1<<i)-1,a=o>>1,s=i-7,c=n-1,l=e[c--],u=127&l;for(l>>=7;s>0;u=256*u+e[c],c--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[c],c--,s-=8);if(0===u)u=1-a;else{if(u===o)return r?NaN:l?-S:S;r+=x(2,t),u-=a}return(l?-1:1)*r*x(2,u-t)}function A(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function U(e){return[255&e]}function P(e){return[255&e,e>>8&255]}function M(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function D(e){return C(e,52,8)}function F(e){return C(e,23,4)}function B(e,t,n){g(e.prototype,t,{get:function(){return this[n]}})}function H(e,t,n,r){var i=p(+n);if(i+t>e[L])throw E("Wrong index!");var o=e[R]._b,a=i+e[I],s=o.slice(a,a+t);return r?s:s.reverse()}function q(e,t,n,r,i,o){var a=p(+n);if(a+t>e[L])throw E("Wrong index!");for(var s=e[R]._b,c=a+e[I],l=r(+i),u=0;u<t;u++)s[c+u]=l[o?u:t-u-1]}if(a.ABV){if(!l((function(){y(1)}))||!l((function(){new y(-1)}))||l((function(){return new y,new y(1.5),new y(NaN),"ArrayBuffer"!=y.name}))){for(var W,$=(y=function(e){return u(this,y),new w(p(e))}).prototype=w.prototype,Y=h(w),z=0;Y.length>z;)(W=Y[z++])in y||s(y,W,w[W]);o||($.constructor=y)}var J=new v(new y(2)),V=v.prototype.setInt8;J.setInt8(0,2147483648),J.setInt8(1,2147483649),!J.getInt8(0)&&J.getInt8(1)||c(v.prototype,{setInt8:function(e,t){V.call(this,e,t<<24>>24)},setUint8:function(e,t){V.call(this,e,t<<24>>24)}},!0)}else y=function(e){u(this,y,"ArrayBuffer");var t=p(e);this._b=b.call(new Array(t),0),this[L]=t},v=function(e,t,n){u(this,v,"DataView"),u(e,y,"DataView");var r=e[L],i=f(t);if(i<0||i>r)throw E("Wrong offset!");if(i+(n=void 0===n?r-i:d(n))>r)throw E("Wrong length!");this[R]=e,this[I]=i,this[L]=n},i&&(B(y,"byteLength","_l"),B(v,"buffer","_b"),B(v,"byteLength","_l"),B(v,"byteOffset","_o")),c(v.prototype,{getInt8:function(e){return H(this,1,e)[0]<<24>>24},getUint8:function(e){return H(this,1,e)[0]},getInt16:function(e){var t=H(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=H(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return A(H(this,4,e,arguments[1]))},getUint32:function(e){return A(H(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return N(H(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return N(H(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){q(this,1,e,U,t)},setUint8:function(e,t){q(this,1,e,U,t)},setInt16:function(e,t){q(this,2,e,P,t,arguments[2])},setUint16:function(e,t){q(this,2,e,P,t,arguments[2])},setInt32:function(e,t){q(this,4,e,M,t,arguments[2])},setUint32:function(e,t){q(this,4,e,M,t,arguments[2])},setFloat32:function(e,t){q(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){q(this,8,e,D,t,arguments[2])}});m(y,"ArrayBuffer"),m(v,"DataView"),s(v.prototype,a.VIEW,!0),t.ArrayBuffer=y,t.DataView=v},wCA9:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));n("rzGZ"),n("Dq+y"),n("8npG"),n("YbXK"),n("wbKt");var r=function(){function e(){this._hasWeakSet="function"==typeof WeakSet,this._inner=this._hasWeakSet?new WeakSet:[]}return e.prototype.memoize=function(e){if(this._hasWeakSet)return!!this._inner.has(e)||(this._inner.add(e),!1);for(var t=0;t<this._inner.length;t++){if(this._inner[t]===e)return!0}return this._inner.push(e),!1},e.prototype.unmemoize=function(e){if(this._hasWeakSet)this._inner.delete(e);else for(var t=0;t<this._inner.length;t++)if(this._inner[t]===e){this._inner.splice(t,1);break}},e}()},wZFJ:function(e,t,n){"use strict";var r=n("P8UN"),i=n("Wadk")(3);r(r.P+r.F*!n("h/qr")([].some,!0),"Array",{some:function(e){return i(this,e,arguments[1])}})},wbKt:function(e,t,n){"use strict";var r=n("SGlo"),i=n("O1i0");n("94Pd")("WeakSet",(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(e){return r.def(i(this,"WeakSet"),e,!0)}},r,!1,!0)},xJgp:function(e,t,n){"use strict";var r=n("6PSD"),i=n("O1i0");e.exports=n("94Pd")("Map",(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},yLpj:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},zOF5:function(e,t,n){},zTTH:function(e,t,n){"use strict";var r=n("P8UN"),i=n("Wadk")(6),o="findIndex",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{findIndex:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n("Dq1/")(o)}}]);
//# sourceMappingURL=commons-ed4ec27308bc755c1737.js.map