diff --git a/article.js b/article.js index 7663a0b9..bcf45e85 100644 --- a/article.js +++ b/article.js @@ -1,90 +1,88 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";var r=n(2),i=n(33),a=n(179);i.render(r.createElement(a,null),document.getElementById("article"))},function(e,t,n){"use strict";e.exports=n(3)},function(e,t,n){(function(t){"use strict";var r=n(5),i=n(6),a=n(19),o=n(22),s=n(23),l=n(25),u=n(10),c=n(30),h=n(31),d=n(32),p=n(12),f=u.createElement,m=u.createFactory,g=u.cloneElement;if("production"!==t.env.NODE_ENV){var v=n(26);f=v.createElement,m=v.createFactory,g=v.cloneElement}var y=r;if("production"!==t.env.NODE_ENV){var w=!1;y=function(){return"production"!==t.env.NODE_ENV?p(w,"React.__spread is deprecated and should not be used. Use Object.assign directly or another helper function with similar semantics. You may be seeing this warning due to your compiler. See https://fb.me/react-spread-deprecation for more details."):void 0,w=!0,r.apply(null,arguments)}}var b={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:d},Component:a,PureComponent:o,createElement:f,cloneElement:g,isValidElement:u.isValidElement,PropTypes:c,createClass:s.createClass,createFactory:m,createMixin:function(e){return e},DOM:l,version:h,__spread:y};e.exports=b}).call(t,n(4))},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function a(e){if(h===clearTimeout)return clearTimeout(e);if((h===r||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(t){try{return h.call(null,e)}catch(t){return h.call(this,e)}}}function o(){m&&p&&(m=!1,p.length?f=p.concat(f):g=-1,f.length&&s())}function s(){if(!m){var e=i(o);m=!0;for(var t=f.length;t;){for(p=f,f=[];++g1)for(var n=1;n1){for(var b=Array(w),_=0;_1){for(var w=Array(y),b=0;b1?t-1:0),r=1;r2?r-2:0),a=2;a1?s-1:0),u=1;u.")}return t}function a(e,n){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=m.uniqueKey||(m.uniqueKey={}),a=i(n);if(!r[a]){r[a]=!0;var o="";e&&e._owner&&e._owner!==l.current&&(o=" It was passed a child from "+e._owner.getName()+"."),"production"!==t.env.NODE_ENV?f(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s',a,o,u.getCurrentStackAddendum(e)):void 0}}}function o(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n>",T={array:o("array"),bool:o("boolean"),func:o("function"),number:o("number"),object:o("object"),string:o("string"),symbol:o("symbol"),any:s(),arrayOf:l,element:u(),instanceOf:c,node:f(),objectOf:d,oneOf:h,oneOfType:p,shape:m};i.prototype=Error.prototype,e.exports=T}).call(t,n(4))},function(e,t){"use strict";e.exports="15.4.2"},function(e,t,n){(function(t){"use strict";function r(e){return a.isValidElement(e)?void 0:"production"!==t.env.NODE_ENV?o(!1,"React.Children.only expected to receive a single React element child."):i("143"),e}var i=n(8),a=n(10),o=n(9);e.exports=r}).call(t,n(4))},function(e,t,n){"use strict";e.exports=n(34)},function(e,t,n){(function(t){"use strict";var r=n(35),i=n(39),a=n(167),o=n(60),s=n(57),l=n(172),u=n(173),c=n(174),h=n(175),d=n(12);i.inject();var p={findDOMNode:u,render:a.render,unmountComponentAtNode:a.unmountComponentAtNode,version:l,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:h};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:a,Reconciler:o}),"production"!==t.env.NODE_ENV){var f=n(49);if(f.canUseDOM&&window.top===window.self){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&(navigator.userAgent.indexOf("Chrome")>-1&&navigator.userAgent.indexOf("Edge")===-1||navigator.userAgent.indexOf("Firefox")>-1)){var m=window.location.protocol.indexOf("http")===-1&&navigator.userAgent.indexOf("Firefox")===-1;console.debug("Download the React DevTools "+(m?"and use an HTTP server (instead of a file: URL) ":"")+"for a better development experience: https://fb.me/react-devtools")}var g=function(){};"production"!==t.env.NODE_ENV?d((g.name||g.toString()).indexOf("testFn")!==-1,"It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https://fb.me/react-minification for more details."):void 0;var v=document.documentMode&&document.documentMode<8;"production"!==t.env.NODE_ENV?d(!v,'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: '):void 0;for(var y=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.trim],w=0;w8&&_<=11),C=32,k=String.fromCharCode(C),N={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},S=!1,T=null,O={eventTypes:N,extractEvents:function(e,t,n,r){return[u(e,t,n,r),d(e,t,n,r)]}};e.exports=O},function(e,t,n){(function(t){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return y(e,r)}function i(e,n,i){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?v(e,"Dispatching inst must not be null"):void 0);var a=r(e,i,n);a&&(i._dispatchListeners=m(i._dispatchListeners,a),i._dispatchInstances=m(i._dispatchInstances,e))}function a(e){e&&e.dispatchConfig.phasedRegistrationNames&&f.traverseTwoPhase(e._targetInst,i,e)}function o(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?f.getParentInstance(t):null;f.traverseTwoPhase(n,i,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,i=y(e,r);i&&(n._dispatchListeners=m(n._dispatchListeners,i),n._dispatchInstances=m(n._dispatchInstances,e))}}function l(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function u(e){g(e,a)}function c(e){g(e,o)}function h(e,t,n,r){f.traverseEnterLeave(n,r,s,e,t)}function d(e){g(e,l)}var p=n(43),f=n(45),m=n(47),g=n(48),v=n(12),y=p.getListener,w={accumulateTwoPhaseDispatches:u,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:d,accumulateEnterLeaveDispatches:h};e.exports=w}).call(t,n(4))},function(e,t,n){(function(t){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function i(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var a=n(36),o=n(44),s=n(45),l=n(46),u=n(47),c=n(48),h=n(9),d={},p=null,f=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},m=function(e){return f(e,!0)},g=function(e){return f(e,!1)},v=function(e){return"."+e._rootNodeID},y={injection:{injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},putListener:function(e,n,r){"function"!=typeof r?"production"!==t.env.NODE_ENV?h(!1,"Expected %s listener to be a function, instead got type %s",n,typeof r):a("94",n,typeof r):void 0;var i=v(e),s=d[n]||(d[n]={});s[i]=r;var l=o.registrationNameModules[n];l&&l.didPutListener&&l.didPutListener(e,n,r)},getListener:function(e,t){var n=d[t];if(i(t,e._currentElement.type,e._currentElement.props))return null;var r=v(e);return n&&n[r]},deleteListener:function(e,t){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=d[t];if(r){var i=v(e);delete r[i]}},deleteAllListeners:function(e){var t=v(e);for(var n in d)if(d.hasOwnProperty(n)&&d[n][t]){var r=o.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete d[n][t]}},extractEvents:function(e,t,n,r){for(var i,a=o.plugins,s=0;s-1?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):o("96",e),!c.plugins[r]){n.extractEvents?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):o("97",e),c.plugins[r]=n;var a=n.eventTypes;for(var h in a)i(a[h],n,h)?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",h,e):o("98",h,e)}}}function i(e,n,r){c.eventNameDispatchConfigs.hasOwnProperty(r)?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",r):o("99",r):void 0,c.eventNameDispatchConfigs[r]=e;var i=e.phasedRegistrationNames;if(i){for(var l in i)if(i.hasOwnProperty(l)){var u=i[l];a(u,n,r)}return!0}return!!e.registrationName&&(a(e.registrationName,n,r),!0)}function a(e,n,r){if(c.registrationNameModules[e]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):o("100",e):void 0,c.registrationNameModules[e]=n,c.registrationNameDependencies[e]=n.eventTypes[r].dependencies,"production"!==t.env.NODE_ENV){var i=e.toLowerCase();c.possibleRegistrationNames[i]=e,"onDoubleClick"===e&&(c.possibleRegistrationNames.ondblclick=e)}}var o=n(36),s=n(9),l=null,u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:"production"!==t.env.NODE_ENV?{}:null,injectEventPluginOrder:function(e){l?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):o("101"):void 0,l=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var n=!1;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];u.hasOwnProperty(i)&&u[i]===a||(u[i]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",i):o("102",i):void 0,u[i]=a,n=!0)}n&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var i=c.registrationNameModules[n[r]];if(i)return i}}return null},_resetEventPlugins:function(){l=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var n=c.eventNameDispatchConfigs;for(var r in n)n.hasOwnProperty(r)&&delete n[r];var i=c.registrationNameModules;for(var a in i)i.hasOwnProperty(a)&&delete i[a];if("production"!==t.env.NODE_ENV){var o=c.possibleRegistrationNames;for(var s in o)o.hasOwnProperty(s)&&delete o[s]}}};e.exports=c}).call(t,n(4))},function(e,t,n){(function(t){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function i(e){return"topMouseMove"===e||"topTouchMove"===e}function a(e){return"topMouseDown"===e||"topTouchStart"===e}function o(e,t,n,r){var i=e.type||"unknown-event";e.currentTarget=b.getNodeFromInstance(r),t?g.invokeGuardedCallbackWithCatch(i,n,e):g.invokeGuardedCallback(i,n,e),e.currentTarget=null}function s(e,n){var r=e._dispatchListeners,i=e._dispatchInstances;if("production"!==t.env.NODE_ENV&&f(e),Array.isArray(r))for(var a=0;a1?1-t:void 0;return this._fallbackText=i.slice(e,s),this._fallbackText}}),a.addPoolingTo(r),e.exports=r},function(e,t,n){(function(t){"use strict";var r=n(36),i=n(9),a=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t), -r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},l=function(e,t,n,r){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r),a}return new i(e,t,n,r)},u=function(e){var n=this;e instanceof n?void 0:"production"!==t.env.NODE_ENV?i(!1,"Trying to release an instance into a pool of a different type."):r("25"),e.destructor(),n.instancePool.length8));var M=!1;b.canUseDOM&&(M=k("input")&&(!document.documentMode||document.documentMode>11));var A={get:function(){return D.get.call(this)},set:function(e){P=""+e,D.set.call(this,e)}},L={eventTypes:S,extractEvents:function(e,t,n,i){var a,o,s=t?_.getNodeFromInstance(t):window;if(r(s)?I?a=l:o=u:N(s)?M?a=p:(a=m,o=f):g(s)&&(a=v),a){var c=a(e,t);if(c){var h=x.getPooled(S.change,c,n,i);return h.type="change",w.accumulateTwoPhaseDispatches(h),h}}o&&o(e,s,t)}};e.exports=L},function(e,t,n){(function(t){"use strict";function r(){T.ReactReconcileTransaction&&E?void 0:"production"!==t.env.NODE_ENV?v(!1,"ReactUpdates: must inject a reconcile transaction class and batching strategy"):c("123")}function i(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=T.ReactReconcileTransaction.getPooled(!0)}function a(e,t,n,i,a,o){return r(),E.batchedUpdates(e,t,n,i,a,o)}function o(e,t){return e._mountOrder-t._mountOrder}function s(e){var n=e.dirtyComponentsLength;n!==y.length?"production"!==t.env.NODE_ENV?v(!1,"Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).",n,y.length):c("124",n,y.length):void 0,y.sort(o),w++;for(var r=0;r1&&void 0!==arguments[1]&&arguments[1];n&&0===e||e||("production"!==t.env.NODE_ENV?_(!1,"ReactDebugTool: debugID may not be empty."):void 0)}function u(e,n){0!==S&&(M&&!A&&("production"!==t.env.NODE_ENV?_(!1,"There is an internal error in the React performance measurement code. Did not expect %s timer to start while %s timer is still in progress for %s instance.",n,M||"no",e===P?"the same":"another"):void 0,A=!0),D=b(),I=0,P=e,M=n)}function c(e,n){0!==S&&(M===n||A||("production"!==t.env.NODE_ENV?_(!1,"There is an internal error in the React performance measurement code. We did not expect %s timer to stop while %s timer is still in progress for %s instance. Please report this as a bug in React.",n,M||"no",e===P?"the same":"another"):void 0,A=!0),C&&T.push({timerType:n,instanceID:e,duration:b()-D-I}),D=0,I=0,P=null,M=null)}function h(){var e={startTime:D,nestedFlushStartTime:b(),debugID:P,timerType:M};N.push(e),D=0,I=0,P=null,M=null}function d(){var e=N.pop(),t=e.startTime,n=e.nestedFlushStartTime,r=e.debugID,i=e.timerType,a=b()-n;D=t,I+=a,P=r,M=i}function p(e){if(!C||!R)return!1;var t=y.getElement(e);if(null==t||"object"!=typeof t)return!1;var n="string"==typeof t.type;return!n}function f(e,t){if(p(e)){var n=e+"::"+t;L=b(),performance.mark(n)}}function m(e,t){if(p(e)){var n=e+"::"+t,r=y.getDisplayName(e)||"Unknown",i=b();if(i-L>.1){var a=r+" ["+t+"]";performance.measure(a,n)}performance.clearMarks(n),performance.clearMeasures(a)}}var g=n(65),v=n(66),y=n(27),w=n(49),b=n(67),_=n(12),E=[],x={},C=!1,k=[],N=[],S=0,T=[],O=0,P=null,D=0,I=0,M=null,A=!1,L=0,R="undefined"!=typeof performance&&"function"==typeof performance.mark&&"function"==typeof performance.clearMarks&&"function"==typeof performance.measure&&"function"==typeof performance.clearMeasures,V={addHook:function(e){E.push(e)},removeHook:function(e){for(var t=0;t]/,l=n(85),u=l(function(e,t){if(e.namespaceURI!==a.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(i.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),o.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=u},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e};e.exports=n},function(e,t,n){"use strict";var r=n(49),i=n(87),a=n(84),o=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(o=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void a(e,i(t))})),e.exports=o},function(e,t){"use strict";function n(e){var t=""+e,n=i.exec(t);if(!n)return t;var r,a="",o=0,s=0;for(o=n.index;o]/;e.exports=r},function(e,t,n){(function(t){"use strict";var r=n(36),i=n(82),a=n(49),o=n(89),s=n(13),l=n(9),u={dangerouslyReplaceNodeWithMarkup:function(e,n){if(a.canUseDOM?void 0:"production"!==t.env.NODE_ENV?l(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering."):r("56"),n?void 0:"production"!==t.env.NODE_ENV?l(!1,"dangerouslyReplaceNodeWithMarkup(...): Missing markup."):r("57"),"HTML"===e.nodeName?"production"!==t.env.NODE_ENV?l(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString()."):r("58"):void 0,"string"==typeof n){var u=o(n,s)[0];e.parentNode.replaceChild(u,e)}else i.replaceChildWithTree(e,n)}};e.exports=u}).call(t,n(4))},function(e,t,n){(function(t){"use strict";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function i(e,n){var i=u;u?void 0:"production"!==t.env.NODE_ENV?l(!1,"createNodesFromMarkup dummy not initialized"):l(!1);var a=r(e),c=a&&s(a);if(c){i.innerHTML=c[1]+e+c[2];for(var h=c[0];h--;)i=i.lastChild}else i.innerHTML=e;var d=i.getElementsByTagName("script");d.length&&(n?void 0:"production"!==t.env.NODE_ENV?l(!1,"createNodesFromMarkup(...): Unexpected