diff --git a/.gitignore b/.gitignore index 0823ca3..5353df1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ logs *.log -# Next build data +# Next build data (only add manually) .next # cloudflare ips cache file diff --git a/.next/BUILD_ID b/.next/BUILD_ID new file mode 100644 index 0000000..a06d6fe --- /dev/null +++ b/.next/BUILD_ID @@ -0,0 +1 @@ +0d9aed01-261e-45e9-a5ca-7cabe88ce5d9 \ No newline at end of file diff --git a/.next/build-manifest.json b/.next/build-manifest.json new file mode 100644 index 0000000..4558296 --- /dev/null +++ b/.next/build-manifest.json @@ -0,0 +1 @@ +{"pages":{},"css":["static/style.css"],"chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb":["chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb-f11103a9f00c20c573c8.js"],"chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726":["chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726-23b6636ac3d3ed18c08e.js"],"bundles/pages/_error.js":["bundles/pages/_error.js"],"bundles/pages/edit.js":["bundles/pages/edit.js"],"bundles/pages/new.js":["bundles/pages/new.js"],"bundles/pages/index.js":["bundles/pages/index.js"],"bundles/pages/k.js":["bundles/pages/k.js"],"bundles/pages/_app.js":["bundles/pages/_app.js"],"bundles/pages/settings.js":["bundles/pages/settings.js"],"main.js":["static/commons/main-b24ec2a21f0eea742edb.js"]} \ No newline at end of file diff --git a/.next/bundles/pages/_app.js b/.next/bundles/pages/_app.js new file mode 100644 index 0000000..7d60e2e --- /dev/null +++ b/.next/bundles/pages/_app.js @@ -0,0 +1 @@ +module.exports=__NEXT_REGISTER_PAGE("/_app",function(){var e=webpackJsonp([7],{223:function(e,t,r){e.exports=r(224)},224:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});r.d(t,"default",function(){return k});var n=r(8);var a=r.n(n);var o=r(0);var u=r.n(o);var i=r(225);var l=r.n(i);var c=r(122);var f=r(22);var p=r(33);var s=r(234);var v=r.n(s);function d(e){d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function e(t){return typeof t}:function e(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};return d(e)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function u(e,t){try{var r=o[e](t);var u=r.value}catch(e){a(e);return}r.done?n(u):Promise.resolve(u).then(i,l)}function i(e){u("next",e)}function l(e){u("throw",e)}i()})}}function h(e){for(var t=1;t255||0===t.length)return false;var r=t.length-1;for(var n=0;n47&&a<58)&&!(a>64&&a<91)&&!(a>96&&a<123)&&!(95===a)&&!(45===a)&&!((46===a||32===a)&&0!==n&&n!==r))return false}return true};e.exports={checkDir:function e(t){if("string"!==typeof t)return false;t=t.trim();if(0===t.length)return 0;if(t.indexOf("/")>-1){t=t.split("/").filter(function(e){return 0!==e.length});if(1===t.length){r(t[0])||false;t=t[0]}else if(0===t.length)t="";else if(t.some(function(e){return!r(e)}))return false}else if(!r(t))return false;return Array.isArray(t)?t.join("/"):t},checkName:function e(t){if("string"!==typeof t)return false;t=t.trim();if(0===t.length)return 0;if(!r(t))return false;return t}}},95:function(e,t,r){"use strict";var n=r(8);var a=r.n(n);var o=r(0);var u=r.n(o);var i=r(22);var c=r(34);var l=r.n(c);var s=r(29);var f=r(9);var d=r.n(f);var p=r(23);function v(e){v="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function e(t){return typeof t}:function e(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};return v(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var r=0;r0?"/":"")+r;var u=P()("k/"+a);var i={pathname:"/k",query:{id:a}};return o.a.createElement("tr",null,o.a.createElement("td",null,o.a.createElement(g.a,{href:i,as:u},o.a.createElement("a",null,o.a.createElement("p",{className:"noMargin"},r,o.a.createElement("span",{className:"float-right"},new Date(l).toLocaleDateString("en-US")))))))};var k=C;var E=a(34);var N=a.n(E);function w(e){w="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function e(t){return typeof t}:function e(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};return w(e)}var O=function(e){var t,a;switch(w(e)){case"object":t=Object.keys(e).pop();a=e[t];break;case"string":var r=e.split(":");t=r[0];a=r[1];break;default:break}return"$sort[".concat(t,"]=").concat(a)};var x=a(23);function j(e){for(var t=1;t1&&(o.page=l);n&&(o.search=n);r.pushQuery(o);r.updDocs(1)}}),a))}K(t,[{key:"componentDidUpdate",value:function e(t){var a=this.props,r=a.user,n=a.docs;if(t.user.email===r.email)return;r.email&&0===n.length&&this.updDocs(1)}},{key:"render",value:function e(){var t=this.state,a=t.$sort,r=t.$search,n=t.pending,l=t.error,u=t.docs,i=t.total,s=t.page;var c=Math.ceil(i/$);return o.a.createElement(v["a"],null,o.a.createElement(m["a"],null,o.a.createElement("input",{type:"text",placeholder:"Search knowledge base...",maxLength:128,value:r,className:"search",id:"$search",onChange:this.updQuery})),o.a.createElement(m["a"],null,o.a.createElement("div",{className:"inline",style:{width:"100%"}},o.a.createElement("h4",{className:"noMargin"},"Docs"),o.a.createElement("div",{className:"float-right inline"},o.a.createElement("label",{htmlFor:"sort"},"Sort: "),o.a.createElement("select",{id:"$sort",value:a,onChange:this.updQuery,style:{width:150}},o.a.createElement("option",{value:"updated:-1"},"Updated (new -> old)"),o.a.createElement("option",{value:"updated:1"},"Updated (old -> new)"),o.a.createElement("option",{value:"created:-1"},"Created (new -> old)"),o.a.createElement("option",{value:"created:1"},"Created (old -> new)"),o.a.createElement("option",{value:"dirName:1"},"Name (A -> Z)"),o.a.createElement("option",{value:"dirName:-1"},"Name (Z -> A)"))))),o.a.createElement(m["a"],null,u.length>0||l||n?null:o.a.createElement("p",null,"No docs found..."),l?o.a.createElement("p",null,l):null,!n||l?null:o.a.createElement(b["a"],{style:{margin:"25px auto 0"}}),u.length<1||n||l?null:o.a.createElement("div",null,o.a.createElement("table",null,o.a.createElement("thead",null,o.a.createElement("tr",null,o.a.createElement("th",null,"Doc ",o.a.createElement("span",{className:"float-right"},"Modified")))),o.a.createElement("tbody",null,u.map(function(e){return o.a.createElement(k,A({},e,{key:e.id}))}))),c<2?null:o.a.createElement(f.a,{pageCount:c,containerClassName:"paginate",activeClassName:"active",onPageChange:this.handlePage,forcePage:s-1}))))}}],[{key:"getInitialProps",value:function(){var e=B(n.a.mark(function e(t){var a,r,l,o,u,i,s;return n.a.wrap(function e(n){while(1)switch(n.prev=n.next){case 0:a=t.req,r=t.query;l=1,o="";if(r){l=r.page||l;o=r.search||o}u=Object(x["a"])(a);if(u){n.next=6;break}return n.abrupt("return",{total:0,docs:[]});case 6:i=T({$search:o,$skip:l});n.next=9;return L(i,!!a&&u);case 9:s=n.sent;return n.abrupt("return",I({},s,{page:l,$search:o}));case 11:case"end":return n.stop()}},e,this)}));return function t(a){return e.apply(this,arguments)}}()},{key:"getDerivedStateFromProps",value:function e(t,a){var r=t.docs,n=t.total,l=t.page,o=t.$search;if(r.length!==a.docs.length||l!==a.page||o!==a.$search)return{total:n,docs:r,page:l,$search:o,pending:false};return null}}]);return t}(l["Component"]);var z=t["default"]=Object(u["b"])(M["a"])(Z)},254:function(e,t,a){"use strict";var r=a(255);var n=l(r);function l(e){return e&&e.__esModule?e:{default:e}}e.exports=n.default},255:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=function(){function e(e,t){for(var a=0;a0&&a.handlePageSelected(t-1,e)};a.handleNextPage=function(e){var t=a.state.selected;var r=a.props.pageCount;e.preventDefault?e.preventDefault():e.returnValue=false;tn-r/2){d=n-s;p=r-d}else if(sn-o){e.push(h(v));continue}if(v>=s-p&&v<=s+d){e.push(h(v));continue}if(u&&e[e.length-1]!==b){b=l.default.createElement(f.default,{key:v,breakLabel:u,breakClassName:i});e.push(b)}}}return e};a.state={selected:e.initialPage?e.initialPage:e.forcePage?e.forcePage:0};return a}r(t,[{key:"componentDidMount",value:function e(){var t=this.props,a=t.initialPage,r=t.disableInitialCallback;"undefined"===typeof a||r||this.callCallback(a)}},{key:"componentWillReceiveProps",value:function e(t){"undefined"!==typeof t.forcePage&&this.props.forcePage!==t.forcePage&&this.setState({selected:t.forcePage})}},{key:"hrefBuilder",value:function e(t){var a=this.props,e=a.hrefBuilder,r=a.pageCount;if(e&&t!==this.state.selected&&t>=0&&t0?"/":"",a.name," - ",u.a.createElement(s.a,{as:y()("edit/"+n),href:{pathname:"/edit",query:{id:n}}},u.a.createElement("a",{id:"edit"},"edit")),u.a.createElement("button",{className:"float-right",onClick:this.delete,style:{margin:"5px 0 0"}},"Delete")),u.a.createElement(p["a"],{source:a.md,className:"Markdown"}))}}]);return t}(o["Component"]);t["default"]=Object(h["a"])(j)},47:function(e,t,r){"use strict";var n=r(2);Object.defineProperty(t,"__esModule",{value:true});t.default=h;t.registerChunk=m;t.flushChunks=y;t.SameLoopPromise=void 0;var a=n(r(62));var o=n(r(56));var u=n(r(16));var i=n(r(6));var s=n(r(7));var c=n(r(17));var l=n(r(18));var f=n(r(28));var d=n(r(0));var v=r(15);var p=new f.default;function h(e,t){var r;var n;if(e instanceof b){r=e;n=t||{}}else{if(!e.modules||!e.render){var a="`next/dynamic` options should contain `modules` and `render` fields";throw new Error(a)}if(t){var f="Add additional `next/dynamic` options to the first argument containing the `modules` and `render` fields";throw new Error(f)}n=e}return function(e){(0,l.default)(t,e);function t(){var e;var r;(0,i.default)(this,t);for(var a=arguments.length,o=new Array(a),s=0;s255||0===t.length)return false;var r=t.length-1;for(var n=0;n47&&a<58)&&!(a>64&&a<91)&&!(a>96&&a<123)&&!(95===a)&&!(45===a)&&!((46===a||32===a)&&0!==n&&n!==r))return false}return true};e.exports={checkDir:function e(t){if("string"!==typeof t)return false;t=t.trim();if(0===t.length)return 0;if(t.indexOf("/")>-1){t=t.split("/").filter(function(e){return 0!==e.length});if(1===t.length){r(t[0])||false;t=t[0]}else if(0===t.length)t="";else if(t.some(function(e){return!r(e)}))return false}else if(!r(t))return false;return Array.isArray(t)?t.join("/"):t},checkName:function e(t){if("string"!==typeof t)return false;t=t.trim();if(0===t.length)return 0;if(!r(t))return false;return t}}}},[260]);return{page:e.default}},[{id:0,src:"chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb.js"},{id:1,src:"chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726.js"}]); \ No newline at end of file diff --git a/.next/bundles/pages/settings.js b/.next/bundles/pages/settings.js new file mode 100644 index 0000000..c4d909d --- /dev/null +++ b/.next/bundles/pages/settings.js @@ -0,0 +1 @@ +module.exports=__NEXT_REGISTER_PAGE("/settings",function(){var e=webpackJsonp([8],{262:function(e,t,r){e.exports=r(263)},263:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=r(8);var a=r.n(n);var s=r(0);var o=r.n(s);var u=r(22);var l=r(34);var c=r.n(l);var i=r(35);var p=r(61);var f=r(60);var d=r(49);var b=r(29);var m=r(9);var w=r.n(m);var v=r(23);function h(e){h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function e(t){return typeof t}:function e(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};return h(e)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var s=e.apply(t,r);function o(e,t){try{var r=s[e](t);var o=r.value}catch(e){a(e);return}r.done?n(o):Promise.resolve(o).then(u,l)}function u(e){o("next",e)}function l(e){o("throw",e)}u()})}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var r=0;r=15){f=false;s=true}var k=x&&(u||f&&(null==w||w<12.11));var C=r||a&&l>=9;function S(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var L=function(e,t){var r=e.className;var n=S(t).exec(r);if(n){var i=r.slice(n.index+n[0].length);e.className=r.slice(0,n.index)+(i?n[1]+i:"")}};function T(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function M(e,t){return T(e).appendChild(t)}function N(e,t,r,n){var i=document.createElement(e);r&&(i.className=r);n&&(i.style.cssText=n);if("string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=l-o;a+=r-a%r;o=l+1}}var R=function(){this.id=null};R.prototype.set=function(e,t){clearTimeout(this.id);this.id=setTimeout(t,e)};function B(e,t){for(var r=0;r=t)return n+Math.min(a,t-i);i+=o-n;i+=r-i%r;n=o+1;if(i>=t)return n}}var _=[""];function X(e){while(_.length<=e)_.push($(_)+" ");return _[e]}function $(e){return e[e.length-1]}function Y(e,t){var r=[];for(var n=0;n"€"&&(e.toUpperCase()!=e.toLowerCase()||ee.test(e))}function re(e,t){if(!t)return te(e);if(t.source.indexOf("\\w")>-1&&te(e))return true;return t.test(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return false;return true}var ie=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function oe(e){return e.charCodeAt(0)>=768&&ie.test(e)}function ae(e,t,r){while((r<0?t>0:tr?-1:1;for(;;){if(t==r)return t;var i=(t+r)/2,o=n<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:r;e(o)?r=o:t=o+n}}function se(e,t,n){var i=this;this.input=n;i.scrollbarFiller=N("div",null,"CodeMirror-scrollbar-filler");i.scrollbarFiller.setAttribute("cm-not-content","true");i.gutterFiller=N("div",null,"CodeMirror-gutter-filler");i.gutterFiller.setAttribute("cm-not-content","true");i.lineDiv=O("div",null,"CodeMirror-code");i.selectionDiv=N("div",null,null,"position: relative; z-index: 1");i.cursorDiv=N("div",null,"CodeMirror-cursors");i.measure=N("div",null,"CodeMirror-measure");i.lineMeasure=N("div",null,"CodeMirror-measure");i.lineSpace=O("div",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,"position: relative; outline: none");var o=O("div",[i.lineSpace],"CodeMirror-lines");i.mover=N("div",[o],null,"position: relative");i.sizer=N("div",[i.mover],"CodeMirror-sizer");i.sizerWidth=null;i.heightForcer=N("div",null,null,"position: absolute; height: "+j+"px; width: 1px;");i.gutters=N("div",null,"CodeMirror-gutters");i.lineGutter=null;i.scroller=N("div",[i.sizer,i.heightForcer,i.gutters],"CodeMirror-scroll");i.scroller.setAttribute("tabIndex","-1");i.wrapper=N("div",[i.scrollbarFiller,i.gutterFiller,i.scroller],"CodeMirror");if(a&&l<8){i.gutters.style.zIndex=-1;i.scroller.style.paddingRight=0}s||r&&g||(i.scroller.draggable=true);e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper));i.viewFrom=i.viewTo=t.first;i.reportedViewFrom=i.reportedViewTo=t.first;i.view=[];i.renderedView=null;i.externalMeasured=null;i.viewOffset=0;i.lastWrapHeight=i.lastWrapWidth=0;i.updateLineNumbers=null;i.nativeBarWidth=i.barHeight=i.barWidth=0;i.scrollbarsClipped=false;i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null;i.alignWidgets=false;i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null;i.maxLine=null;i.maxLineLength=0;i.maxLineChanged=false;i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null;i.shift=false;i.selForContextMenu=null;i.activeTouch=null;n.init(i)}function ue(e,t){t-=e.first;if(t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");var r=e;while(!r.lines)for(var n=0;;++n){var i=r.children[n],o=i.chunkSize();if(t=e.first&&tr)return ge(r,ue(e,r).text.length);return Le(t,ue(e,t.line).text.length)}function Le(e,t){var r=e.ch;return null==r||r>t?ge(e.line,t):r<0?ge(e.line,0):e}function Te(e,t){var r=[];for(var n=0;n=t:o.to>t);(n||(n=[])).push(new De(a,o.from,s?null:o.to))}}return n}function Pe(e,t,r){var n;if(e)for(var i=0;i=t:o.to>t);if(l||o.from==t&&"bookmark"==a.type&&(!r||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&l)for(var b=0;b0)continue;var c=[s,1],f=xe(u.from,l.from),h=xe(u.to,l.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:u.from,to:l.from});(h>0||!a.inclusiveRight&&!h)&&c.push({from:l.to,to:u.to});i.splice.apply(i,c);s+=c.length-3}}return i}function Be(e){var t=e.markedSpans;if(!t)return;for(var r=0;r=0&&f<=0||c<=0&&f>=0)continue;if(c<=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?xe(u.to,r)>=0:xe(u.to,r)>0)||c>=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?xe(u.from,n)<=0:xe(u.from,n)<0))return true}}function $e(e){var t;while(t=Ve(e))e=t.find(-1,true).line;return e}function Ye(e){var t;while(t=_e(e))e=t.find(1,true).line;return e}function Je(e){var t,r;while(t=_e(e)){e=t.find(1,true).line;(r||(r=[])).push(e)}return r}function Ze(e,t){var r=ue(e,t),n=$e(r);if(r==n)return t;return de(n)}function Qe(e,t){if(t>e.lastLine())return t;var r=ue(e,t),n;if(!et(e,r))return t;while(n=_e(r))r=n.find(1,true).line;return de(r)+1}function et(e,t){var r=Ne&&t.markedSpans;if(r)for(var n=void 0,i=0;it.maxLineLength){t.maxLineLength=r;t.maxLine=e}})}function ot(e,t,r,n){if(!e)return n(t,r,"ltr",0);var i=false;for(var o=0;ot||t==r&&a.to==t){n(Math.max(a.from,t),Math.min(a.to,r),1==a.level?"rtl":"ltr",o);i=true}}i||n(t,r,"ltr")}var at=null;function lt(e,t,r){var n;at=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==r?n=i:at=i);o.from==t&&(o.from!=o.to&&"before"!=r?n=i:at=i)}return null!=n?n:at}var st=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function r(r){return r<=247?e.charAt(r):1424<=r&&r<=1524?"R":1536<=r&&r<=1785?t.charAt(r-1536):1774<=r&&r<=2220?"r":8192<=r&&r<=8203?"w":8204==r?"b":"L"}var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var i=/[stwN]/,o=/[LRr]/,a=/[Lb1n]/,l=/[1n]/;function s(e,t,r){this.level=e;this.from=t;this.to=r}return function(e,t){var u="ltr"==t?"L":"R";if(0==e.length||"ltr"==t&&!n.test(e))return false;var c=e.length,f=[];for(var h=0;h-1&&(n[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function pt(e,t){var r=ht(e,t);if(!r.length)return;var n=Array.prototype.slice.call(arguments,2);for(var i=0;i0}function xt(e){e.prototype.on=function(e,t){ft(this,e,t)};e.prototype.off=function(e,t){dt(this,e,t)}}function yt(e){e.preventDefault?e.preventDefault():e.returnValue=false}function bt(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=true}function wt(e){return null!=e.defaultPrevented?e.defaultPrevented:false==e.returnValue}function kt(e){yt(e);bt(e)}function Ct(e){return e.target||e.srcElement}function St(e){var t=e.which;null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2));x&&e.ctrlKey&&1==t&&(t=3);return t}var Lt=function(){if(a&&l<9)return false;var e=N("div");return"draggable"in e||"dragDrop"in e}();var Tt;function Mt(e){if(null==Tt){var t=N("span","​");M(e,N("span",[t,document.createTextNode("x")]));0!=e.firstChild.offsetHeight&&(Tt=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&l<8))}var r=Tt?N("span","​"):N("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");r.setAttribute("cm-text","");return r}var Nt;function Ot(e){if(null!=Nt)return Nt;var t=M(e,document.createTextNode("AخA"));var r=A(t,0,1).getBoundingClientRect();var n=A(t,1,2).getBoundingClientRect();T(e);if(!r||r.left==r.right)return false;return Nt=n.right-r.right<3}var At=3!="\n\nb".split(/\n/).length?function(e){var t=0,r=[],n=e.length;while(t<=n){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i);var a=o.indexOf("\r");if(-1!=a){r.push(o.slice(0,a));t+=a+1}else{r.push(o);t=i+1}}return r}:function(e){return e.split(/\r\n?|\n/)};var Dt=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return false}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}if(!t||t.parentElement()!=e)return false;return 0!=t.compareEndPoints("StartToEnd",t)};var Wt=function(){var e=N("div");if("oncopy"in e)return true;e.setAttribute("oncopy","return;");return"function"==typeof e.oncopy}();var Ht=null;function Et(e){if(null!=Ht)return Ht;var t=M(e,N("span","x"));var r=t.getBoundingClientRect();var n=A(t,0,1).getBoundingClientRect();return Ht=Math.abs(r.left-n.left)>1}var Ft={};var Pt={};function It(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2));Ft[e]=t}function zt(e,t){Pt[e]=t}function Rt(e){if("string"==typeof e&&Pt.hasOwnProperty(e))e=Pt[e];else if(e&&"string"==typeof e.name&&Pt.hasOwnProperty(e.name)){var t=Pt[e.name];"string"==typeof t&&(t={name:t});e=Q(t,e);e.name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Rt("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Rt("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Bt(e,t){t=Rt(t);var r=Ft[t.name];if(!r)return Bt(e,"text/plain");var n=r(e,t);if(jt.hasOwnProperty(t.name)){var i=jt[t.name];for(var o in i){if(!i.hasOwnProperty(o))continue;n.hasOwnProperty(o)&&(n["_"+o]=n[o]);n[o]=i[o]}}n.name=t.name;t.helperType&&(n.helperType=t.helperType);if(t.modeProps)for(var a in t.modeProps)n[a]=t.modeProps[a];return n}var jt={};function qt(e,t){var r=jt.hasOwnProperty(e)?jt[e]:jt[e]={};I(t,r)}function Gt(e,t){if(true===t)return t;if(e.copyState)return e.copyState(t);var r={};for(var n in t){var i=t[n];i instanceof Array&&(i=i.concat([]));r[n]=i}return r}function Ut(e,t){var r;while(e.innerMode){r=e.innerMode(t);if(!r||r.mode==e)break;t=r.state;e=r.mode}return r||{mode:e,state:t}}function Kt(e,t,r){return!e.startState||e.startState(t,r)}var Vt=function(e,t,r){this.pos=this.start=0;this.string=e;this.tabSize=t||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0;this.lineOracle=r};Vt.prototype.eol=function(){return this.pos>=this.string.length};Vt.prototype.sol=function(){return this.pos==this.lineStart};Vt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0};Vt.prototype.next=function(){if(this.post};Vt.prototype.eatSpace=function(){var e=this;var t=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++e.pos;return this.pos>t};Vt.prototype.skipToEnd=function(){this.pos=this.string.length};Vt.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1){this.pos=t;return true}};Vt.prototype.backUp=function(e){this.pos-=e};Vt.prototype.column=function(){if(this.lastColumnPos0)return null;n&&false!==t&&(this.pos+=n[0].length);return n}var i=function(e){return r?e.toLowerCase():e};var o=this.string.substr(this.pos,e.length);if(i(o)==i(e)){false!==t&&(this.pos+=e.length);return true}};Vt.prototype.current=function(){return this.string.slice(this.start,this.pos)};Vt.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}};Vt.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)};Vt.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var _t=function(e,t){this.state=e;this.lookAhead=t};var Xt=function(e,t,r,n){this.state=t;this.doc=e;this.line=r;this.maxLookAhead=n||0;this.baseTokens=null;this.baseTokenPos=1};Xt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e);return t};Xt.prototype.baseToken=function(e){var t=this;if(!this.baseTokens)return null;while(this.baseTokens[this.baseTokenPos]<=e)t.baseTokenPos+=2;var r=this.baseTokens[this.baseTokenPos+1];return{type:r&&r.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}};Xt.prototype.nextLine=function(){this.line++;this.maxLookAhead>0&&this.maxLookAhead--};Xt.fromSaved=function(e,t,r){return t instanceof _t?new Xt(e,Gt(e.mode,t.state),r,t.lookAhead):new Xt(e,Gt(e.mode,t),r)};Xt.prototype.save=function(e){var t=false!==e?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new _t(t,this.maxLookAhead):t};function $t(e,t,r,n){var i=[e.state.modeGen],o={};ir(e,t.text,e.doc.mode,r,function(e,t){return i.push(e,t)},o,n);var a=r.state;var l=function(n){r.baseTokens=i;var l=e.state.overlays[n],s=1,u=0;r.state=true;ir(e,t.text,l.mode,r,function(e,t){var r=s;while(ue&&i.splice(s,1,e,i[s+1],n);s+=2;u=Math.min(e,n)}if(!t)return;if(l.opaque){i.splice(r,s-r,e,"overlay "+t);s=r+2}else for(;re.options.maxHighlightLength&&Gt(e.doc.mode,n.state);var o=$t(e,t,n);i&&(n.state=i);t.stateAfter=n.save(!i);t.styles=o.styles;o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null);r===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function Jt(e,t,r){var n=e.doc,i=e.display;if(!n.mode.startState)return new Xt(n,true,t);var o=or(e,t,r);var a=o>n.first&&ue(n,o-1).stateAfter;var l=a?Xt.fromSaved(n,a,o):new Xt(n,Kt(n.mode),o);n.iter(o,t,function(r){Zt(e,r.text,l);var n=l.line;r.stateAfter=n==t-1||n%5==0||n>=i.viewFrom&&nt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}var tr=function(e,t,r){this.start=e.start;this.end=e.pos;this.string=e.current();this.type=t||null;this.state=r};function rr(e,t,r,n){var i=e.doc,o=i.mode,a;t=Se(i,t);var l=ue(i,t.line),s=Jt(e,t.line,r);var u=new Vt(l.text,e.options.tabSize,s),c;n&&(c=[]);while((n||u.pose.options.maxHighlightLength){l=false;a&&Zt(e,t,n,c.pos);c.pos=t.length;f=null}else f=nr(er(r,c,n.state,h),o);if(h){var d=h[0].name;d&&(f="m-"+(f?d+" "+f:d))}if(!l||u!=f){while(sa;--l){if(l<=o.first)return o.first;var s=ue(o,l-1),u=s.stateAfter;if(u&&(!r||l+(u instanceof _t?u.lookAhead:0)<=o.modeFrontier))return l;var c=z(s.text,null,e.options.tabSize);if(null==i||n>c){i=l-1;n=c}}return i}function ar(e,t){e.modeFrontier=Math.min(e.modeFrontier,t);if(e.highlightFrontierr;n--){var i=ue(e,n).stateAfter;if(i&&(!(i instanceof _t)||n+i.lookAhead1&&!/ /.test(e))return e;var r=t,n="";for(var i=0;iu&&f.from<=u)break}if(f.to>=c)return e(r,n,i,o,a,l,s);e(r,n.slice(0,f.to-u),i,o,null,l,s);o=null;n=n.slice(f.to-u);u=f.to}}}function xr(e,t,r,n){var i=!n&&r.widgetNode;i&&e.map.push(e.pos,e.pos+t,i);if(!n&&e.cm.display.input.needsContentAttribute){i||(i=e.content.appendChild(document.createElement("span")));i.setAttribute("cm-marker",r.id)}if(i){e.cm.display.input.setUneditable(i);e.content.appendChild(i)}e.pos+=t;e.trailingSpace=false}function yr(e,t,r){var n=e.markedSpans,i=e.text,o=0;if(!n){for(var a=1;as||C.collapsed&&k.to==s&&k.from==s)){if(null!=k.to&&k.to!=s&&d>k.to){d=k.to;m=""}C.className&&(p+=" "+C.className);C.css&&(h=(h?h+";":"")+C.css);C.startStyle&&k.from==s&&(v+=" "+C.startStyle);C.endStyle&&k.to==d&&(b||(b=[])).push(C.endStyle,k.to);C.title&&!g&&(g=C.title);C.collapsed&&(!x||Ue(x.marker,C)<0)&&(x=k)}else k.from>s&&d>k.from&&(d=k.from)}if(b)for(var S=0;S=l)break;var T=Math.min(l,d);while(true){if(c){var M=s+c.length;if(!x){var N=M>T?c.slice(0,T-s):c;t.addToken(t,N,f?f+p:p,v,s+N.length==d?m:"",g,h)}if(M>=T){c=c.slice(T-s);s=T;break}s=M;v=""}c=i.slice(o,o=r[u++]);f=hr(r[u++],t.cm.options)}}}function br(e,t,r){this.line=t;this.rest=Je(t);this.size=this.rest?de($(this.rest))-r+1:1;this.node=this.text=null;this.hidden=et(e,t)}function wr(e,t,r){var n=[],i;for(var o=t;o2&&o.push((s.bottom+u.top)/2-r.top)}}o.push(r.bottom-r.top)}}function Yr(e,t,r){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var n=0;nr)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:true}}function Jr(e,t){t=$e(t);var r=de(t);var n=e.display.externalMeasured=new br(e.doc,t,r);n.lineN=r;var i=n.built=dr(e,n);n.text=i.pre;M(e.display.lineMeasure,i.pre);return n}function Zr(e,t,r,n){return tn(e,en(e,t),r,n)}function Qr(e,t){if(t>=e.display.viewFrom&&t=r.lineN&&tt){o=s-l;i=o-1;t>=s&&(a="right")}if(null!=i){n=e[u+2];l==s&&r==(n.insertLeft?"left":"right")&&(a=r);if("left"==r&&0==i)while(u&&e[u-2]==e[u-3]&&e[u-1].insertLeft){n=e[2+(u-=3)];a="left"}if("right"==r&&i==s-l)while(u=0;i--)if((r=e[i]).left!=r.right)break;return r}function an(e,t,r,n){var i=nn(t.map,r,n);var o=i.node,s=i.start,u=i.end,c=i.collapse;var f;if(3==o.nodeType){for(var h=0;h<4;h++){while(s&&oe(t.line.text.charAt(i.coverStart+s)))--s;while(i.coverStart+u0&&(c=n="right");var d;f=e.options.lineWrapping&&(d=o.getClientRects()).length>1?d["right"==n?d.length-1:0]:o.getBoundingClientRect()}if(a&&l<9&&!s&&(!f||!f.left&&!f.right)){var p=o.parentNode.getClientRects()[0];f=p?{left:p.left,right:p.left+On(e.display),top:p.top,bottom:p.bottom}:rn}var m=f.top-t.rect.top,v=f.bottom-t.rect.top;var g=(m+v)/2;var x=t.view.measure.heights;var y=0;for(;y=n.text.length){s=n.text.length;u="before"}else if(s<=0){s=0;u="after"}if(!l)return a("before"==u?s-1:s,"before"==u);function c(e,t,r){var n=l[t],i=1==n.level;return a(r?e-1:e,i!=r)}var f=lt(l,s,u);var h=at;var d=c(s,f,"before"==u);null!=h&&(d.other=c(s,h,"before"!=u));return d}function xn(e,t){var r=0;t=Se(e.doc,t);e.options.lineWrapping||(r=On(e.display)*t.ch);var n=ue(e.doc,t.line);var i=rt(n)+Gr(e.display);return{left:r,right:r,top:i,bottom:i+n.height}}function yn(e,t,r,n,i){var o=ge(e,t,r);o.xRel=i;n&&(o.outside=true);return o}function bn(e,t,r){var n=e.doc;r+=e.display.viewOffset;if(r<0)return yn(n.first,0,null,true,-1);var i=pe(n,r),o=n.first+n.size-1;if(i>o)return yn(n.first+n.size-1,ue(n,o).text.length,null,true,1);t<0&&(t=0);var a=ue(n,i);for(;;){var l=Sn(e,a,i,t,r);var s=_e(a);var u=s&&s.find(0,true);if(!s||!(l.ch>u.from.ch||l.ch==u.from.ch&&l.xRel>0))return l;i=de(a=u.to.line)}}function wn(e,t,r,n){n-=dn(t);var i=t.text.length;var o=le(function(t){return tn(e,r,t-1).bottom<=n},i,0);i=le(function(t){return tn(e,r,t).top>n},o,i);return{begin:o,end:i}}function kn(e,t,r,n){r||(r=en(e,t));var i=pn(e,t,tn(e,r,n),"line").top;return wn(e,t,r,i)}function Cn(e,t,r,n){return!(e.bottom<=r)&&(e.top>r||(n?e.left:e.right)>t)}function Sn(e,t,r,n,i){i-=rt(t);var o=en(e,t);var a=dn(t);var l=0,s=t.text.length,u=true;var c=ut(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?Tn:Ln)(e,t,r,o,c,n,i);u=1!=f.level;l=u?f.from:f.to-1;s=u?f.to:f.from-1}var h=null,d=null;var p=le(function(t){var r=tn(e,o,t);r.top+=a;r.bottom+=a;if(!Cn(r,n,i,false))return false;if(r.top<=i&&r.left<=n){h=t;d=r}return true},l,s);var m,v,g=false;if(d){var x=n-d.left=b.bottom}p=ae(t.text,p,1);return yn(r,p,v,g,n-m)}function Ln(e,t,r,n,i,o,a){var l=le(function(l){var s=i[l],u=1!=s.level;return Cn(gn(e,ge(r,u?s.to:s.from,u?"before":"after"),"line",t,n),o,a,true)},0,i.length-1);var s=i[l];if(l>0){var u=1!=s.level;var c=gn(e,ge(r,u?s.from:s.to,u?"after":"before"),"line",t,n);Cn(c,o,a,true)&&c.top>a&&(s=i[l-1])}return s}function Tn(e,t,r,n,i,o,a){var l=wn(e,t,n,a);var s=l.begin;var u=l.end;/\s/.test(t.text.charAt(u-1))&&u--;var c=null,f=null;for(var h=0;h=u||d.to<=s)continue;var p=1!=d.level;var m=tn(e,n,p?Math.min(u,d.to)-1:Math.max(s,d.from)).right;var v=mv){c=d;f=v}}c||(c=i[i.length-1]);c.fromu&&(c={from:c.from,to:u,level:c.level});return c}var Mn;function Nn(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Mn){Mn=N("pre");for(var t=0;t<49;++t){Mn.appendChild(document.createTextNode("x"));Mn.appendChild(N("br"))}Mn.appendChild(document.createTextNode("x"))}M(e.measure,Mn);var r=Mn.offsetHeight/50;r>3&&(e.cachedTextHeight=r);T(e.measure);return r||1}function On(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=N("span","xxxxxxxxxx");var r=N("pre",[t]);M(e.measure,r);var n=t.getBoundingClientRect(),i=(n.right-n.left)/10;i>2&&(e.cachedCharWidth=i);return i||10}function An(e){var t=e.display,r={},n={};var i=t.gutters.clientLeft;for(var o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){r[e.options.gutters[a]]=o.offsetLeft+o.clientLeft+i;n[e.options.gutters[a]]=o.clientWidth}return{fixedPos:Dn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function Dn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Wn(e){var t=Nn(e.display),r=e.options.lineWrapping;var n=r&&Math.max(5,e.display.scroller.clientWidth/On(e.display)-3);return function(i){if(et(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a=e.display.viewTo)return null;t-=e.display.viewFrom;if(t<0)return null;var r=e.display.view;for(var n=0;n=e.display.viewTo||l.to().line0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(r=!r)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}function qn(e){if(!e.state.focused){e.display.input.focus();Un(e)}}function Gn(e){e.state.delayingBlurEvent=true;setTimeout(function(){if(e.state.delayingBlurEvent){e.state.delayingBlurEvent=false;Kn(e)}},100)}function Un(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=false);if("nocursor"==e.options.readOnly)return;if(!e.state.focused){pt(e,"focus",e,t);e.state.focused=true;H(e.display.wrapper,"CodeMirror-focused");if(!e.curOp&&e.display.selForContextMenu!=e.doc.sel){e.display.input.reset();s&&setTimeout(function(){return e.display.input.reset(true)},20)}e.display.input.receivedFocus()}jn(e)}function Kn(e,t){if(e.state.delayingBlurEvent)return;if(e.state.focused){pt(e,"blur",e,t);e.state.focused=false;L(e.display.wrapper,"CodeMirror-focused")}clearInterval(e.display.blinker);setTimeout(function(){e.state.focused||(e.display.shift=false)},150)}function Vn(e){var t=e.display;var r=t.lineDiv.offsetTop;for(var n=0;n.005||c<-.005){he(i.line,o);_n(i.line);if(i.rest)for(var f=0;f=a){o=pe(t,rt(ue(t,s))-e.wrapper.clientHeight);a=s}}return{from:o,to:Math.max(a,o+1)}}function $n(e){var t=e.display,r=t.view;if(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))return;var n=Dn(t)-t.scroller.scrollLeft+e.doc.scrollLeft;var i=t.gutters.offsetWidth,o=n+"px";for(var a=0;a(window.innerHeight||document.documentElement.clientHeight)&&(i=false);if(null!=i&&!p){var o=N("div","​",null,"position: absolute;\n top: "+(t.top-r.viewOffset-Gr(e.display))+"px;\n height: "+(t.bottom-t.top+Vr(e)+r.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o);o.scrollIntoView(i);e.display.lineSpace.removeChild(o)}}function Zn(e,t,r,n){null==n&&(n=0);var i;if(!e.options.lineWrapping&&t==r){t=t.ch?ge(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t;r="before"==t.sticky?ge(t.line,t.ch+1,"before"):t}for(var o=0;o<5;o++){var a=false;var l=gn(e,t);var s=r&&r!=t?gn(e,r):l;i={left:Math.min(l.left,s.left),top:Math.min(l.top,s.top)-n,right:Math.max(l.left,s.left),bottom:Math.max(l.bottom,s.bottom)+n};var u=ei(e,i);var c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=u.scrollTop){li(e,u.scrollTop);Math.abs(e.doc.scrollTop-c)>1&&(a=true)}if(null!=u.scrollLeft){ui(e,u.scrollLeft);Math.abs(e.doc.scrollLeft-f)>1&&(a=true)}if(!a)break}return i}function Qn(e,t){var r=ei(e,t);null!=r.scrollTop&&li(e,r.scrollTop);null!=r.scrollLeft&&ui(e,r.scrollLeft)}function ei(e,t){var r=e.display,n=Nn(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:r.scroller.scrollTop;var o=Xr(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var l=e.doc.height+Ur(r);var s=t.topl-n;if(t.topi+o){var c=Math.min(t.top,(u?l:t.bottom)-o);c!=i&&(a.scrollTop=c)}var f=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:r.scroller.scrollLeft;var h=_r(e)-(e.options.fixedGutter?r.gutters.offsetWidth:0);var d=t.right-t.left>h;d&&(t.right=t.left+h);t.left<10?a.scrollLeft=0:t.lefth+f-3&&(a.scrollLeft=t.right+(d?0:10)-h);return a}function ti(e,t){if(null==t)return;oi(e);e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t}function ri(e){oi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function ni(e,t,r){null==t&&null==r||oi(e);null!=t&&(e.curOp.scrollLeft=t);null!=r&&(e.curOp.scrollTop=r)}function ii(e,t){oi(e);e.curOp.scrollToPos=t}function oi(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var r=xn(e,t.from),n=xn(e,t.to);ai(e,r,n,t.margin)}}function ai(e,t,r,n){var i=ei(e,{left:Math.min(t.left,r.left),top:Math.min(t.top,r.top)-n,right:Math.max(t.right,r.right),bottom:Math.max(t.bottom,r.bottom)+n});ni(e,i.scrollLeft,i.scrollTop)}function li(e,t){if(Math.abs(e.doc.scrollTop-t)<2)return;r||Ui(e,{top:t});si(e,t,true);r&&Ui(e);Pi(e,100)}function si(e,t,r){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t);if(e.display.scroller.scrollTop==t&&!r)return;e.doc.scrollTop=t;e.display.scrollbars.setScrollTop(t);e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t)}function ui(e,t,r,n){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth);if((r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!n)return;e.doc.scrollLeft=t;$n(e);e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t);e.display.scrollbars.setScrollLeft(t)}function ci(e){var t=e.display,r=t.gutters.offsetWidth;var n=Math.round(e.doc.height+Ur(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?r:0,docHeight:n,scrollHeight:n+Vr(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:r}}var fi=function(e,t,r){this.cm=r;var n=this.vert=N("div",[N("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var i=this.horiz=N("div",[N("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(n);e(i);ft(n,"scroll",function(){n.clientHeight&&t(n.scrollTop,"vertical")});ft(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")});this.checkedZeroWidth=false;a&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};fi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1;var r=e.scrollHeight>e.clientHeight+1;var n=e.nativeBarWidth;if(r){this.vert.style.display="block";this.vert.style.bottom=t?n+"px":"0";var i=e.viewHeight-(t?n:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(t){this.horiz.style.display="block";this.horiz.style.right=r?n+"px":"0";this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(r?n:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedZeroWidth&&e.clientHeight>0){0==n&&this.zeroWidthHack();this.checkedZeroWidth=true}return{right:r?n:0,bottom:t?n:0}};fi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e);this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")};fi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e);this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")};fi.prototype.zeroWidthHack=function(){var e=x&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=e;this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new R;this.disableVert=new R};fi.prototype.enableZeroWidthBar=function(e,t,r){e.style.pointerEvents="auto";function n(){var i=e.getBoundingClientRect();var o="vert"==r?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.pointerEvents="none":t.set(1e3,n)}t.set(1e3,n)};fi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz);e.removeChild(this.vert)};var hi=function(){};hi.prototype.update=function(){return{bottom:0,right:0}};hi.prototype.setScrollLeft=function(){};hi.prototype.setScrollTop=function(){};hi.prototype.clear=function(){};function di(e,t){t||(t=ci(e));var r=e.display.barWidth,n=e.display.barHeight;pi(e,t);for(var i=0;i<4&&r!=e.display.barWidth||n!=e.display.barHeight;i++){r!=e.display.barWidth&&e.options.lineWrapping&&Vn(e);pi(e,ci(e));r=e.display.barWidth;n=e.display.barHeight}}function pi(e,t){var r=e.display;var n=r.scrollbars.update(t);r.sizer.style.paddingRight=(r.barWidth=n.right)+"px";r.sizer.style.paddingBottom=(r.barHeight=n.bottom)+"px";r.heightForcer.style.borderBottom=n.bottom+"px solid transparent";if(n.right&&n.bottom){r.scrollbarFiller.style.display="block";r.scrollbarFiller.style.height=n.bottom+"px";r.scrollbarFiller.style.width=n.right+"px"}else r.scrollbarFiller.style.display="";if(n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter){r.gutterFiller.style.display="block";r.gutterFiller.style.height=n.bottom+"px";r.gutterFiller.style.width=t.gutterWidth+"px"}else r.gutterFiller.style.display=""}var mi={native:fi,null:hi};function vi(e){if(e.display.scrollbars){e.display.scrollbars.clear();e.display.scrollbars.addClass&&L(e.display.wrapper,e.display.scrollbars.addClass)}e.display.scrollbars=new mi[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller);ft(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)});t.setAttribute("cm-not-content","true")},function(t,r){"horizontal"==r?ui(e,t):li(e,t)},e);e.display.scrollbars.addClass&&H(e.display.wrapper,e.display.scrollbars.addClass)}var gi=0;function xi(e){e.curOp={cm:e,viewChanged:false,startHeight:e.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:false,id:++gi};Cr(e.curOp)}function yi(e){var t=e.curOp;Lr(t,function(e){for(var t=0;t=r.viewTo)||r.maxLineChanged&&t.options.lineWrapping;e.update=e.mustUpdate&&new zi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function ki(e){e.updatedDisplay=e.mustUpdate&&qi(e.cm,e.update)}function Ci(e){var t=e.cm,r=t.display;e.updatedDisplay&&Vn(t);e.barMeasure=ci(t);if(r.maxLineChanged&&!t.options.lineWrapping){e.adjustWidthTo=Zr(t,r.maxLine,r.maxLine.text.length).left+3;t.display.sizerWidth=e.adjustWidthTo;e.barMeasure.scrollWidth=Math.max(r.scroller.clientWidth,r.sizer.offsetLeft+e.adjustWidthTo+Vr(t)+t.display.barWidth);e.maxScrollLeft=Math.max(0,r.sizer.offsetLeft+e.adjustWidthTo-_r(t))}(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=r.input.prepareSelection())}function Si(e){var t=e.cm;if(null!=e.adjustWidthTo){t.display.sizer.style.minWidth=e.adjustWidthTo+"px";e.maxScrollLeftt)&&(i.updateLineNumbers=t);e.curOp.viewChanged=true;if(t>=i.viewTo)Ne&&Ze(e.doc,t)i.viewFrom)Wi(e);else{i.viewFrom+=n;i.viewTo+=n}else if(t<=i.viewFrom&&r>=i.viewTo)Wi(e);else if(t<=i.viewFrom){var o=Hi(e,r,r+n,1);if(o){i.view=i.view.slice(o.index);i.viewFrom=o.lineN;i.viewTo+=n}else Wi(e)}else if(r>=i.viewTo){var a=Hi(e,t,t,-1);if(a){i.view=i.view.slice(0,a.index);i.viewTo=a.lineN}else Wi(e)}else{var l=Hi(e,t,t,-1);var s=Hi(e,r,r+n,1);if(l&&s){i.view=i.view.slice(0,l.index).concat(wr(e,l.lineN,s.lineN)).concat(i.view.slice(s.index));i.viewTo+=n}else Wi(e)}var u=i.externalMeasured;u&&(r=i.lineN&&t=n.viewTo)return;var o=n.view[Fn(e,t)];if(null==o.node)return;var a=o.changes||(o.changes=[]);-1==B(a,r)&&a.push(r)}function Wi(e){e.display.viewFrom=e.display.viewTo=e.doc.first;e.display.view=[];e.display.viewOffset=0}function Hi(e,t,r,n){var i=Fn(e,t),o,a=e.display.view;if(!Ne||r==e.doc.first+e.doc.size)return{index:i,lineN:r};var l=e.display.viewFrom;for(var s=0;s0){if(i==a.length-1)return null;o=l+a[i].size-t;i++}else o=l-t;t+=o;r+=o}while(Ze(e.doc,r)!=r){if(i==(n<0?0:a.length-1))return null;r+=n*a[i-(n<0?1:0)].size;i+=n}return{index:i,lineN:r}}function Ei(e,t,r){var n=e.display,i=n.view;if(0==i.length||t>=n.viewTo||r<=n.viewFrom){n.view=wr(e,t,r);n.viewFrom=t}else{n.viewFrom>t?n.view=wr(e,t,n.viewFrom).concat(n.view):n.viewFromr&&(n.view=n.view.slice(0,Fn(e,r)))}n.viewTo=r}function Fi(e){var t=e.display.view,r=0;for(var n=0;n=e.display.viewTo)return;var r=+new Date+e.options.workTime;var n=Jt(e,t.highlightFrontier);var i=[];t.iter(n.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(n.line>=e.display.viewFrom){var a=o.styles;var l=o.text.length>e.options.maxHighlightLength?Gt(t.mode,n.state):null;var s=$t(e,o,n,true);l&&(n.state=l);o.styles=s.styles;var u=o.styleClasses,c=s.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);var f=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass);for(var h=0;!f&&hr){Pi(e,e.options.workDelay);return true}});t.highlightFrontier=n.line;t.modeFrontier=Math.max(t.modeFrontier,n.line);i.length&&Ti(e,function(){for(var t=0;t=r.viewFrom&&t.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==Fi(e))return false;if(Yn(e)){Wi(e);t.dims=An(e)}var i=n.first+n.size;var o=Math.max(t.visible.from-e.options.viewportMargin,n.first);var a=Math.min(i,t.visible.to+e.options.viewportMargin);r.viewFroma&&r.viewTo-a<20&&(a=Math.min(i,r.viewTo));if(Ne){o=Ze(e.doc,o);a=Qe(e.doc,a)}var l=o!=r.viewFrom||a!=r.viewTo||r.lastWrapHeight!=t.wrapperHeight||r.lastWrapWidth!=t.wrapperWidth;Ei(e,o,a);r.viewOffset=rt(ue(e.doc,r.viewFrom));e.display.mover.style.top=r.viewOffset+"px";var s=Fi(e);if(!l&&0==s&&!t.force&&r.renderedView==r.view&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo))return false;var u=Bi(e);s>4&&(r.lineDiv.style.display="none");Ki(e,r.updateLineNumbers,t.dims);s>4&&(r.lineDiv.style.display="");r.renderedView=r.view;ji(u);T(r.cursorDiv);T(r.selectionDiv);r.gutters.style.height=r.sizer.style.minHeight=0;if(l){r.lastWrapHeight=t.wrapperHeight;r.lastWrapWidth=t.wrapperWidth;Pi(e,400)}r.updateLineNumbers=null;return true}function Gi(e,t){var r=t.viewport;for(var n=true;;n=false){if(!n||!e.options.lineWrapping||t.oldDisplayWidth==_r(e)){r&&null!=r.top&&(r={top:Math.min(e.doc.height+Ur(e.display)-Xr(e),r.top)});t.visible=Xn(e.display,e.doc,r);if(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}if(!qi(e,t))break;Vn(e);var i=ci(e);Pn(e);di(e,i);_i(e,i);t.force=false}t.signal(e,"update",e);if(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo){t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo);e.display.reportedViewFrom=e.display.viewFrom;e.display.reportedViewTo=e.display.viewTo}}function Ui(e,t){var r=new zi(e,t);if(qi(e,r)){Vn(e);Gi(e,r);var n=ci(e);Pn(e);di(e,n);_i(e,n);r.finish()}}function Ki(e,t,r){var n=e.display,i=e.options.lineNumbers;var o=n.lineDiv,a=o.firstChild;function l(t){var r=t.nextSibling;s&&x&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t);return r}var u=n.view,c=n.viewFrom;for(var f=0;f-1&&(d=false);Or(e,h,c,r)}if(d){T(h.lineNumber);h.lineNumber.appendChild(document.createTextNode(ve(e.options,c)))}a=h.node.nextSibling}else{var p=Ir(e,h,c,r);o.insertBefore(p,a)}c+=h.size}while(a)a=l(a)}function Vi(e){var t=e.display.gutters.offsetWidth;e.display.sizer.style.marginLeft=t+"px"}function _i(e,t){e.display.sizer.style.minHeight=t.docHeight+"px";e.display.heightForcer.style.top=t.docHeight+"px";e.display.gutters.style.height=t.docHeight+e.display.barHeight+Vr(e)+"px"}function Xi(e){var t=e.display.gutters,r=e.options.gutters;T(t);var n=0;for(;n-1&&!e.lineNumbers){e.gutters=e.gutters.slice(0);e.gutters.splice(t,1)}}var Yi=0;var Ji=null;a?Ji=-.53:r?Ji=15:c?Ji=-.7:h&&(Ji=-1/3);function Zi(e){var t=e.wheelDeltaX,r=e.wheelDeltaY;null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail);null==r&&e.detail&&e.axis==e.VERTICAL_AXIS?r=e.detail:null==r&&(r=e.wheelDelta);return{x:t,y:r}}function Qi(e){var t=Zi(e);t.x*=Ji;t.y*=Ji;return t}function eo(e,t){var n=Zi(t),i=n.x,o=n.y;var a=e.display,l=a.scroller;var u=l.scrollWidth>l.clientWidth;var c=l.scrollHeight>l.clientHeight;if(!(i&&u||o&&c))return;if(o&&x&&s)e:for(var h=t.target,d=a.view;h!=l;h=h.parentNode)for(var p=0;p=0&&xe(e,i.to())<=0)return n}return-1};var ro=function(e,t){this.anchor=e;this.head=t};ro.prototype.from=function(){return ke(this.anchor,this.head)};ro.prototype.to=function(){return we(this.anchor,this.head)};ro.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function no(e,t){var r=e[t];e.sort(function(e,t){return xe(e.from(),t.from())});t=B(e,r);for(var n=1;n=0){var a=ke(o.from(),i.from()),l=we(o.to(),i.to());var s=o.empty()?i.from()==i.head:o.from()==o.head;n<=t&&--t;e.splice(--n,2,new ro(s?l:a,s?a:l))}}return new to(e,t)}function io(e,t){return new to([new ro(e,t||e)],0)}function oo(e){if(!e.text)return e.to;return ge(e.from.line+e.text.length-1,$(e.text).length+(1==e.text.length?e.from.ch:0))}function ao(e,t){if(xe(e,t.from)<0)return e;if(xe(e,t.to)<=0)return oo(t);var r=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch;e.line==t.to.line&&(n+=oo(t).ch-t.to.ch);return ge(r,n)}function lo(e,t){var r=[];for(var n=0;n1&&e.remove(l.line+1,p-1);e.insert(l.line+1,g)}Mr(e,"change",e,t)}function mo(e,t,r){function n(e,i,o){if(e.linked)for(var a=0;a1&&!e.done[e.done.length-2].ranges){e.done.pop();return $(e.done)}}function Co(e,t,r,n){var i=e.history;i.undone.length=0;var o=+new Date,a;var l;if((i.lastOp==n||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&i.lastModTime>o-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(a=ko(i,i.lastOp==n))){l=$(a.changes);0==xe(t.from,t.to)&&0==xe(t.from,l.to)?l.to=oo(t):a.changes.push(bo(e,t))}else{var s=$(i.done);s&&s.ranges||To(e.sel,i.done);a={changes:[bo(e,t)],generation:i.generation};i.done.push(a);while(i.done.length>i.undoDepth){i.done.shift();i.done[0].ranges||i.done.shift()}}i.done.push(r);i.generation=++i.maxGeneration;i.lastModTime=i.lastSelTime=o;i.lastOp=i.lastSelOp=n;i.lastOrigin=i.lastSelOrigin=t.origin;l||pt(e,"historyAdded")}function So(e,t,r,n){var i=t.charAt(0);return"*"==i||"+"==i&&r.ranges.length==n.ranges.length&&r.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function Lo(e,t,r,n){var i=e.history,o=n&&n.origin;r==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||So(e,o,$(i.done),t))?i.done[i.done.length-1]=t:To(t,i.done);i.lastSelTime=+new Date;i.lastSelOrigin=o;i.lastSelOp=r;n&&false!==n.clearRedo&&wo(i.undone)}function To(e,t){var r=$(t);r&&r.ranges&&r.equals(e)||t.push(e)}function Mo(e,t,r,n){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,r),Math.min(e.first+e.size,n),function(r){r.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=r.markedSpans);++o})}function No(e){if(!e)return null;var t;for(var r=0;r-1){$(l)[f]=u[f];delete u[f]}}}return n}function Wo(e,t,r,n){if(n){var i=e.anchor;if(r){var o=xe(t,i)<0;if(o!=xe(r,i)<0){i=t;t=r}else o!=xe(t,r)<0&&(t=r)}return new ro(i,t)}return new ro(r||t,t)}function Ho(e,t,r,n,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend));Ro(e,new to([Wo(e.sel.primary(),t,r,i)],0),n)}function Eo(e,t,r){var n=[];var i=e.cm&&(e.cm.display.shift||e.extend);for(var o=0;o=t.ch:l.to>t.ch))){if(i){pt(s,"beforeCursorEnter");if(s.explicitlyCleared){if(o.markedSpans){--a;continue}break}}if(!s.atomic)continue;if(r){var u=s.find(n<0?1:-1),c=void 0;(n<0?s.inclusiveRight:s.inclusiveLeft)&&(u=Vo(e,u,-n,u&&u.line==t.line?o:null));if(u&&u.line==t.line&&(c=xe(u,r))&&(n<0?c<0:c>0))return Uo(e,u,t,n,i)}var f=s.find(n<0?-1:1);(n<0?s.inclusiveLeft:s.inclusiveRight)&&(f=Vo(e,f,n,f.line==t.line?o:null));return f?Uo(e,f,t,n,i):null}}return t}function Ko(e,t,r,n,i){var o=n||1;var a=Uo(e,t,r,o,i)||!i&&Uo(e,t,r,o,true)||Uo(e,t,r,-o,i)||!i&&Uo(e,t,r,-o,true);if(!a){e.cantEdit=true;return ge(e.first,0)}return a}function Vo(e,t,r,n){return r<0&&0==t.ch?t.line>e.first?Se(e,ge(t.line-1)):null:r>0&&t.ch==(n||ue(e,t.line)).text.length?t.line=0;--i)Yo(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text,origin:t.origin});else Yo(e,t)}function Yo(e,t){if(1==t.text.length&&""==t.text[0]&&0==xe(t.from,t.to))return;var r=lo(e,t);Co(e,t,r,e.cm?e.cm.curOp.id:NaN);Qo(e,t,r,Ie(e,t));var n=[];mo(e,function(e,r){if(!r&&-1==B(n,e.history)){ia(e.history,t);n.push(e.history)}Qo(e,t,null,Ie(e,t))})}function Jo(e,t,r){var n=e.cm&&e.cm.state.suppressEdits;if(n&&!r)return;var i=e.history,o,a=e.sel;var l="undo"==t?i.done:i.undone,s="undo"==t?i.undone:i.done;var u=0;for(;u=0;--d){var p=h(d);if(p)return p.v}}function Zo(e,t){if(0==t)return;e.first+=t;e.sel=new to(Y(e.sel.ranges,function(e){return new ro(ge(e.anchor.line+t,e.anchor.ch),ge(e.head.line+t,e.head.ch))}),e.sel.primIndex);if(e.cm){Ai(e.cm,e.first,e.first-t,t);for(var r=e.cm.display,n=r.viewFrom;ne.lastLine())return;if(t.from.lineo&&(t={from:t.from,to:ge(o,ue(e,o).text.length),text:[t.text[0]],origin:t.origin});t.removed=ce(e,t.from,t.to);r||(r=lo(e,t));e.cm?ea(e.cm,t,n):po(e,t,n);Bo(e,r,G)}function ea(e,t,r){var n=e.doc,i=e.display,o=t.from,a=t.to;var l=false,s=o.line;if(!e.options.lineWrapping){s=de($e(ue(n,o.line)));n.iter(s,a.line+1,function(e){if(e==i.maxLine){l=true;return true}})}n.sel.contains(t.from,t.to)>-1&&vt(e);po(n,t,r,Wn(e));if(!e.options.lineWrapping){n.iter(s,o.line+t.text.length,function(e){var t=nt(e);if(t>i.maxLineLength){i.maxLine=e;i.maxLineLength=t;i.maxLineChanged=true;l=false}});l&&(e.curOp.updateMaxLine=true)}ar(n,o.line);Pi(e,400);var u=t.text.length-(a.line-o.line)-1;t.full?Ai(e):o.line!=a.line||1!=t.text.length||ho(e.doc,t)?Ai(e,o.line,a.line+1,u):Di(e,o.line,"text");var c=gt(e,"changes"),f=gt(e,"change");if(f||c){var h={from:o,to:a,text:t.text,removed:t.removed,origin:t.origin};f&&Mr(e,"change",e,h);c&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(h)}e.display.selForContextMenu=null}function ta(e,t,r,n,i){n||(n=r);if(xe(n,r)<0){var o;o=[n,r],r=o[0],n=o[1]}"string"==typeof t&&(t=e.splitLines(t));$o(e,{from:r,to:n,text:t,origin:i})}function ra(e,t,r,n){if(r1||!(this.children[0]instanceof aa))){var s=[];this.collapse(s);this.children=[new aa(s)];this.children[0].parent=this}},collapse:function(e){var t=this;for(var r=0;r50){var l=o.lines.length%25+25;for(var s=l;s10);e.parent.maybeSpill()},iterN:function(e,t,r){var n=this;for(var i=0;it.display.maxLineLength){t.display.maxLine=c;t.display.maxLineLength=f;t.display.maxLineChanged=true}}null!=i&&t&&this.collapsed&&Ai(t,i,o+1);this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;t&&qo(t.doc)}t&&Mr(t,"markerCleared",t,this,i,o);r&&yi(t);this.parent&&this.parent.clear()};ha.prototype.find=function(e,t){var r=this;null==e&&"bookmark"==this.type&&(e=1);var n,i;for(var o=0;o0||0==a&&false!==o.clearWhenEmpty)return o;if(o.replacedWith){o.collapsed=true;o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget");n.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true");n.insertLeft&&(o.widgetNode.insertLeft=true)}if(o.collapsed){if(Xe(e,t.line,t,r,o)||t.line!=r.line&&Xe(e,r.line,t,r,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ae()}o.addToHistory&&Co(e,{from:t,to:r,origin:"markText"},e.sel,NaN);var l=t.line,s=e.cm,u;e.iter(l,r.line+1,function(e){s&&o.collapsed&&!s.options.lineWrapping&&$e(e)==s.display.maxLine&&(u=true);o.collapsed&&l!=t.line&&he(e,0);Ee(e,new De(o,l==t.line?t.ch:null,l==r.line?r.ch:null));++l});o.collapsed&&e.iter(t.line,r.line+1,function(t){et(e,t)&&he(t,0)});o.clearOnEnter&&ft(o,"beforeCursorEnter",function(){return o.clear()});if(o.readOnly){Oe();(e.history.done.length||e.history.undone.length)&&e.clearHistory()}if(o.collapsed){o.id=++fa;o.atomic=true}if(s){u&&(s.curOp.updateMaxLine=true);if(o.collapsed)Ai(s,t.line,r.line+1);else if(o.className||o.title||o.startStyle||o.endStyle||o.css)for(var c=t.line;c<=r.line;c++)Di(s,c,"text");o.atomic&&qo(s.doc);Mr(s,"markerAdded",s,o)}return o}var pa=function(e,t){var r=this;this.markers=e;this.primary=t;for(var n=0;n=0;u--)$o(n,i[u]);s?zo(this,s):this.cm&&ri(this.cm)}),undo:Oi(function(){Jo(this,"undo")}),redo:Oi(function(){Jo(this,"redo")}),undoSelection:Oi(function(){Jo(this,"undo",true)}),redoSelection:Oi(function(){Jo(this,"redo",true)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){var e=this.history,t=0,r=0;for(var n=0;n=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,r){e=Se(this,e);t=Se(this,t);var n=[],i=e.line;this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var l=0;l=s.to||null==s.from&&i!=e.line||null!=s.from&&i==t.line&&s.from>=t.ch||r&&!r(s.marker)||n.push(s.marker.parent||s.marker)}++i});return n},getAllMarks:function(){var e=[];this.iter(function(t){var r=t.markedSpans;if(r)for(var n=0;ne){t=e;return true}e-=o;++r});return Se(this,ge(r,t))},indexFromPos:function(e){e=Se(this,e);var t=e.ch;if(e.linet&&(t=e.from);null!=e.to&&e.to-1){t.state.draggingText(e);setTimeout(function(){return t.display.input.focus()},20);return}try{var c=e.dataTransfer.getData("Text");if(c){var f;t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections());Bo(t.doc,io(r,r));if(f)for(var h=0;h=0;t--)ta(e.doc,"",n[t].from,n[t].to,"+delete");ri(e)})}function Ua(e,t,r){var n=ae(e.text,t+r,r);return n<0||n>e.text.length?null:n}function Ka(e,t,r){var n=Ua(e,t.ch,r);return null==n?null:new ge(t.line,n,r<0?"after":"before")}function Va(e,t,r,n,i){if(e){var o=ut(r,t.doc.direction);if(o){var a=i<0?$(o):o[0];var l=i<0==(1==a.level);var s=l?"after":"before";var u;if(a.level>0||"rtl"==t.doc.direction){var c=en(t,r);u=i<0?r.text.length-1:0;var f=tn(t,c,u).top;u=le(function(e){return tn(t,c,e).top==f},i<0==(1==a.level)?a.from:a.to-1,u);"before"==s&&(u=Ua(r,u,1))}else u=i<0?a.to:a.from;return new ge(n,u,s)}}return new ge(n,i<0?r.text.length:0,i<0?"before":"after")}function _a(e,t,r,n){var i=ut(t,e.doc.direction);if(!i)return Ka(t,r,n);if(r.ch>=t.text.length){r.ch=t.text.length;r.sticky="before"}else if(r.ch<=0){r.ch=0;r.sticky="after"}var o=lt(i,r.ch,r.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(n>0?a.to>r.ch:a.from=a.from&&h>=c.begin)){var d=f?"before":"after";return new ge(r.line,h,d)}}var p=function(e,t,n){var o=function(e,t){return t?new ge(r.line,l(e,1),"before"):new ge(r.line,e,"after")};for(;e>=0&&e0==(1!=a.level);var u=s?n.begin:l(n.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);if(null!=v&&!(n>0&&v==t.text.length)){m=p(n>0?0:i.length-1,n,u(v));if(m)return m}return null}var Xa={selectAll:_o,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),G)},killLine:function(e){return Ga(e,function(t){if(t.empty()){var r=ue(e.doc,t.head.line).text.length;return t.head.ch==r&&t.head.line0){i=new ge(i.line,i.ch+1);e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ge(i.line,i.ch-2),i,"+transpose")}else if(i.line>e.doc.first){var a=ue(e.doc,i.line-1).text;if(a){i=new ge(i.line,1);e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),ge(i.line-1,a.length-1),i,"+transpose")}}}r.push(new ro(i,i))}e.setSelections(r)})},newlineAndIndent:function(e){return Ti(e,function(){var t=e.listSelections();for(var r=t.length-1;r>=0;r--)e.replaceRange(e.doc.lineSeparator(),t[r].anchor,t[r].head,"+input");t=e.listSelections();for(var n=0;ne&&0==xe(t,this.pos)&&r==this.button};var hl;var dl;function pl(e,t){var r=+new Date;if(dl&&dl.compare(r,e,t)){hl=dl=null;return"triple"}if(hl&&hl.compare(r,e,t)){dl=new fl(r,e,t);hl=null;return"double"}hl=new fl(r,e,t);dl=null;return"single"}function ml(e){var t=this,r=t.display;if(mt(t,e)||r.activeTouch&&r.input.supportsTouch())return;r.input.ensurePolled();r.shift=e.shiftKey;if(qr(r,e)){if(!s){r.scroller.draggable=false;setTimeout(function(){return r.scroller.draggable=true},100)}return}if(Sl(t,e))return;var n=En(t,e),i=St(e),o=n?pl(n,i):"single";window.focus();1==i&&t.state.selectingText&&t.state.selectingText(e);if(n&&vl(t,i,n,o,e))return;if(1==i)n?xl(t,n,o,e):Ct(e)==r.scroller&&yt(e);else if(2==i){n&&Ho(t.doc,n);setTimeout(function(){return r.input.focus()},20)}else 3==i&&(C?Ll(t,e):Gn(t))}function vl(e,t,r,n,i){var o="Click";"double"==n?o="Double"+o:"triple"==n&&(o="Triple"+o);o=(1==t?"Left":2==t?"Middle":"Right")+o;return tl(e,Ba(o,i),i,function(t){"string"==typeof t&&(t=Xa[t]);if(!t)return false;var n=false;try{e.isReadOnly()&&(e.state.suppressEdits=true);n=t(e,r)!=q}finally{e.state.suppressEdits=false}return n})}function gl(e,t,r){var n=e.getOption("configureMouse");var i=n?n(e,t,r):{};if(null==i.unit){var o=y?r.shiftKey&&r.metaKey:r.altKey;i.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||r.shiftKey);null==i.addNew&&(i.addNew=x?r.metaKey:r.ctrlKey);null==i.moveOnDrag&&(i.moveOnDrag=!(x?r.altKey:r.ctrlKey));return i}function xl(e,t,r,n){a?setTimeout(P(qn,e),0):e.curOp.focus=W();var i=gl(e,r,n);var o=e.doc.sel,l;e.options.dragDrop&&Lt&&!e.isReadOnly()&&"single"==r&&(l=o.contains(t))>-1&&(xe((l=o.ranges[l]).from(),t)<0||t.xRel>0)&&(xe(l.to(),t)>0||t.xRel<0)?yl(e,n,t,i):wl(e,n,t,i)}function yl(e,t,r,n){var i=e.display,o=false;var u=Mi(e,function(t){s&&(i.scroller.draggable=false);e.state.draggingText=false;dt(i.wrapper.ownerDocument,"mouseup",u);dt(i.wrapper.ownerDocument,"mousemove",c);dt(i.scroller,"dragstart",f);dt(i.scroller,"drop",u);if(!o){yt(t);n.addNew||Ho(e.doc,r,null,null,n.extend);s||a&&9==l?setTimeout(function(){i.wrapper.ownerDocument.body.focus();i.input.focus()},20):i.input.focus()}});var c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10};var f=function(){return o=true};s&&(i.scroller.draggable=true);e.state.draggingText=u;u.copy=!n.moveOnDrag;i.scroller.dragDrop&&i.scroller.dragDrop();ft(i.wrapper.ownerDocument,"mouseup",u);ft(i.wrapper.ownerDocument,"mousemove",c);ft(i.scroller,"dragstart",f);ft(i.scroller,"drop",u);Gn(e);setTimeout(function(){return i.input.focus()},20)}function bl(e,t,r){if("char"==r)return new ro(t,t);if("word"==r)return e.findWordAt(t);if("line"==r)return new ro(ge(t.line,0),Se(e.doc,ge(t.line+1,0)));var n=r(e,t);return new ro(n.from,n.to)}function wl(e,t,r,n){var i=e.display,o=e.doc;yt(t);var a,l,s=o.sel,u=s.ranges;if(n.addNew&&!n.extend){l=o.sel.contains(r);a=l>-1?u[l]:new ro(r,r)}else{a=o.sel.primary();l=o.sel.primIndex}if("rectangle"==n.unit){n.addNew||(a=new ro(r,r));r=En(e,t,true,true);l=-1}else{var c=bl(e,r,n.unit);a=n.extend?Wo(a,c.anchor,c.head,n.extend):c}if(n.addNew)if(-1==l){l=u.length;Ro(o,no(u.concat([a]),l),{scroll:false,origin:"*mouse"})}else if(u.length>1&&u[l].empty()&&"char"==n.unit&&!n.extend){Ro(o,no(u.slice(0,l).concat(u.slice(l+1)),0),{scroll:false,origin:"*mouse"});s=o.sel}else Fo(o,l,a,U);else{l=0;Ro(o,new to([a],0),U);s=o.sel}var f=r;function h(t){if(0==xe(f,t))return;f=t;if("rectangle"==n.unit){var i=[],u=e.options.tabSize;var c=z(ue(o,r.line).text,r.ch,u);var h=z(ue(o,t.line).text,t.ch,u);var d=Math.min(c,h),p=Math.max(c,h);for(var m=Math.min(r.line,t.line),v=Math.min(e.lastLine(),Math.max(r.line,t.line));m<=v;m++){var g=ue(o,m).text,x=V(g,d,u);d==p?i.push(new ro(ge(m,x),ge(m,x))):g.length>x&&i.push(new ro(ge(m,x),ge(m,V(g,p,u))))}i.length||i.push(new ro(r,r));Ro(o,no(s.ranges.slice(0,l).concat(i),l),{origin:"*mouse",scroll:false});e.scrollIntoView(t)}else{var y=a;var b=bl(e,t,n.unit);var w=y.anchor,k;if(xe(b.anchor,w)>0){k=b.head;w=ke(y.from(),b.anchor)}else{k=b.anchor;w=we(y.to(),b.head)}var C=s.ranges.slice(0);C[l]=kl(e,new ro(Se(o,w),k));Ro(o,no(C,l),U)}}var d=i.wrapper.getBoundingClientRect();var p=0;function m(t){var r=++p;var a=En(e,t,true,"rectangle"==n.unit);if(!a)return;if(0!=xe(a,f)){e.curOp.focus=W();h(a);var l=Xn(i,o);(a.line>=l.to||a.lined.bottom?20:0;s&&setTimeout(Mi(e,function(){if(p!=r)return;i.scroller.scrollTop+=s;m(t)}),50)}}function v(t){e.state.selectingText=false;p=Infinity;yt(t);i.input.focus();dt(i.wrapper.ownerDocument,"mousemove",g);dt(i.wrapper.ownerDocument,"mouseup",x);o.history.lastSelOrigin=null}var g=Mi(e,function(e){St(e)?m(e):v(e)});var x=Mi(e,v);e.state.selectingText=x;ft(i.wrapper.ownerDocument,"mousemove",g);ft(i.wrapper.ownerDocument,"mouseup",x)}function kl(e,t){var r=t.anchor;var n=t.head;var i=ue(e.doc,r.line);if(0==xe(r,n)&&r.sticky==n.sticky)return t;var o=ut(i);if(!o)return t;var a=lt(o,r.ch,r.sticky),l=o[a];if(l.from!=r.ch&&l.to!=r.ch)return t;var s=a+(l.from==r.ch==(1!=l.level)?0:1);if(0==s||s==o.length)return t;var u;if(n.line!=r.line)u=(n.line-r.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=lt(o,n.ch,n.sticky);var f=c-a||(n.ch-r.ch)*(1==l.level?-1:1);u=c==s-1||c==s?f<0:f>0}var h=o[s+(u?-1:0)];var d=u==(1==h.level);var p=d?h.from:h.to,m=d?"after":"before";return r.ch==p&&r.sticky==m?t:new ro(new ge(r.line,p,m),n)}function Cl(e,t,r,n){var i,o;if(t.touches){i=t.touches[0].clientX;o=t.touches[0].clientY}else try{i=t.clientX;o=t.clientY}catch(t){return false}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return false;n&&yt(t);var a=e.display;var l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!gt(e,r))return wt(t);o-=l.top-a.viewOffset;for(var s=0;s=i){var c=pe(e.doc,o);var f=e.options.gutters[s];pt(e,r,e,c,f,t);return wt(t)}}}function Sl(e,t){return Cl(e,t,"gutterClick",true)}function Ll(e,t){if(qr(e.display,t)||Tl(e,t))return;if(mt(e,t,"contextmenu"))return;e.display.input.onContextMenu(t)}function Tl(e,t){if(!gt(e,"gutterContextMenu"))return false;return Cl(e,t,"gutterContextMenu",false)}function Ml(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-");cn(e)}var Nl={toString:function(){return"CodeMirror.Init"}};var Ol={};var Al={};function Dl(e){var t=e.optionHandlers;function r(r,n,i,o){e.defaults[r]=n;i&&(t[r]=o?function(e,t,r){r!=Nl&&i(e,t,r)}:i)}e.defineOption=r;e.Init=Nl;r("value","",function(e,t){return e.setValue(t)},true);r("mode",null,function(e,t){e.doc.modeOption=t;co(e)},true);r("indentUnit",2,co,true);r("indentWithTabs",false);r("smartIndent",true);r("tabSize",4,function(e){fo(e);cn(e);Ai(e)},true);r("lineSeparator",null,function(e,t){e.doc.lineSep=t;if(!t)return;var r=[],n=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length;r.push(ge(n,o))}n++});for(var i=r.length-1;i>=0;i--)ta(e.doc,t,r[i],ge(r[i].line,r[i].ch+t.length))});r("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,r){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g");r!=Nl&&e.refresh()});r("specialCharPlaceholder",pr,function(e){return e.refresh()},true);r("electricChars",true);r("inputStyle",g?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},true);r("spellcheck",false,function(e,t){return e.getInputField().spellcheck=t},true);r("rtlMoveVisually",!b);r("wholeLineUpdateBefore",true);r("theme","default",function(e){Ml(e);Wl(e)},true);r("keyMap","default",function(e,t,r){var n=qa(t);var i=r!=Nl&&qa(r);i&&i.detach&&i.detach(e,n);n.attach&&n.attach(e,i||null)});r("extraKeys",null);r("configureMouse",null);r("lineWrapping",false,El,true);r("gutters",[],function(e){$i(e.options);Wl(e)},true);r("fixedGutter",true,function(e,t){e.display.gutters.style.left=t?Dn(e.display)+"px":"0";e.refresh()},true);r("coverGutterNextToScrollbar",false,function(e){return di(e)},true);r("scrollbarStyle","native",function(e){vi(e);di(e);e.display.scrollbars.setScrollTop(e.doc.scrollTop);e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},true);r("lineNumbers",false,function(e){$i(e.options);Wl(e)},true);r("firstLineNumber",1,Wl,true);r("lineNumberFormatter",function(e){return e},Wl,true);r("showCursorWhenSelecting",false,Pn,true);r("resetSelectionOnContextMenu",true);r("lineWiseCopyCut",true);r("pasteLinesPerSelection",true);r("readOnly",false,function(e,t){if("nocursor"==t){Kn(e);e.display.input.blur()}e.display.input.readOnlyChanged(t)});r("disableInput",false,function(e,t){t||e.display.input.reset()},true);r("dragDrop",true,Hl);r("allowDropFileTypes",null);r("cursorBlinkRate",530);r("cursorScrollMargin",0);r("cursorHeight",1,Pn,true);r("singleCursorHeightPerLine",true,Pn,true);r("workTime",100);r("workDelay",100);r("flattenSpans",true,fo,true);r("addModeClass",false,fo,true);r("pollInterval",100);r("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t});r("historyEventDelay",1250);r("viewportMargin",10,function(e){return e.refresh()},true);r("maxHighlightLength",1e4,fo,true);r("moveInputWithCursor",true,function(e,t){t||e.display.input.resetPosition()});r("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""});r("autofocus",null);r("direction","ltr",function(e,t){return e.doc.setDirection(t)},true)}function Wl(e){Xi(e);Ai(e);$n(e)}function Hl(e,t,r){var n=r&&r!=Nl;if(!t!=!n){var i=e.display.dragFunctions;var o=t?ft:dt;o(e.display.scroller,"dragstart",i.start);o(e.display.scroller,"dragenter",i.enter);o(e.display.scroller,"dragover",i.over);o(e.display.scroller,"dragleave",i.leave);o(e.display.scroller,"drop",i.drop)}}function El(e){if(e.options.lineWrapping){H(e.display.wrapper,"CodeMirror-wrap");e.display.sizer.style.minWidth="";e.display.sizerWidth=null}else{L(e.display.wrapper,"CodeMirror-wrap");it(e)}Hn(e);Ai(e);cn(e);setTimeout(function(){return di(e)},100)}function Fl(e,t){var r=this;if(!(this instanceof Fl))return new Fl(e,t);this.options=t=t?I(t):{};I(Ol,t,false);$i(t);var n=t.value;"string"==typeof n&&(n=new ba(n,t.mode,null,t.lineSeparator,t.direction));this.doc=n;var i=new Fl.inputStyles[t.inputStyle](this);var o=this.display=new se(e,n,i);o.wrapper.CodeMirror=this;Xi(this);Ml(this);t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");vi(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,delayingBlurEvent:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,selectingText:false,draggingText:false,highlight:new R,keySeq:null,specialChars:null};t.autofocus&&!g&&o.input.focus();a&&l<11&&setTimeout(function(){return r.display.input.reset(true)},20);Pl(this);Na();xi(this);this.curOp.forceUpdate=true;vo(this,n);t.autofocus&&!g||this.hasFocus()?setTimeout(P(Un,this),20):Kn(this);for(var u in Al)Al.hasOwnProperty(u)&&Al[u](r,t[u],Nl);Yn(this);t.finishInit&&t.finishInit(this);for(var c=0;c400}ft(t.scroller,"touchstart",function(i){if(!mt(e,i)&&!o(i)&&!Sl(e,i)){t.input.ensurePolled();clearTimeout(r);var a=+new Date;t.activeTouch={start:a,moved:false,prev:a-n.end<=300?n:null};if(1==i.touches.length){t.activeTouch.left=i.touches[0].pageX;t.activeTouch.top=i.touches[0].pageY}}});ft(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=true)});ft(t.scroller,"touchend",function(r){var n=t.activeTouch;if(n&&!qr(t,r)&&null!=n.left&&!n.moved&&new Date-n.start<300){var o=e.coordsChar(t.activeTouch,"page"),a;a=!n.prev||s(n,n.prev)?new ro(o,o):!n.prev.prev||s(n,n.prev.prev)?e.findWordAt(o):new ro(ge(o.line,0),Se(e.doc,ge(o.line+1,0)));e.setSelection(a.anchor,a.head);e.focus();yt(r)}i()});ft(t.scroller,"touchcancel",i);ft(t.scroller,"scroll",function(){if(t.scroller.clientHeight){li(e,t.scroller.scrollTop);ui(e,t.scroller.scrollLeft,true);pt(e,"scroll",e)}});ft(t.scroller,"mousewheel",function(t){return eo(e,t)});ft(t.scroller,"DOMMouseScroll",function(t){return eo(e,t)});ft(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0});t.dragFunctions={enter:function(t){mt(e,t)||kt(t)},over:function(t){if(!mt(e,t)){Sa(e,t);kt(t)}},start:function(t){return Ca(e,t)},drop:Mi(e,ka),leave:function(t){mt(e,t)||La(e)}};var u=t.input.getField();ft(u,"keyup",function(t){return sl.call(e,t)});ft(u,"keydown",Mi(e,al));ft(u,"keypress",Mi(e,ul));ft(u,"focus",function(t){return Un(e,t)});ft(u,"blur",function(t){return Kn(e,t)})}var Il=[];Fl.defineInitHook=function(e){return Il.push(e)};function zl(e,t,r,n){var i=e.doc,o;null==r&&(r="add");"smart"==r&&(i.mode.indent?o=Jt(e,t).state:r="prev");var a=e.options.tabSize;var l=ue(i,t),s=z(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var u=l.text.match(/^\s*/)[0],c;if(n||/\S/.test(l.text)){if("smart"==r){c=i.mode.indent(o,l.text.slice(u.length),l.text);if(c==q||c>150){if(!n)return;r="prev"}}}else{c=0;r="not"}"prev"==r?c=t>i.first?z(ue(i,t-1).text,null,a):0:"add"==r?c=s+e.options.indentUnit:"subtract"==r?c=s-e.options.indentUnit:"number"==typeof r&&(c=s+r);c=Math.max(0,c);var f="",h=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d){h+=a;f+="\t"}h1)if(Rl&&Rl.text.join("\n")==t){if(n.ranges.length%Rl.text.length==0){s=[];for(var u=0;u=0;f--){var h=n.ranges[f];var d=h.from(),p=h.to();h.empty()&&(r&&r>0?d=ge(d.line,d.ch-r):e.state.overwrite&&!a?p=ge(p.line,Math.min(ue(o,p.line).text.length,p.ch+$(l).length)):Rl&&Rl.lineWise&&Rl.text.join("\n")==t&&(d=p=ge(d.line,0)));c=e.curOp.updateInput;var m={from:d,to:p,text:s?s[f%s.length]:l,origin:i||(a?"paste":e.state.cutIncoming?"cut":"+input")};$o(e.doc,m);Mr(e,"inputRead",e,m)}t&&!a&&Gl(e,t);ri(e);e.curOp.updateInput=c;e.curOp.typing=true;e.state.pasteIncoming=e.state.cutIncoming=false}function ql(e,t){var r=e.clipboardData&&e.clipboardData.getData("Text");if(r){e.preventDefault();t.isReadOnly()||t.options.disableInput||Ti(t,function(){return jl(t,r,0,null,"paste")});return true}}function Gl(e,t){if(!e.options.electricChars||!e.options.smartIndent)return;var r=e.doc.sel;for(var n=r.ranges.length-1;n>=0;n--){var i=r.ranges[n];if(i.head.ch>100||n&&r.ranges[n-1].head.line==i.head.line)continue;var o=e.getModeAt(i.head);var a=false;if(o.electricChars){for(var l=0;l-1){a=zl(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(ue(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=zl(e,i.head.line,"smart"));a&&Mr(e,"electricInput",e,i.head.line)}}function Ul(e){var t=[],r=[];for(var n=0;nn){zl(t,o.head.line,e,true);n=o.head.line;i==t.doc.sel.primIndex&&ri(t)}}else{var a=o.from(),l=o.to();var s=Math.max(n,a.line);n=Math.min(t.lastLine(),l.line-(l.ch?0:1))+1;for(var u=s;u0&&Fo(t.doc,i,new ro(a,c[i].to()),G)}}}),getTokenAt:function(e,t){return rr(this,e,t)},getLineTokens:function(e,t){return rr(this,ge(e),t,true)},getTokenTypeAt:function(e){e=Se(this.doc,e);var t=Yt(this,ue(this.doc,e.line));var r=0,n=(t.length-1)/2,i=e.ch;var o;if(0==i)o=t[2];else for(;;){var a=r+n>>1;if((a?t[2*a-1]:0)>=i)n=a;else{if(!(t[2*a+1]o){e=o;n=true}i=ue(this.doc,e)}else i=e;return pn(this,i,{top:0,left:0},t||"page",r||n).top+(n?this.doc.height-rt(i):0)},defaultTextHeight:function(){return Nn(this.display)},defaultCharWidth:function(){return On(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,r,n,i){var o=this.display;e=gn(this,Se(this.doc,e));var a=e.bottom,l=e.left;t.style.position="absolute";t.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(t);o.sizer.appendChild(t);if("over"==n)a=e.top;else if("above"==n||"near"==n){var s=Math.max(o.wrapper.clientHeight,this.doc.height),u=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>s)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=s&&(a=e.bottom);l+t.offsetWidth>u&&(l=u-t.offsetWidth)}t.style.top=a+"px";t.style.left=t.style.right="";if("right"==i){l=o.sizer.clientWidth-t.offsetWidth;t.style.right="0px"}else{"left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-t.offsetWidth)/2);t.style.left=l+"px"}r&&Qn(this,{left:l,top:a,right:l+t.offsetWidth,bottom:a+t.offsetHeight})},triggerOnKeyDown:Ni(al),triggerOnKeyPress:Ni(ul),triggerOnKeyUp:sl,triggerOnMouseDown:Ni(ml),execCommand:function(e){if(Xa.hasOwnProperty(e))return Xa[e].call(null,this)},triggerElectric:Ni(function(e){Gl(this,e)}),findPosH:function(e,t,r,n){var i=this;var o=1;if(t<0){o=-1;t=-t}var a=Se(this.doc,e);for(var l=0;l0&&l(r.charAt(n-1)))--n;while(i.5)&&Hn(this);pt(this,"refresh",this)}),swapDoc:Ni(function(e){var t=this.doc;t.cm=null;vo(this,e);cn(this);this.display.input.reset();ni(this,e.scrollLeft,e.scrollTop);this.curOp.forceScroll=true;Mr(this,"swapDoc",this,t);return t}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};xt(e);e.registerHelper=function(t,n,i){r.hasOwnProperty(t)||(r[t]=e[t]={_global:[]});r[t][n]=i};e.registerGlobalHelper=function(t,n,i,o){e.registerHelper(t,n,o);r[t]._global.push({pred:i,val:o})}};function Xl(e,t,r,n,i){var o=t;var a=r;var l=ue(e,t.line);function s(){var n=t.line+r;if(n=e.first+e.size)return false;t=new ge(n,t.ch,t.sticky);return l=ue(e,n)}function u(n){var o;o=i?_a(e.cm,l,t,r):Ka(l,t,r);if(null==o){if(n||!s())return false;t=Va(i,e.cm,l,t.line,r)}else t=o;return true}if("char"==n)u();else if("column"==n)u(true);else if("word"==n||"group"==n){var c=null,f="group"==n;var h=e.cm&&e.cm.getHelper(t,"wordChars");for(var d=true;;d=false){if(r<0&&!u(!d))break;var p=l.text.charAt(t.ch)||"\n";var m=re(p,h)?"w":f&&"\n"==p?"n":!f||/\s/.test(p)?null:"p";!f||d||m||(m="s");if(c&&c!=m){if(r<0){r=1;u();t.sticky="after"}break}m&&(c=m);if(r>0&&!u(!d))break}}var v=Ko(e,t,o,a,true);ye(o,v)&&(v.hitSide=true);return v}function $l(e,t,r,n){var i=e.doc,o=t.left,a;if("page"==n){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);var s=Math.max(l-.5*Nn(e.display),3);a=(r>0?t.bottom:t.top)+r*s}else"line"==n&&(a=r>0?t.bottom+3:t.top-3);var u;for(;;){u=bn(e,o,a);if(!u.outside)break;if(r<0?a<=0:a>=i.height){u.hitSide=true;break}a+=5*r}return u}var Yl=function(e){this.cm=e;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new R;this.composing=null;this.gracePeriod=false;this.readDOMTimeout=null};Yl.prototype.init=function(e){var t=this;var r=this,n=r.cm;var i=r.div=e.lineDiv;Kl(i,n.options.spellcheck);ft(i,"paste",function(e){if(mt(n,e)||ql(e,n))return;l<=11&&setTimeout(Mi(n,function(){return t.updateFromDOM()}),20)});ft(i,"compositionstart",function(e){t.composing={data:e.data,done:false}});ft(i,"compositionupdate",function(e){t.composing||(t.composing={data:e.data,done:false})});ft(i,"compositionend",function(e){if(t.composing){e.data!=t.composing.data&&t.readFromDOMSoon();t.composing.done=true}});ft(i,"touchstart",function(){return r.forceCompositionEnd()});ft(i,"input",function(){t.composing||t.readFromDOMSoon()});function o(e){if(mt(n,e))return;if(n.somethingSelected()){Bl({lineWise:false,text:n.getSelections()});"cut"==e.type&&n.replaceSelection("",null,"cut")}else{if(!n.options.lineWiseCopyCut)return;var t=Ul(n);Bl({lineWise:true,text:t.text});"cut"==e.type&&n.operation(function(){n.setSelections(t.ranges,0,G);n.replaceSelection("",null,"cut")})}if(e.clipboardData){e.clipboardData.clearData();var o=Rl.text.join("\n");e.clipboardData.setData("Text",o);if(e.clipboardData.getData("Text")==o){e.preventDefault();return}}var a=Vl(),l=a.firstChild;n.display.lineSpace.insertBefore(a,n.display.lineSpace.firstChild);l.value=Rl.text.join("\n");var s=document.activeElement;F(l);setTimeout(function(){n.display.lineSpace.removeChild(a);s.focus();s==i&&r.showPrimarySelection()},50)}ft(i,"copy",o);ft(i,"cut",o)};Yl.prototype.prepareSelection=function(){var e=In(this.cm,false);e.focus=this.cm.state.focused;return e};Yl.prototype.showSelection=function(e,t){if(!e||!this.cm.display.view.length)return;(e.focus||t)&&this.showPrimarySelection();this.showMultipleSelections(e)};Yl.prototype.showPrimarySelection=function(){var e=window.getSelection(),t=this.cm,n=t.doc.sel.primary();var i=n.from(),o=n.to();if(t.display.viewTo==t.display.viewFrom||i.line>=t.display.viewTo||o.line=t.display.viewFrom&&Jl(t,i)||{node:s[0].measure.map[2],offset:0};var c=o.linee.firstLine()&&(n=ge(n.line-1,ue(e.doc,n.line-1).length));i.ch==ue(e.doc,i.line).text.length&&i.linet.viewTo-1)return false;var o,a,l;if(n.line==t.viewFrom||0==(o=Fn(e,n.line))){a=de(t.view[0].line);l=t.view[0].node}else{a=de(t.view[o].line);l=t.view[o-1].node.nextSibling}var s=Fn(e,i.line);var u,c;if(s==t.view.length-1){u=t.viewTo-1;c=t.lineDiv.lastChild}else{u=de(t.view[s+1].line)-1;c=t.view[s+1].node.previousSibling}if(!l)return false;var f=e.doc.splitLines(es(e,l,c,a,u));var h=ce(e.doc,ge(a,0),ge(u,ue(e.doc,u).text.length));while(f.length>1&&h.length>1)if($(f)==$(h)){f.pop();h.pop();u--}else{if(f[0]!=h[0])break;f.shift();h.shift();a++}var d=0,p=0;var m=f[0],v=h[0],g=Math.min(m.length,v.length);while(dn.ch&&x.charCodeAt(x.length-p-1)==y.charCodeAt(y.length-p-1)){d--;p++}f[f.length-1]=x.slice(0,x.length-p).replace(/^\u200b+/,"");f[0]=f[0].slice(d).replace(/\u200b+$/,"");var w=ge(a,d);var k=ge(u,h.length?$(h).length-p:0);if(f.length>1||f[0]||xe(w,k)){ta(e.doc,f,w,k,"+input");return true}};Yl.prototype.ensurePolled=function(){this.forceCompositionEnd()};Yl.prototype.reset=function(){this.forceCompositionEnd()};Yl.prototype.forceCompositionEnd=function(){if(!this.composing)return;clearTimeout(this.readDOMTimeout);this.composing=null;this.updateFromDOM();this.div.blur();this.div.focus()};Yl.prototype.readFromDOMSoon=function(){var e=this;if(null!=this.readDOMTimeout)return;this.readDOMTimeout=setTimeout(function(){e.readDOMTimeout=null;if(e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80)};Yl.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Ti(this.cm,function(){return Ai(e.cm)})};Yl.prototype.setUneditable=function(e){e.contentEditable="false"};Yl.prototype.onKeyPress=function(e){if(0==e.charCode||this.composing)return;e.preventDefault();this.cm.isReadOnly()||Mi(this.cm,jl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0)};Yl.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)};Yl.prototype.onContextMenu=function(){};Yl.prototype.resetPosition=function(){};Yl.prototype.needsContentAttribute=true;function Jl(e,t){var r=Qr(e,t.line);if(!r||r.hidden)return null;var n=ue(e.doc,t.line);var i=Yr(r,n,t.line);var o=ut(n,e.doc.direction),a="left";if(o){var l=lt(o,t.ch);a=l%2?"right":"left"}var s=nn(i.map,t.ch,a);s.offset="right"==s.collapse?s.end:s.start;return s}function Zl(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return true;return false}function Ql(e,t){t&&(e.bad=true);return e}function es(e,t,r,n,i){var o="",a=false,l=e.doc.lineSeparator();function s(e){return function(t){return t.id==e}}function u(){if(a){o+=l;a=false}}function c(e){if(e){u();o+=e}}function f(t){if(1==t.nodeType){var r=t.getAttribute("cm-text");if(null!=r){c(r||t.textContent.replace(/\u200b/g,""));return}var o=t.getAttribute("cm-marker"),h;if(o){var d=e.findMarks(ge(n,0),ge(i+1,0),s(+o));d.length&&(h=d[0].find(0))&&c(ce(e.doc,h.from,h.to).join(l));return}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p)$/i.test(t.nodeName);p&&u();for(var m=0;m=9&&t.hasSelection&&(t.hasSelection=null);r.poll()});ft(i,"paste",function(e){if(mt(n,e)||ql(e,n))return;n.state.pasteIncoming=true;r.fastPoll()});function o(e){if(mt(n,e))return;if(n.somethingSelected())Bl({lineWise:false,text:n.getSelections()});else{if(!n.options.lineWiseCopyCut)return;var t=Ul(n);Bl({lineWise:true,text:t.text});if("cut"==e.type)n.setSelections(t.ranges,null,G);else{r.prevInput="";i.value=t.text.join("\n");F(i)}}"cut"==e.type&&(n.state.cutIncoming=true)}ft(i,"cut",o);ft(i,"copy",o);ft(e.scroller,"paste",function(t){if(qr(e,t)||mt(n,t))return;n.state.pasteIncoming=true;r.focus()});ft(e.lineSpace,"selectstart",function(t){qr(e,t)||yt(t)});ft(i,"compositionstart",function(){var e=n.getCursor("from");r.composing&&r.composing.range.clear();r.composing={start:e,range:n.markText(e,n.getCursor("to"),{className:"CodeMirror-composing"})}});ft(i,"compositionend",function(){if(r.composing){r.poll();r.composing.range.clear();r.composing=null}})};ns.prototype.createField=function(e){this.wrapper=Vl();this.textarea=this.wrapper.firstChild};ns.prototype.prepareSelection=function(){var e=this.cm,t=e.display,r=e.doc;var n=In(e);if(e.options.moveInputWithCursor){var i=gn(e,r.sel.primary().head,"div");var o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();n.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top));n.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return n};ns.prototype.showSelection=function(e){var t=this.cm,r=t.display;M(r.cursorDiv,e.cursors);M(r.selectionDiv,e.selection);if(null!=e.teTop){this.wrapper.style.top=e.teTop+"px";this.wrapper.style.left=e.teLeft+"px"}};ns.prototype.reset=function(e){if(this.contextMenuPending||this.composing)return;var t=this.cm;if(t.somethingSelected()){this.prevInput="";var r=t.getSelection();this.textarea.value=r;t.state.focused&&F(this.textarea);a&&l>=9&&(this.hasSelection=r)}else if(!e){this.prevInput=this.textarea.value="";a&&l>=9&&(this.hasSelection=null)}};ns.prototype.getField=function(){return this.textarea};ns.prototype.supportsTouch=function(){return false};ns.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!g||W()!=this.textarea))try{this.textarea.focus()}catch(e){}};ns.prototype.blur=function(){this.textarea.blur()};ns.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0};ns.prototype.receivedFocus=function(){this.slowPoll()};ns.prototype.slowPoll=function(){var e=this;if(this.pollingFast)return;this.polling.set(this.cm.options.pollInterval,function(){e.poll();e.cm.state.focused&&e.slowPoll()})};ns.prototype.fastPoll=function(){var e=false,t=this;t.pollingFast=true;function r(){var n=t.poll();if(n||e){t.pollingFast=false;t.slowPoll()}else{e=true;t.polling.set(60,r)}}t.polling.set(20,r)};ns.prototype.poll=function(){var e=this;var t=this.cm,r=this.textarea,n=this.prevInput;if(this.contextMenuPending||!t.state.focused||Dt(r)&&!n&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return false;var i=r.value;if(i==n&&!t.somethingSelected())return false;if(a&&l>=9&&this.hasSelection===i||x&&/[\uf700-\uf7ff]/.test(i)){t.display.input.reset();return false}if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);8203!=o||n||(n="​");if(8666==o){this.reset();return this.cm.execCommand("undo")}}var s=0,u=Math.min(n.length,i.length);while(s1e3||i.indexOf("\n")>-1?r.value=e.prevInput="":e.prevInput=i;if(e.composing){e.composing.range.clear();e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"})}});return true};ns.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=false)};ns.prototype.onKeyPress=function(){a&&l>=9&&(this.hasSelection=null);this.fastPoll()};ns.prototype.onContextMenu=function(e){var t=this,r=t.cm,n=r.display,i=t.textarea;var o=En(r,e),u=n.scroller.scrollTop;if(!o||f)return;var c=r.options.resetSelectionOnContextMenu;c&&-1==r.doc.sel.contains(o)&&Mi(r,Ro)(r.doc,io(o),G);var h=i.style.cssText,d=t.wrapper.style.cssText;t.wrapper.style.cssText="position: absolute";var p=t.wrapper.getBoundingClientRect();i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var m;s&&(m=window.scrollY);n.input.focus();s&&window.scrollTo(null,m);n.input.reset();r.somethingSelected()||(i.value=t.prevInput=" ");t.contextMenuPending=true;n.selForContextMenu=r.doc.sel;clearTimeout(n.detectingSelectAll);function v(){if(null!=i.selectionStart){var e=r.somethingSelected();var o="​"+(e?i.value:"");i.value="⇚";i.value=o;t.prevInput=e?"":"​";i.selectionStart=1;i.selectionEnd=o.length;n.selForContextMenu=r.doc.sel}}function g(){t.contextMenuPending=false;t.wrapper.style.cssText=d;i.style.cssText=h;a&&l<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=u);if(null!=i.selectionStart){(!a||a&&l<9)&&v();var e=0,o=function(){if(n.selForContextMenu==r.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput)Mi(r,_o)(r);else if(e++<10)n.detectingSelectAll=setTimeout(o,500);else{n.selForContextMenu=null;n.input.reset()}};n.detectingSelectAll=setTimeout(o,200)}}a&&l>=9&&v();if(C){kt(e);var x=function(){dt(window,"mouseup",x);setTimeout(g,20)};ft(window,"mouseup",x)}else setTimeout(g,50)};ns.prototype.readOnlyChanged=function(e){e||this.reset();this.textarea.disabled="nocursor"==e};ns.prototype.setUneditable=function(){};ns.prototype.needsContentAttribute=false;function is(e,t){t=t?I(t):{};t.value=e.value;!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex);!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder);if(null==t.autofocus){var r=W();t.autofocus=r==e||null!=e.getAttribute("autofocus")&&r==document.body}function n(){e.value=l.getValue()}var i;if(e.form){ft(e.form,"submit",n);if(!t.leaveSubmitMethodAlone){var o=e.form;i=o.submit;try{var a=o.submit=function(){n();o.submit=i;o.submit();o.submit=a}}catch(e){}}}t.finishInit=function(t){t.save=n;t.getTextArea=function(){return e};t.toTextArea=function(){t.toTextArea=isNaN;n();e.parentNode.removeChild(t.getWrapperElement());e.style.display="";if(e.form){dt(e.form,"submit",n);"function"==typeof e.form.submit&&(e.form.submit=i)}}};e.style.display="none";var l=Fl(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return l}function os(e){e.off=dt;e.on=ft;e.wheelEventPixels=Qi;e.Doc=ba;e.splitLines=At;e.countColumn=z;e.findColumn=V;e.isWordChar=te;e.Pass=q;e.signal=pt;e.Line=lr;e.changeEnd=oo;e.scrollbarModel=mi;e.Pos=ge;e.cmpPos=xe;e.modes=Ft;e.mimeModes=Pt;e.resolveMode=Rt;e.getMode=Bt;e.modeExtensions=jt;e.extendMode=qt;e.copyState=Gt;e.startState=Kt;e.innerMode=Ut;e.commands=Xa;e.keyMap=Fa;e.keyName=ja;e.isModifierKey=Ra;e.lookupKey=za;e.normalizeKeyMap=Ia;e.StringStream=Vt;e.SharedTextMarker=pa;e.TextMarker=ha;e.LineWidget=sa;e.e_preventDefault=yt;e.e_stopPropagation=bt;e.e_stop=kt;e.addClass=H;e.contains=D;e.rmClass=L;e.keyNames=Da}Dl(Fl);_l(Fl);var as="iter insert remove copy getEditor constructor".split(" ");for(var ls in ba.prototype)ba.prototype.hasOwnProperty(ls)&&B(as,ls)<0&&(Fl.prototype[ls]=function(e){return function(){return e.apply(this.doc,arguments)}}(ba.prototype[ls]));xt(ba);Fl.inputStyles={textarea:ns,contenteditable:Yl};Fl.defineMode=function(e){Fl.defaults.mode||"null"==e||(Fl.defaults.mode=e);It.apply(this,arguments)};Fl.defineMIME=zt;Fl.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}});Fl.defineMIME("text/plain","null");Fl.defineExtension=function(e,t){Fl.prototype[e]=t};Fl.defineDocExtension=function(e,t){ba.prototype[e]=t};Fl.fromTextArea=is;os(Fl);Fl.version="5.37.0";return Fl})},370:function(e,t,r){(function(e){true;e(r(282),r(371),r(372))})(function(e){"use strict";e.defineMode("markdown",function(t,r){var n=e.getMode(t,"text/html");var i="null"==n.name;function o(r){if(e.findModeByName){var n=e.findModeByName(r);n&&(r=n.mime||n.mimes[0])}var i=e.getMode(t,r);return"null"==i.name?null:i}void 0===r.highlightFormatting&&(r.highlightFormatting=false);void 0===r.maxBlockquoteDepth&&(r.maxBlockquoteDepth=0);void 0===r.taskLists&&(r.taskLists=false);void 0===r.strikethrough&&(r.strikethrough=false);void 0===r.emoji&&(r.emoji=false);void 0===r.fencedCodeBlockHighlighting&&(r.fencedCodeBlockHighlighting=true);void 0===r.xml&&(r.xml=true);void 0===r.tokenTypeOverrides&&(r.tokenTypeOverrides={});var a={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var l in a)a.hasOwnProperty(l)&&r.tokenTypeOverrides[l]&&(a[l]=r.tokenTypeOverrides[l]);var s=/^([*\-_])(?:\s*\1){2,}\s*$/,u=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,c=/^\[(x| )\](?=\s)/i,f=r.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,h=/^ *(?:\={1,}|-{1,})\s*$/,d=/^[^#!\[\]*_\\<>` "'(~:]+/,p=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,m=/^\s*\[[^\]]+?\]:.*$/,v=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,g=" ";function x(e,t,r){t.f=t.inline=r;return r(e,t)}function y(e,t,r){t.f=t.block=r;return r(e,t)}function b(e){return!e||!/\S/.test(e.string)}function w(e){e.linkTitle=false;e.linkHref=false;e.linkText=false;e.em=false;e.strong=false;e.strikethrough=false;e.quote=0;e.indentedCode=false;if(e.f==C){e.f=M;e.block=k}e.trailingSpace=0;e.trailingSpaceNewLine=false;e.prevLine=e.thisLine;e.thisLine={stream:null};return null}function k(t,n){var i=t.column()===n.indentation;var l=b(n.prevLine.stream);var d=n.indentedCode;var v=n.prevLine.hr;var g=false!==n.list;var y=(n.listStack[n.listStack.length-1]||0)+3;n.indentedCode=false;var w=n.indentation;if(null===n.indentationDiff){n.indentationDiff=n.indentation;if(g){n.em=false;n.strong=false;n.code=false;n.strikethrough=false;n.list=null;while(w=4&&(d||n.prevLine.fencedCodeEnd||n.prevLine.header||l)){t.skipToEnd();n.indentedCode=true;return a.code}if(t.eatSpace())return null;if(i&&n.indentation<=y&&(T=t.match(f))&&T[1].length<=6){n.quote=0;n.header=T[1].length;n.thisLine.header=true;r.highlightFormatting&&(n.formatting="header");n.f=n.inline;return L(n)}if(n.indentation<=y&&t.eat(">")){n.quote=i?1:n.quote+1;r.highlightFormatting&&(n.formatting="quote");t.eatSpace();return L(n)}if(!C&&!n.setext&&i&&n.indentation<=y&&(T=t.match(u))){var M=T[1]?"ol":"ul";n.indentation=w+t.current().length;n.list=true;n.quote=0;n.listStack.push(n.indentation);r.taskLists&&t.match(c,false)&&(n.taskList=true);n.f=n.inline;r.highlightFormatting&&(n.formatting=["list","list-"+M]);return L(n)}if(i&&n.indentation<=y&&(T=t.match(p,true))){n.quote=0;n.fencedEndRE=new RegExp(T[1]+"+ *$");n.localMode=r.fencedCodeBlockHighlighting&&o(T[2]);n.localMode&&(n.localState=e.startState(n.localMode));n.f=n.block=S;r.highlightFormatting&&(n.formatting="code-block");n.code=-1;return L(n)}if(n.setext||!(k&&g||n.quote||false!==n.list||n.code||C||m.test(t.string))&&(T=t.lookAhead(1))&&(T=T.match(h))){if(n.setext){n.header=n.setext;n.setext=0;t.skipToEnd();r.highlightFormatting&&(n.formatting="header")}else{n.header="="==T[0].charAt(0)?1:2;n.setext=n.header}n.thisLine.header=true;n.f=n.inline;return L(n)}if(C){t.skipToEnd();n.hr=true;n.thisLine.hr=true;return a.hr}if("["===t.peek())return x(t,n,W);return x(t,n,n.inline)}function C(t,r){var o=n.token(t,r.htmlState);if(!i){var a=e.innerMode(n,r.htmlState);if("xml"==a.mode.name&&null===a.state.tagStart&&!a.state.context&&a.state.tokenize.isInText||r.md_inside&&t.current().indexOf(">")>-1){r.f=M;r.block=k;r.htmlState=null}}return o}function S(e,t){var n=t.listStack[t.listStack.length-1]||0;var i=t.indentation=e.quote?t.push(a.formatting+"-"+e.formatting[n]+"-"+e.quote):t.push("error"))}}if(e.taskOpen){t.push("meta");return t.length?t.join(" "):null}if(e.taskClosed){t.push("property");return t.length?t.join(" "):null}if(e.linkHref)t.push(a.linkHref,"url");else{e.strong&&t.push(a.strong);e.em&&t.push(a.em);e.strikethrough&&t.push(a.strikethrough);e.emoji&&t.push(a.emoji);e.linkText&&t.push(a.linkText);e.code&&t.push(a.code);e.image&&t.push(a.image);e.imageAltText&&t.push(a.imageAltText,"link");e.imageMarker&&t.push(a.imageMarker)}e.header&&t.push(a.header,a.header+"-"+e.header);if(e.quote){t.push(a.quote);!r.maxBlockquoteDepth||r.maxBlockquoteDepth>=e.quote?t.push(a.quote+"-"+e.quote):t.push(a.quote+"-"+r.maxBlockquoteDepth)}if(false!==e.list){var i=(e.listStack.length-1)%3;i?1===i?t.push(a.list2):t.push(a.list3):t.push(a.list1)}e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b"));return t.length?t.join(" "):null}function T(e,t){if(e.match(d,true))return L(t);return}function M(t,i){var o=i.text(t,i);if("undefined"!==typeof o)return o;if(i.list){i.list=null;return L(i)}if(i.taskList){var l=" "===t.match(c,true)[1];l?i.taskOpen=true:i.taskClosed=true;r.highlightFormatting&&(i.formatting="task");i.taskList=false;return L(i)}i.taskOpen=false;i.taskClosed=false;if(i.header&&t.match(/^#+$/,true)){r.highlightFormatting&&(i.formatting="header");return L(i)}var s=t.next();if(i.linkTitle){i.linkTitle=false;var u=s;"("===s&&(u=")");u=(u+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var f="^\\s*(?:[^"+u+"\\\\]+|\\\\\\\\|\\\\.)"+u;if(t.match(new RegExp(f),true))return a.linkHref}if("`"===s){var h=i.formatting;r.highlightFormatting&&(i.formatting="code");t.eatWhile("`");var d=t.current().length;if(0!=i.code||i.quote&&1!=d){if(d==i.code){var p=L(i);i.code=0;return p}i.formatting=h;return L(i)}i.code=d;return L(i)}if(i.code)return L(i);if("\\"===s){t.next();if(r.highlightFormatting){var m=L(i);var g=a.formatting+"-escape";return m?m+" "+g:g}}if("!"===s&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,false)){i.imageMarker=true;i.image=true;r.highlightFormatting&&(i.formatting="image");return L(i)}if("["===s&&i.imageMarker&&t.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,false)){i.imageMarker=false;i.imageAltText=true;r.highlightFormatting&&(i.formatting="image");return L(i)}if("]"===s&&i.imageAltText){r.highlightFormatting&&(i.formatting="image");var m=L(i);i.imageAltText=false;i.image=false;i.inline=i.f=O;return m}if("["===s&&!i.image){i.linkText=true;r.highlightFormatting&&(i.formatting="link");return L(i)}if("]"===s&&i.linkText){r.highlightFormatting&&(i.formatting="link");var m=L(i);i.linkText=false;i.inline=i.f=t.match(/\(.*?\)| ?\[.*?\]/,false)?O:M;return m}if("<"===s&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,false)){i.f=i.inline=N;r.highlightFormatting&&(i.formatting="link");var m=L(i);m?m+=" ":m="";return m+a.linkInline}if("<"===s&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,false)){i.f=i.inline=N;r.highlightFormatting&&(i.formatting="link");var m=L(i);m?m+=" ":m="";return m+a.linkEmail}if(r.xml&&"<"===s&&t.match(/^(!--|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*>)/i,false)){var x=t.string.indexOf(">",t.pos);if(-1!=x){var b=t.string.substring(t.start,x);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(b)&&(i.md_inside=true)}t.backUp(1);i.htmlState=e.startState(n);return y(t,i,C)}if(r.xml&&"<"===s&&t.match(/^\/\w*?>/)){i.md_inside=false;return"tag"}if("*"===s||"_"===s){var w=1,k=1==t.pos?" ":t.string.charAt(t.pos-2);while(w<3&&t.eat(s))w++;var S=t.peek()||" ";var T=!/\s/.test(S)&&(!v.test(S)||/\s/.test(k)||v.test(k));var A=!/\s/.test(k)&&(!v.test(k)||/\s/.test(S)||v.test(S));var D=null,W=null;w%2&&(i.em||!T||"*"!==s&&A&&!v.test(k)?i.em!=s||!A||"*"!==s&&T&&!v.test(S)||(D=false):D=true);w>1&&(i.strong||!T||"*"!==s&&A&&!v.test(k)?i.strong!=s||!A||"*"!==s&&T&&!v.test(S)||(W=false):W=true);if(null!=W||null!=D){r.highlightFormatting&&(i.formatting=null==D?"strong":null==W?"em":"strong em");true===D&&(i.em=s);true===W&&(i.strong=s);var p=L(i);false===D&&(i.em=false);false===W&&(i.strong=false);return p}}else if(" "===s&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return L(i);t.backUp(1)}if(r.strikethrough)if("~"===s&&t.eatWhile(s)){if(i.strikethrough){r.highlightFormatting&&(i.formatting="strikethrough");var p=L(i);i.strikethrough=false;return p}if(t.match(/^[^\s]/,false)){i.strikethrough=true;r.highlightFormatting&&(i.formatting="strikethrough");return L(i)}}else if(" "===s&&t.match(/^~~/,true)){if(" "===t.peek())return L(i);t.backUp(2)}if(r.emoji&&":"===s&&t.match(/^[a-z_\d+-]+:/)){i.emoji=true;r.highlightFormatting&&(i.formatting="emoji");var H=L(i);i.emoji=false;return H}" "===s&&(t.match(/ +$/,false)?i.trailingSpace++:i.trailingSpace&&(i.trailingSpaceNewLine=true));return L(i)}function N(e,t){var n=e.next();if(">"===n){t.f=t.inline=M;r.highlightFormatting&&(t.formatting="link");var i=L(t);i?i+=" ":i="";return i+a.linkInline}e.match(/^[^>]+/,true);return a.linkInline}function O(e,t){if(e.eatSpace())return null;var n=e.next();if("("===n||"["===n){t.f=t.inline=D("("===n?")":"]");r.highlightFormatting&&(t.formatting="link-string");t.linkHref=true;return L(t)}return"error"}var A={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function D(e){return function(t,n){var i=t.next();if(i===e){n.f=n.inline=M;r.highlightFormatting&&(n.formatting="link-string");var o=L(n);n.linkHref=false;return o}t.match(A[e]);n.linkHref=true;return L(n)}}function W(e,t){if(e.match(/^([^\]\\]|\\.)*\]:/,false)){t.f=H;e.next();r.highlightFormatting&&(t.formatting="link");t.linkText=true;return L(t)}return x(e,t,M)}function H(e,t){if(e.match(/^\]:/,true)){t.f=t.inline=E;r.highlightFormatting&&(t.formatting="link");var n=L(t);t.linkText=false;return n}e.match(/^([^\]\\]|\\.)+/,true);return a.linkText}function E(e,t){if(e.eatSpace())return null;e.match(/^[^\s]+/,true);void 0===e.peek()?t.linkTitle=true:e.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,true);t.f=t.inline=M;return a.linkHref+" url"}var F={startState:function(){return{f:k,prevLine:{stream:null},thisLine:{stream:null},block:k,htmlState:null,indentation:0,inline:M,text:T,formatting:false,linkText:false,linkHref:false,linkTitle:false,code:0,em:false,strong:false,header:0,setext:0,hr:false,taskList:false,list:false,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:false,strikethrough:false,emoji:false,fencedEndRE:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(n,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:false,linkText:t.linkText,linkTitle:t.linkTitle,linkHref:t.linkHref,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,emoji:t.emoji,header:t.header,setext:t.setext,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedEndRE:t.fencedEndRE}},token:function(e,t){t.formatting=false;if(e!=t.thisLine.stream){t.header=0;t.hr=false;if(e.match(/^\s*$/,true)){w(t);return null}t.prevLine=t.thisLine;t.thisLine={stream:e};t.taskList=false;t.trailingSpace=0;t.trailingSpaceNewLine=false;if(!t.localState){t.f=t.block;if(t.f!=C){var r=e.match(/^\s*/,true)[0].replace(/\t/g,g).length;t.indentation=r;t.indentationDiff=null;if(r>0)return null}}}return t.f(e,t)},innerMode:function(e){if(e.block==C)return{state:e.htmlState,mode:n};if(e.localState)return{state:e.localState,mode:e.localMode};return{state:e,mode:F}},indent:function(t,r,i){if(t.block==C&&n.indent)return n.indent(t.htmlState,r,i);if(t.localState&&t.localMode.indent)return t.localMode.indent(t.localState,r,i);return e.Pass},blankLine:w,getType:L,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return F},"xml");e.defineMIME("text/markdown","markdown");e.defineMIME("text/x-markdown","markdown")})},371:function(e,t,r){(function(e){true;e(r(282))})(function(e){"use strict";var t={autoSelfClosers:{area:true,base:true,br:true,col:true,command:true,embed:true,frame:true,hr:true,img:true,input:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true,menuitem:true},implicitlyClosed:{dd:true,li:true,optgroup:true,option:true,p:true,rp:true,rt:true,tbody:true,td:true,tfoot:true,th:true,tr:true},contextGrabbers:{dd:{dd:true,dt:true},dt:{dd:true,dt:true},li:{li:true},option:{option:true,optgroup:true},optgroup:{optgroup:true},p:{address:true,article:true,aside:true,blockquote:true,dir:true,div:true,dl:true,fieldset:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,menu:true,nav:true,ol:true,p:true,pre:true,section:true,table:true,ul:true},rp:{rp:true,rt:true},rt:{rp:true,rt:true},tbody:{tbody:true,tfoot:true},td:{td:true,th:true},tfoot:{tbody:true},th:{td:true,th:true},thead:{tbody:true,tfoot:true},tr:{tr:true}},doNotIndent:{pre:true},allowUnquoted:true,allowMissing:true,caseFold:true};var r={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:false,allowMissing:false,allowMissingTagName:false,caseFold:false};e.defineMode("xml",function(n,i){var o=n.indentUnit;var a={};var l=i.htmlMode?t:r;for(var s in l)a[s]=l[s];for(var s in i)a[s]=i[s];var u,c;function f(e,t){function r(r){t.tokenize=r;return r(e,t)}var n=e.next();if("<"==n){if(e.eat("!")){if(e.eat("["))return e.match("CDATA[")?r(p("atom","]]>")):null;if(e.match("--"))return r(p("comment","--\x3e"));if(e.match("DOCTYPE",true,true)){e.eatWhile(/[\w\._\-]/);return r(m(1))}return null}if(e.eat("?")){e.eatWhile(/[\w\._\-]/);t.tokenize=p("meta","?>");return"meta"}u=e.eat("/")?"closeTag":"openTag";t.tokenize=h;return"tag bracket"}if("&"==n){var i;i=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";");return i?"atom":"error"}e.eatWhile(/[^&<]/);return null}f.isInText=true;function h(e,t){var r=e.next();if(">"==r||"/"==r&&e.eat(">")){t.tokenize=f;u=">"==r?"endTag":"selfcloseTag";return"tag bracket"}if("="==r){u="equals";return null}if("<"==r){t.tokenize=f;t.state=y;t.tagName=t.tagStart=null;var n=t.tokenize(e,t);return n?n+" tag error":"tag error"}if(/[\'\"]/.test(r)){t.tokenize=d(r);t.stringStartCol=e.column();return t.tokenize(e,t)}e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/);return"word"}function d(e){var t=function(t,r){while(!t.eol())if(t.next()==e){r.tokenize=h;break}return"string"};t.isInAttribute=true;return t}function p(e,t){return function(r,n){while(!r.eol()){if(r.match(t)){n.tokenize=f;break}r.next()}return e}}function m(e){return function(t,r){var n;while(null!=(n=t.next())){if("<"==n){r.tokenize=m(e+1);return r.tokenize(t,r)}if(">"==n){if(1==e){r.tokenize=f;break}r.tokenize=m(e-1);return r.tokenize(t,r)}}return"meta"}}function v(e,t,r){this.prev=e.context;this.tagName=t;this.indent=e.indented;this.startOfLine=r;(a.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=true)}function g(e){e.context&&(e.context=e.context.prev)}function x(e,t){var r;while(true){if(!e.context)return;r=e.context.tagName;if(!a.contextGrabbers.hasOwnProperty(r)||!a.contextGrabbers[r].hasOwnProperty(t))return;g(e)}}function y(e,t,r){if("openTag"==e){r.tagStart=t.column();return b}return"closeTag"==e?w:y}function b(e,t,r){if("word"==e){r.tagName=t.current();c="tag";return S}if(a.allowMissingTagName&&"endTag"==e){c="tag bracket";return S(e,t,r)}c="error";return b}function w(e,t,r){if("word"==e){var n=t.current();r.context&&r.context.tagName!=n&&a.implicitlyClosed.hasOwnProperty(r.context.tagName)&&g(r);if(r.context&&r.context.tagName==n||false===a.matchClosing){c="tag";return k}c="tag error";return C}if(a.allowMissingTagName&&"endTag"==e){c="tag bracket";return k(e,t,r)}c="error";return C}function k(e,t,r){if("endTag"!=e){c="error";return k}g(r);return y}function C(e,t,r){c="error";return k(e,t,r)}function S(e,t,r){if("word"==e){c="attribute";return L}if("endTag"==e||"selfcloseTag"==e){var n=r.tagName,i=r.tagStart;r.tagName=r.tagStart=null;if("selfcloseTag"==e||a.autoSelfClosers.hasOwnProperty(n))x(r,n);else{x(r,n);r.context=new v(r,n,i==r.indented)}return y}c="error";return S}function L(e,t,r){if("equals"==e)return T;a.allowMissing||(c="error");return S(e,t,r)}function T(e,t,r){if("string"==e)return M;if("word"==e&&a.allowUnquoted){c="string";return S}c="error";return S(e,t,r)}function M(e,t,r){if("string"==e)return M;return S(e,t,r)}return{startState:function(e){var t={tokenize:f,state:y,indented:e||0,tagName:null,tagStart:null,context:null};null!=e&&(t.baseIndent=e);return t},token:function(e,t){!t.tagName&&e.sol()&&(t.indented=e.indentation());if(e.eatSpace())return null;u=null;var r=t.tokenize(e,t);if((r||u)&&"comment"!=r){c=null;t.state=t.state(u||r,e,t);c&&(r="error"==c?r+" error":c)}return r},indent:function(t,r,n){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+o;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=h&&t.tokenize!=f)return n?n.match(/^(\s*)/)[0].length:0;if(t.tagName)return false!==a.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+o*(a.multilineTagIndentFactor||1);if(a.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:a.htmlMode?"html":"xml",helperType:a.htmlMode?"html":"xml",skipAttribute:function(e){e.state==T&&(e.state=S)}}});e.defineMIME("text/xml","xml");e.defineMIME("application/xml","xml");e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:true})})},372:function(e,t,r){(function(e){true;e(r(282))})(function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var t=0;t-1&&t.substring(i+1,t.length);if(o)return e.findModeByExtension(o)};e.findModeByName=function(t){t=t.toLowerCase();for(var r=0;r0&&e.push(s.ofType(t,n));r.allowNode&&e.push(s.ifNotMatch(r.allowNode,n));var a=!r.escapeHtml&&!r.skipHtml;a&&e.push(l);return r.astPlugins?e.concat(r.astPlugins):e}d.defaultProps={renderers:{},escapeHtml:true,skipHtml:false,transformLinkUri:v};d.propTypes={className:o.string,source:o.string,children:o.string,sourcePos:o.bool,escapeHtml:o.bool,skipHtml:o.bool,allowNode:o.func,allowedTypes:o.arrayOf(o.oneOf(h)),disallowedTypes:o.arrayOf(o.oneOf(h)),transformLinkUri:o.oneOfType([o.func,o.bool]),transformImageUri:o.func,astPlugins:o.arrayOf(o.func),unwrapDisallowed:o.bool,renderers:o.object};d.types=h;d.renderers=p;d.uriTransformer=v;r.exports=d},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(r,e,t){"use strict";r.exports=i;var n=String.fromCharCode;var a=/\s/;function i(r){return a.test("number"===typeof r?n(r):r.charAt(0))}},function(r,e){r.exports=n;var t=Object.prototype.hasOwnProperty;function n(){var r={};for(var e=0;e=48&&e<=57}},function(r,e,t){"use strict";r.exports=l;var n=t(327);var a=true;var i="skip";var o=false;l.CONTINUE=a;l.SKIP=i;l.EXIT=o;function l(r,e,t,l){if("function"===typeof e&&"function"!==typeof t){l=t;t=e;e=null}s(r);function s(r,a,l){var s;a=a||(l?0:null);e&&r.type!==e&&!n(e,r,a,l||null)||(s=t(r,a,l||null));if(s===o)return s;if(r.children&&s!==i)return c(r.children,r)===o?o:s;return s}function c(r,e){var t=l?-1:1;var n=(l?r.length:-1)+t;var i;var c;while(n>-1&&n65535){ar-=65536;sr+=u(ar>>>10|55296);ar=56320|1023&ar}ar=sr+u(ar)}}else vr!==L&&or(I,gr);else;if(ar){kr();hr=br();Y=mr-1;K+=mr-fr+1;W.push(ar);dr=br();dr.offset++;E&&E.call(P,ar,{start:hr,end:dr},r.slice(fr-1,mr));hr=dr}else{tr=r.slice(fr-1,mr);X+=tr;K+=tr.length;Y=mr-1}}}return W.join(x);function br(){return{line:Q,column:K,offset:Y+(M.offset||0)}}function wr(r,e){var t=br();t.column+=e;t.offset+=e;z.call(V,G[r],t,r)}function yr(e){return r.charAt(e)}function kr(){if(X){W.push(X);l&&l.call(H,X,{start:hr,end:br()});X=x}}}function _(r){return r>=55296&&r<=57343||r>1114111}function Z(r){if(r>=1&&r<=8||11===r||r>=13&&r<=31||r>=127&&r<=159||r>=64976&&r<=65007||65535===(65535&r)||65534===(65535&r))return true;return false}},function(r,e,t){"use strict";var n="";var a;r.exports=i;function i(r,e){if("string"!==typeof r)throw new TypeError("expected a string");if(1===e)return r;if(2===e)return r+r;var t=r.length*e;if(a!==r||"undefined"===typeof a){a=r;n=""}else if(n.length>=t)return n.substr(0,t);while(t>n.length&&e>1){1&e&&(n+=r);e>>=1;r+=r}n+=r;n=n.substr(0,t);return n}},function(r,e,t){"use strict";r.exports=a;var n="\n";function a(r){var e=String(r);var t=e.length;while(e.charAt(--t)===n);return e.slice(0,t+1)}},function(r,e,t){"use strict";r.exports=n;function n(r,e,t,n){var a=["pedantic","commonmark"];var i=a.length;var o=r.length;var l=-1;var s;var c;var u;var f;var v;var p;while(++l=0;n--){var a=r[n];if("."===a)r.splice(n,1);else if(".."===a){r.splice(n,1);t++}else if(t){r.splice(n,1);t--}}if(e)for(;t--;t)r.unshift("..");return r}var n=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var a=function(r){return n.exec(r).slice(1)};e.resolve=function(){var e="",n=false;for(var a=arguments.length-1;a>=-1&&!n;a--){var o=a>=0?arguments[a]:r.cwd();if("string"!==typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)continue;e=o+"/"+e;n="/"===o.charAt(0)}e=t(i(e.split("/"),function(r){return!!r}),!n).join("/");return(n?"/":"")+e||"."};e.normalize=function(r){var n=e.isAbsolute(r),a="/"===o(r,-1);r=t(i(r.split("/"),function(r){return!!r}),!n).join("/");r||n||(r=".");r&&a&&(r+="/");return(n?"/":"")+r};e.isAbsolute=function(r){return"/"===r.charAt(0)};e.join=function(){var r=Array.prototype.slice.call(arguments,0);return e.normalize(i(r,function(r,e){if("string"!==typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))};e.relative=function(r,t){r=e.resolve(r).substr(1);t=e.resolve(t).substr(1);function n(r){var e=0;for(;e=0;t--)if(""!==r[t])break;if(e>t)return[];return r.slice(e,t-e+1)}var a=n(r.split("/"));var i=n(t.split("/"));var o=Math.min(a.length,i.length);var l=o;for(var s=0;s=97&&e<=122||e>=65&&e<=90}},function(r,e,t){"use strict";r.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:t(324)}},function(r,e,t){"use strict";r.exports=a;var n={" ":1,"\t":4};function a(r){var e=0;var t=0;var a=r.charAt(e);var i={};var o;while(a in n){o=n[a];t+=o;o>1&&(t=Math.floor(t/o)*o);i[t]=e;a=r.charAt(++e)}return{indent:t,stops:i}}},function(r,e,t){"use strict";var n="[a-zA-Z_:][a-zA-Z0-9:._-]*";var a="[^\"'=<>`\\u0000-\\u0020]+";var i="'[^']*'";var o='"[^"]*"';var l="(?:"+a+"|"+i+"|"+o+")";var s="(?:\\s+"+n+"(?:\\s*=\\s*"+l+")?)";var c="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var u="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var f="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var v="<[?].*?[?]>";var p="]*>";var h="";e.openCloseTag=new RegExp("^(?:"+c+"|"+u+")");e.tag=new RegExp("^(?:"+c+"|"+u+"|"+f+"|"+v+"|"+p+"|"+h+")")},function(r,e,t){"use strict";r.exports=n;function n(r,e){return r.indexOf("<",e)}},function(r,e,t){"use strict";r.exports=n;function n(r,e){var t=r.indexOf("[",e);var n=r.indexOf("![",e);if(-1===n)return t;return te.length;var l;a&&e.push(i);try{l=r.apply(null,e)}catch(r){if(a&&t)throw r;return i(r)}a||(l&&"function"===typeof l.then?l.then(o,i):l instanceof Error?i(l):o(l))}function i(){if(!t){t=true;e.apply(null,arguments)}}function o(r){i(null,r)}}},function(r,e){var t=Object.prototype.toString;r.exports=n;function n(r){return"[object String]"===t.call(r)}},function(r,e){r.exports=function r(e){return"[object Function]"===Object.prototype.toString.call(e)}},function(r,e,t){"use strict";var n=Object.prototype.toString;r.exports=function(r){var e;return"[object Object]"===n.call(r)&&(e=Object.getPrototypeOf(r),null===e||e===Object.getPrototypeOf({}))}},function(r,e,t){"use strict";var n=t(309);var a=t(278);var i=t(311);r.exports=o;o.Parser=i;function o(r){var e=n(i);e.prototype.options=a(e.prototype.options,this.data("settings"),r);this.Parser=e}},function(r,e,t){"use strict";var n=t(278);var a=t(310);r.exports=i;function i(r){var e;var t;var i;a(l,r);a(o,l);e=l.prototype;for(t in e){i=e[t];i&&"object"===typeof i&&(e[t]="concat"in i?i.concat():n(i))}return l;function o(e){return r.apply(this,e)}function l(){if(!(this instanceof l))return new o(arguments);return r.apply(this,arguments)}}},function(r,e){"function"===typeof Object.create?r.exports=function r(e,t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}:r.exports=function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype;e.prototype=new n;e.prototype.constructor=e}},function(r,e,t){"use strict";var n=t(278);var a=t(312);var i=t(313);var o=t(314);var l=t(315);var s=t(321);r.exports=c;function c(r,e){this.file=e;this.offset={};this.options=n(this.options);this.setOptions({});this.inList=false;this.inBlock=false;this.inLink=false;this.atStart=true;this.toOffset=i(e).toOffset;this.unescape=o(this,"escape");this.decode=l(this)}var u=c.prototype;u.setOptions=t(322);u.parse=t(325);u.options=t(290);u.exitStart=a("atStart",true);u.enterList=a("inList",false);u.enterLink=a("inLink",false);u.enterBlock=a("inBlock",false);u.interruptParagraph=[["thematicBreak"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];u.interruptList=[["atxHeading",{pedantic:false}],["fencedCode",{pedantic:false}],["thematicBreak",{pedantic:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];u.interruptBlockquote=[["indentedCode",{commonmark:true}],["fencedCode",{commonmark:true}],["atxHeading",{commonmark:true}],["setextHeading",{commonmark:true}],["thematicBreak",{commonmark:true}],["html",{commonmark:true}],["list",{commonmark:true}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];u.blockTokenizers={newline:t(328),indentedCode:t(329),fencedCode:t(330),blockquote:t(331),atxHeading:t(332),thematicBreak:t(333),list:t(334),setextHeading:t(336),html:t(337),footnote:t(338),definition:t(340),table:t(341),paragraph:t(342)};u.inlineTokenizers={escape:t(343),autoLink:t(345),url:t(346),html:t(348),link:t(349),reference:t(350),strong:t(351),emphasis:t(353),deletion:t(356),code:t(358),break:t(360),text:t(362)};u.blockMethods=f(u.blockTokenizers);u.inlineMethods=f(u.inlineTokenizers);u.tokenizeBlock=s("block");u.tokenizeInline=s("inline");u.tokenizeFactory=s;function f(r){var e=[];var t;for(t in r)e.push(t);return e}},function(r,e,t){"use strict";r.exports=n;function n(r,e,t){return n;function n(){var n=t||this;var a=n[r];n[r]=!e;return i;function i(){n[r]=a}}}},function(r,e,t){"use strict";r.exports=n;function n(r){var e=o(String(r));return{toPosition:a(e),toOffset:i(e)}}function a(r){return e;function e(e){var t=-1;var n=r.length;if(e<0)return{};while(++te)return{line:t+1,column:e-(r[t-1]||0)+1,offset:e};return{}}}function i(r){return e;function e(e){var t=e&&e.line;var n=e&&e.column;if(!isNaN(t)&&!isNaN(n)&&t-1 in r)return(r[t-2]||0)+n-1||0;return-1}}function o(r){var e=[];var t=r.indexOf("\n");while(-1!==t){e.push(t+1);t=r.indexOf("\n",t+1)}e.push(r.length+1);return e}},function(r,e,t){"use strict";r.exports=n;function n(r,e){return t;function t(t){var n=0;var a=t.indexOf("\\");var i=r[e];var o=[];var l;while(-1!==a){o.push(t.slice(n,a));n=a+1;l=t.charAt(n);l&&-1!==i.indexOf(l)||o.push("\\");a=t.indexOf("\\",n)}o.push(t.slice(n));return o.join("")}}},function(r,e,t){"use strict";var n=t(278);var a=t(283);r.exports=i;function i(r){i.raw=o;return i;function e(e){var t=r.offset;var n=e.line;var a=[];while(++n){if(!(n in t))break;a.push((t[n]||0)+1)}return{start:e,indent:a}}function t(e,t,n){if(3===n)return;r.file.message(e,t)}function i(n,i,o){a(n,{position:e(i),warning:t,text:o,reference:o,textContext:r,referenceContext:r})}function o(r,i,o){return a(r,n(o,{position:e(i),warning:t}))}}},function(r,e){r.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(r,e){r.exports={AElig:"Æ",AMP:"&",Aacute:"Á",Acirc:"Â",Agrave:"À",Aring:"Å",Atilde:"Ã",Auml:"Ä",COPY:"©",Ccedil:"Ç",ETH:"Ð",Eacute:"É",Ecirc:"Ê",Egrave:"È",Euml:"Ë",GT:">",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}},function(r,e){r.exports={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"}},function(r,e,t){"use strict";r.exports=n;function n(r){var e="string"===typeof r?r.charCodeAt(0):r;return e>=97&&e<=102||e>=65&&e<=70||e>=48&&e<=57}},function(r,e,t){"use strict";var n=t(289);var a=t(280);r.exports=i;function i(r){return n(r)||a(r)}},function(r,e,t){"use strict";r.exports=l;var n={text:i,blockquote:o};function a(r){var e;var t;if("text"!==r.type||!r.position)return true;e=r.position.start;t=r.position.end;return e.line!==t.line||t.column-e.column===r.value.length}function i(r,e){r.value+=e.value;return r}function o(r,e){if(this.options.commonmark)return e;r.children=r.children.concat(e.children);return r}function l(r){return e;function e(e,t){var i=this;var o=i.offset;var l=[];var s=i[r+"Methods"];var c=i[r+"Tokenizers"];var u=t.line;var f=t.column;var v;var p;var h;var d;var g;var m;if(!e)return l;E.now=y;E.file=i.file;b("");while(e){v=-1;p=s.length;g=false;while(++v"];var a=n.concat(["~","|"]);var i=a.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);o.default=n;o.gfm=a;o.commonmark=i;function o(r){var e=r||{};if(e.commonmark)return i;return e.gfm?a:n}},function(r,e){r.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},function(r,e,t){"use strict";var n=t(278);var a=t(326);r.exports=l;var i="\n";var o=/\r\n|\r/g;function l(){var r=this;var e=String(r.file);var t={line:1,column:1,offset:0};var l=n(t);var s;e=e.replace(o,i);if(65279===e.charCodeAt(0)){e=e.slice(1);l.column++;l.offset++}s={type:"root",children:r.tokenizeBlock(e,l),position:{start:t,end:r.eof||n(t)}};r.options.position||a(s,true);return s}},function(r,e,t){"use strict";var n=t(281);r.exports=a;function a(r,e){n(r,e?i:o);return r}function i(r){delete r.position}function o(r){r.position=void 0}},function(r,e,t){"use strict";r.exports=n;function n(r,e,t,i,o){var l=null!==i&&void 0!==i;var s=null!==t&&void 0!==t;var c=a(r);if(s&&("number"!==typeof t||t<0||Infinity===t))throw new Error("Expected positive finite index or child node");if(l&&(!n(null,i)||!i.children))throw new Error("Expected parent node");if(!e||!e.type||"string"!==typeof e.type)return false;if(l!==s)throw new Error("Expected both parent and index");return Boolean(c.call(o,e,t,i))}function a(r){if("string"===typeof r)return s(r);if(null===r||void 0===r)return c;if("object"===typeof r)return("length"in r?l:o)(r);if("function"===typeof r)return r;throw new Error("Expected function, string, or object as test")}function i(r){var e=[];var t=r.length;var n=-1;while(++n=u)continue;y="";while(hl)return;if(!m||!c.pedantic&&e.charAt(f+1)===o)return;u=e.length+1;g="";while(++f=c&&(!p||p===n)){v+=g;if(t)return true;return r(v)({type:"thematicBreak"})}return}g+=p}}}},function(r,e,t){"use strict";var n=t(279);var a=t(284);var i=t(280);var o=t(291);var l=t(335);var s=t(286);r.exports=S;var c="*";var u="_";var f="+";var v="-";var p=".";var h=" ";var d="\n";var g="\t";var m=")";var b="x";var w=4;var y=/\n\n(?!\s*$)/;var k=/^\[([ \t]|x|X)][ \t]/;var A=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var x=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var q=/^( {1,4}|\t)?/gm;var E={};E[c]=true;E[f]=true;E[v]=true;var L={};L[p]=true;var T={};T[p]=true;T[m]=true;function S(r,e,t){var a=this;var o=a.options.commonmark;var l=a.options.pedantic;var f=a.blockTokenizers;var p=a.interruptList;var m;var b=0;var y=e.length;var k=null;var A=0;var x;var q;var S;var D;var C;var N;var R;var I;var B;var U;var j;var z;var H;var P;var V;var G;var M;var F;var _;var Z;var J;var Y;var $;while(b=w)return;S=e.charAt(b);m=o?T:L;if(true===E[S]){D=S;q=false}else{q=true;x="";while(b=w&&($=true);G&&A>=G.indent&&($=true);S=e.charAt(b);I=null;if(!$){if(true===E[S]){I=S;b++;A++}else{x="";while(b=G.indent||A>w):$=true;R=false;b=N}U=e.slice(N,C);B=N===b?U:e.slice(b,C);if((I===c||I===u||I===v)&&f.thematicBreak.call(a,r,U,true))break;j=z;z=!n(B).length;if($&&G){G.value=G.value.concat(V,U);P=P.concat(V,U);V=[]}else if(R){if(0!==V.length){G.value.push("");G.trail=V.concat()}G={value:[U],indent:A,trail:[]};H.push(G);P=P.concat(V,U);V=[]}else if(z){if(j)break;V.push(U)}else{if(j)break;if(s(p,f,a,[r,U,true]))break;G.value=G.value.concat(V,U);P=P.concat(V,U);V=[]}b=C+1}Z=r(P.join(d)).reset({type:"list",ordered:q,start:k,loose:null,children:[]});M=a.enterList();F=a.enterBlock();_=false;b=-1;y=H.length;while(++b0&&p.indent=s){f--;break}v+=d}p="";h="";while(++f|$))/i,/<\/(script|pre|style)>/i,true],[/^/,true],[/^<\?/,/\?>/,true],[/^/,true],[/^/,true],[new RegExp("^|$))","i"),/^$/,true],[new RegExp(n.source+"\\s*$"),/^$/,false]];while(fP){if(U1)if(T){A+=L.slice(0,L.length-1);L=L.charAt(L.length-1)}else{A+=L;L=""}I=r.now();r(A)({type:"tableCell",children:b.tokenizeInline(D,I)},x)}r(L+T);L="";D=""}else{if(L){D+=L;L=""}D+=T;if(T===a&&w!==q-2){D+=j.charAt(w+1);w++}if(T===i){N=1;while(j.charAt(w+1)===T){D+=T;w++;N++}R?N>=R&&(R=0):R=N}}C=false;w++}B||r(u+y)}return H}},function(r,e,t){"use strict";var n=t(279);var a=t(280);var i=t(285);var o=t(286);r.exports=f;var l="\n";var s="\t";var c=" ";var u=4;function f(r,e,t){var f=this;var v=f.options;var p=v.commonmark;var h=v.gfm;var d=f.blockTokenizers;var g=f.interruptParagraph;var m=e.indexOf(l);var b=e.length;var w;var y;var k;var A;var x;while(m=u){m=e.indexOf(l,m+1);continue}}y=e.slice(m+1);if(o(g,d,f,[r,y,true]))break;if(d.list.call(f,r,y,true)&&(f.inList||p||h&&!a(n.left(y).charAt(0))))break;w=m;m=e.indexOf(l,m+1);if(-1!==m&&""===n(e.slice(w,m))){m=w;break}}y=e.slice(0,m);if(""===n(y)){r(y);return null}if(t)return true;x=r.now();y=i(y);return r(y)({type:"paragraph",children:f.tokenizeInline(y,x)})}},function(r,e,t){"use strict";var n=t(344);r.exports=a;a.locator=n;function a(r,e,t){var n=this;var a;var i;if("\\"===e.charAt(0)){a=e.charAt(1);if(-1!==n.escape.indexOf(a)){if(t)return true;i="\n"===a?{type:"break"}:{type:"text",value:a};return r("\\"+a)(i)}}}},function(r,e,t){"use strict";r.exports=n;function n(r,e){return r.indexOf("\\",e)}},function(r,e,t){"use strict";var n=t(277);var a=t(283);var i=t(293);r.exports=v;v.locator=i;v.notInLink=true;var o="<";var l=">";var s="@";var c="/";var u="mailto:";var f=u.length;function v(r,e,t){var i;var v;var p;var h;var d;var g;var m;var b;var w;var y;var k;var A;if(e.charAt(0)!==o)return;i=this;v="";p=e.length;h=0;d="";m=false;b="";h++;v=o;while(h/i;function s(r,e,t){var a=this;var s=e.length;var c;var u;if("<"!==e.charAt(0)||s<3)return;c=e.charAt(1);if(!n(c)&&"?"!==c&&"!"!==c&&"/"!==c)return;u=e.match(i);if(!u)return;if(t)return true;u=u[0];!a.inLink&&o.test(u)?a.inLink=true:a.inLink&&l.test(u)&&(a.inLink=false);return r(u)({type:"html",value:u})}},function(r,e,t){"use strict";var n=t(277);var a=t(294);r.exports=b;b.locator=a;var i={}.hasOwnProperty;var o="\\";var l="[";var s="]";var c="(";var u=")";var f="<";var v=">";var p="`";var h='"';var d="'";var g={};g[h]=h;g[d]=d;var m={};m[h]=h;m[d]=d;m[c]=u;function b(r,e,t){var a=this;var h="";var d=0;var b=e.charAt(0);var w=a.options.pedantic;var y=a.options.commonmark;var k=a.options.gfm;var A;var x;var q;var E;var L;var T;var S;var O;var D;var C;var N;var R;var I;var B;var U;var j;var z;var H;var P;if("!"===b){D=true;h=b;b=e.charAt(++d)}if(b!==l)return;if(!D&&a.inLink)return;h+=b;U="";d++;R=e.length;z=r.now();B=0;z.column+=d;z.offset+=d;while(d=q&&(q=0):q=x}else if(b===o){d++;T+=e.charAt(d)}else if(q&&!k||b!==l){if((!q||k)&&b===s){if(!B){if(!w)while(de){if(" "!==r.charAt(t-1))break;t--}return t}},function(r,e,t){"use strict";r.exports=n;function n(r,e,t){var n=this;var a;var i;var o;var l;var s;var c;var u;var f;var v;var p;if(t)return true;a=n.inlineMethods;l=a.length;i=n.inlineTokenizers;o=-1;v=e.length;while(++o$/i;var o=/^<(\/?)([a-z]+)\s*>$/;r.exports=function(r){var e=void 0;var t=void 0;n(r,"html",function(r,n,i){if(t!==i){e=[];t=i}var o=c(r);if(o){i.children.splice(n,1,{type:a,tag:o,position:r.position});return true}var f=s(r,i);if(!f)return true;var v=l(e,f.tag);v?i.children.splice(n,0,u(f,v,i)):f.opening||e.push(f);return true},true);return r};function l(r,e){var t=r.length;while(t--)if(r[t].tag===e)return r.splice(t,1)[0];return false}function s(r,e){var t=r.value.match(o);return!!t&&{tag:t[2],opening:!t[1],node:r}}function c(r){var e=r.value.match(i);return!!e&&e[1]}function u(r,e,t){var n=t.children.indexOf(r.node);var i=t.children.indexOf(e.node);var o=t.children.splice(n,i-n+1);var l=o.slice(1,-1);return{type:a,children:l,tag:r.tag,position:{start:r.node.position.start,end:e.node.position.end,indent:[]}}}},function(r,e,t){"use strict";var n=t(281);e.ofType=function(r,e){return function(e){r.forEach(function(r){return n(e,r,t,true)});return e};function t(r,t,n){n&&a(r,t,n,e)}};e.ifNotMatch=function(r,e){return function(r){n(r,t,true);return r};function t(t,n,i){i&&!r(t,n,i)&&a(t,n,i,e)}};function a(r,e,t,n){if("remove"===n)t.children.splice(e,1);else if("unwrap"===n){var a=[e,1].concat(r.children);Array.prototype.splice.apply(t.children,a)}}},function(r,e,t){"use strict";var n=t(0);var a=t(278);function i(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;var s=e.renderers[r.type];var c=r.position.start;var u=[r.type,c.line,c.column].join("-");if("text"===r.type)return s?s(r.value,u):r.value;if("function"!==typeof s&&"string"!==typeof s&&!o(s))throw new Error("Renderer for type `"+r.type+"` not defined or is not renderable");var f=l(r,u,e,s,t,a);return n.createElement(s,f,f.children||v()||void 0);function v(){return r.children&&r.children.map(function(t,n){return i(t,e,{node:r,props:f},n)})}}function o(r){return n.Fragment&&n.Fragment===r}function l(r,e,t,n,o,l){var f={key:e};t.sourcePos&&r.position&&(f["data-sourcepos"]=c(r.position));var v=r.identifier?t.definitions[r.identifier]||{}:null;switch(r.type){case"root":s(f,{className:t.className});break;case"heading":f.level=r.depth;break;case"list":f.start=r.start;f.ordered=r.ordered;f.tight=!r.loose;break;case"listItem":f.checked=r.checked;f.tight=!r.loose;f.children=(f.tight?u(r):r.children).map(function(e,n){return i(e,t,{node:r,props:f},n)});break;case"definition":s(f,{identifier:r.identifier,title:r.title,url:r.url});break;case"code":s(f,{language:r.lang&&r.lang.split(/\s/,1)[0]});break;case"inlineCode":f.children=r.value;f.inline=true;break;case"link":s(f,{title:r.title||void 0,href:t.transformLinkUri?t.transformLinkUri(r.url,r.children,r.title):r.url});break;case"image":s(f,{alt:r.alt||void 0,title:r.title||void 0,src:t.transformImageUri?t.transformImageUri(r.url,r.children,r.title,r.alt):r.url});break;case"linkReference":s(f,a(v,{href:t.transformLinkUri?t.transformLinkUri(v.href):v.href}));break;case"imageReference":s(f,{src:t.transformImageUri&&v.href?t.transformImageUri(v.href,r.children,v.title,r.alt):v.href,title:v.title||void 0,alt:r.alt||void 0});break;case"table":case"tableHead":case"tableBody":f.columnAlignment=r.align;break;case"tableRow":f.isHeader="tableHead"===o.node.type;f.columnAlignment=o.props.columnAlignment;break;case"tableCell":s(f,{isHeader:o.props.isHeader,align:o.props.columnAlignment[l]});break;case"virtualHtml":f.tag=r.tag;break;case"html":f.isBlock=r.position.start.line!==r.position.end.line;f.escapeHtml=t.escapeHtml;f.skipHtml=t.skipHtml;break;default:}"string"!==typeof n&&r.value&&(f.value=r.value);return f}function s(r,e){for(var t in e)"undefined"!==typeof e[t]&&(r[t]=e[t])}function c(r){return[r.start.line,":",r.start.column,"-",r.end.line,":",r.end.column].map(String).join("")}function u(r){return r.children.reduce(function(r,e){return r.concat("paragraph"===e.type?e.children||[]:[e])},[])}r.exports=i},function(r,e,t){"use strict";var n=t(281);r.exports=function(r){n(r,"table",a);return r};function a(r){var e=r.children;r.children=[{type:"tableHead",align:r.align,children:[e[0]],position:e[0].position}];e.length>1&&r.children.push({type:"tableBody",align:r.align,children:e.slice(1),position:{start:e[1].position.start,end:e[e.length-1].position.end}})}},function(r,e,t){"use strict";r.exports=function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(e.children||[]).reduce(function(e,t){"definition"===t.type&&(e[t.identifier]={href:t.url,title:t.title});return r(t,e)},t)}},function(r,e,t){"use strict";var n=["http","https","mailto","tel"];r.exports=function r(e){var t=(e||"").trim();var a=t.charAt(0);if("#"===a||"/"===a)return t;var i=t.indexOf(":");if(-1===i)return t;var o=n.length;var l=-1;while(++ll)return t;l=t.indexOf("#");if(-1!==l&&i>l)return t;return"javascript:void(0)"}},function(r,e,t){"use strict";var n=t(278);var a=t(0);var i=a.createElement;r.exports={root:"div",break:"br",paragraph:"p",emphasis:"em",strong:"strong",thematicBreak:"hr",blockquote:"blockquote",delete:"del",link:"a",image:"img",linkReference:"a",imageReference:"img",table:o.bind(null,"table"),tableHead:o.bind(null,"thead"),tableBody:o.bind(null,"tbody"),tableRow:o.bind(null,"tr"),tableCell:l,list:c,listItem:u,definition:d,heading:s,inlineCode:v,code:f,html:p,virtualHtml:h};function o(r,e){return i(r,g(e),e.children)}function l(r){var e=r.align?{textAlign:r.align}:void 0;var t=g(r);return i(r.isHeader?"th":"td",e?n({style:e},t):t,r.children)}function s(r){return i("h"+r.level,g(r),r.children)}function c(r){var e=g(r);null!==r.start&&1!==r.start&&(e.start=r.start.toString());return i(r.ordered?"ol":"ul",e,r.children)}function u(r){var e=null;if(null!==r.checked){var t=r.checked;e=i("input",{type:"checkbox",checked:t,readOnly:true})}return i("li",g(r),e,r.children)}function f(r){var e=r.language&&"language-"+r.language;var t=i("code",e?{className:e}:null,r.value);return i("pre",g(r),t)}function v(r){return i("code",g(r),r.children)}function p(r){if(r.skipHtml)return null;var e=r.isBlock?"div":"span";if(r.escapeHtml)return i(e,null,r.value);var t={dangerouslySetInnerHTML:{__html:r.value}};return i(e,t)}function h(r){return i(r.tag,g(r),r.children)}function d(){return null}function g(r){return r["data-sourcepos"]?{"data-sourcepos":r["data-sourcepos"]}:{}}}]))}); \ No newline at end of file diff --git a/.next/server/bundles/pages/_app.js b/.next/server/bundles/pages/_app.js new file mode 100644 index 0000000..d750e20 --- /dev/null +++ b/.next/server/bundles/pages/_app.js @@ -0,0 +1,577 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 28); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */, +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */, +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */, +/* 9 */, +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */, +/* 14 */, +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */, +/* 17 */, +/* 18 */, +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */, +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(29); + + +/***/ }), +/* 29 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MyApp; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_app__ = __webpack_require__(30); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_app___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_next_app__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__redux_store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__redux_actions_userAct__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__styles_style_sass__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__styles_style_sass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__styles_style_sass__); + + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + + + + + +var ssr = typeof window === 'undefined'; + +var MyApp = +/*#__PURE__*/ +function (_App) { + _inherits(MyApp, _App); + + function MyApp() { + _classCallCheck(this, MyApp); + + return _possibleConstructorReturn(this, (MyApp.__proto__ || Object.getPrototypeOf(MyApp)).apply(this, arguments)); + } + + _createClass(MyApp, [{ + key: "componentWillMount", + value: function componentWillMount() { + var _props = this.props, + user = _props.user, + setup = _props.setup; + Object(__WEBPACK_IMPORTED_MODULE_5__redux_actions_userAct__["g" /* setUser */])(_objectSpread({}, user, { + setup: setup + })); + + if (!ssr && !user.email) { + var jwt = window.localStorage.jwt; + if (jwt) Object(__WEBPACK_IMPORTED_MODULE_5__redux_actions_userAct__["e" /* doLogin */])(null, jwt, true); + } + } + }, { + key: "render", + value: function render() { + var _props2 = this.props, + Component = _props2.Component, + pageProps = _props2.pageProps; + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_react_redux__["Provider"], { + store: __WEBPACK_IMPORTED_MODULE_3__redux_store__["a" /* default */] + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_next_app__["Container"], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(Component, pageProps))); + } + }], [{ + key: "getInitialProps", + value: function () { + var _getInitialProps = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(_ref) { + var Component, ctx, user, setup, pageProps; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + Component = _ref.Component, ctx = _ref.ctx; + user = {}; + setup = false; + + if (ssr) { + user = ctx.req.user || {}; + setup = ctx.req.doSetup || false; + } + + pageProps = {}; + + if (!Component.getInitialProps) { + _context.next = 9; + break; + } + + _context.next = 8; + return Component.getInitialProps(ctx); + + case 8: + pageProps = _context.sent; + + case 9: + return _context.abrupt("return", { + Component: Component, + pageProps: pageProps, + user: user, + setup: setup + }); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function getInitialProps(_x) { + return _getInitialProps.apply(this, arguments); + }; + }() + }]); + + return MyApp; +}(__WEBPACK_IMPORTED_MODULE_2_next_app___default.a); + + + +/***/ }), +/* 30 */ +/***/ (function(module, exports) { + +module.exports = require("next/app"); + +/***/ }), +/* 31 */ +/***/ (function(module, exports) { + + + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/bundles/pages/_document.js b/.next/server/bundles/pages/_document.js new file mode 100644 index 0000000..0f082eb --- /dev/null +++ b/.next/server/bundles/pages/_document.js @@ -0,0 +1,212 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 32); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), + +/***/ 1: +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), + +/***/ 32: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(33); + + +/***/ }), + +/***/ 33: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MyDocument; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_next_document__ = __webpack_require__(34); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_next_document___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_next_document__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__util_getUrl__); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + + + +var MyDocument = +/*#__PURE__*/ +function (_Document) { + _inherits(MyDocument, _Document); + + function MyDocument() { + _classCallCheck(this, MyDocument); + + return _possibleConstructorReturn(this, (MyDocument.__proto__ || Object.getPrototypeOf(MyDocument)).apply(this, arguments)); + } + + _createClass(MyDocument, [{ + key: "render", + value: function render() { + var favicon = __WEBPACK_IMPORTED_MODULE_2__util_getUrl___default()('favicon.ico'); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("html", null, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_next_document__["Head"], null, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("meta", { + charSet: "utf-8" + }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("meta", { + name: "viewport", + content: "width=device-width, initial-scale=1, shrink-to-fit=no" + }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("link", { + rel: "shortcut icon", + href: favicon, + type: "image/x-icon" + }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("link", { + rel: "icon", + href: favicon, + type: "image/x-icon" + }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("link", { + rel: "stylesheet", + href: __WEBPACK_IMPORTED_MODULE_2__util_getUrl___default()('/_next/static/style.css') + }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("title", null, "My Knowledge Base"), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("script", { + dangerouslySetInnerHTML: { + __html: 'window.kbConf=' + JSON.stringify(app.get('kbConf')) + } + })), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("body", null, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_next_document__["Main"], null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_next_document__["NextScript"], null))); + } + }]); + + return MyDocument; +}(__WEBPACK_IMPORTED_MODULE_1_next_document___default.a); + + + +/***/ }), + +/***/ 34: +/***/ (function(module, exports) { + +module.exports = require("next/document"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/.next/server/bundles/pages/_error.js b/.next/server/bundles/pages/_error.js new file mode 100644 index 0000000..f22c4f3 --- /dev/null +++ b/.next/server/bundles/pages/_error.js @@ -0,0 +1,98 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 46); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 46: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(47); + + +/***/ }), + +/***/ 47: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(48) + + +/***/ }), + +/***/ 48: +/***/ (function(module, exports) { + +module.exports = require("next/error"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/.next/server/bundles/pages/edit.js b/.next/server/bundles/pages/edit.js new file mode 100644 index 0000000..6100127 --- /dev/null +++ b/.next/server/bundles/pages/edit.js @@ -0,0 +1,2124 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded chunks +/******/ // "0" means "already loaded" +/******/ var installedChunks = { +/******/ 1: 0 +/******/ }; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId) { +/******/ // "0" is the signal for "already loaded" +/******/ if(installedChunks[chunkId] !== 0) { +/******/ var chunk = require("../../" + ({"0":"chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726"}[chunkId]||chunkId) + "-" + {"0":"ed8718ca2da55a768680"}[chunkId] + ".js"); +/******/ var moreModules = chunk.modules, chunkIds = chunk.ids; +/******/ for(var moduleId in moreModules) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ for(var i = 0; i < chunkIds.length; i++) +/******/ installedChunks[chunkIds[i]] = 0; +/******/ } +/******/ return require('next/dynamic').SameLoopPromise.resolve(); +/******/ }; +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // uncatched error handler for webpack runtime +/******/ __webpack_require__.oe = function(err) { +/******/ process.nextTick(function() { +/******/ throw err; // catch this error by using System.import().catch() +/******/ }); +/******/ }; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 35); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (_ref) { + var user = _ref.user; + return { + user: user + }; +}); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("next/router"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var Spinner = function Spinner(props) { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", _extends({ + className: "spinner" + }, props)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (Spinner); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaddedRow = function PaddedRow(_ref) { + var children = _ref.children, + amount = _ref.amount, + vCenter = _ref.vCenter; + amount = amount || 20; + + var PadItem = function PadItem() { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: 'column column-' + amount + ' nomob' + }); + }; + + var rowProps = { + className: 'row' + }; + if (vCenter) rowProps = { + className: 'row v-center' + };else rowProps = _objectSpread({}, rowProps, { + style: { + paddingTop: amount + } + }); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", rowProps, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: "column" + }, children), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PaddedRow); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("next/dynamic"); + +/***/ }), +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (req) { + if (req) return req.jwt; + + if (typeof window !== 'undefined') { + return window.localStorage.getItem('jwt'); + } +}); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("next/link"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./comps/Header.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + +var Header_NavLink = function NavLink(_ref) { + var children = _ref.children, + href = _ref.href, + active = _ref.active; + var activeClass = active ? ' active' : ''; + return external__react__default.a.createElement(link__default.a, { + href: href, + as: getUrl_default()(href) + }, external__react__default.a.createElement("a", { + className: activeClass + }, children)); +}; + +var navItems = [['/', 'Home'], ['/new', 'New Doc'], ['/settings', 'Settings']]; + +var Header_Header = +/*#__PURE__*/ +function (_Component) { + _inherits(Header, _Component); + + function Header() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, Header); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = Header.__proto__ || Object.getPrototypeOf(Header)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + open: false + } + }), Object.defineProperty(_assertThisInitialized(_this), "hideNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: false + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "toggleNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: !_this.state.open + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "isActive", { + configurable: true, + enumerable: true, + writable: true, + value: function value(url) { + return getUrl_default()(_this.props.router.pathname) === getUrl_default()(url); + } + }), Object.defineProperty(_assertThisInitialized(_this), "logout", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + + _this.hideNav(); + + Object(userAct["f" /* doLogout */])(); + } + }), _temp)); + } + + _createClass(Header, [{ + key: "render", + value: function render() { + var _this2 = this; + + var expandClass = this.state.open ? ' active' : ''; + var user = this.props.user; + return external__react__default.a.createElement("nav", { + className: "navbar", + role: "navigation", + "aria-label": "main navigation" + }, external__react__default.a.createElement("div", { + className: "navbar-brand" + }, external__react__default.a.createElement(Header_NavLink, { + href: "/" + }, external__react__default.a.createElement("h3", { + onClick: this.hideNav + }, "MYKB"))), !user.email ? null : [external__react__default.a.createElement("div", { + className: 'navbar-burger ' + expandClass, + onClick: this.toggleNav, + key: "burger" + }, external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null)), external__react__default.a.createElement("div", { + className: 'navbar-items' + expandClass, + key: "items" + }, navItems.map(function (item) { + return external__react__default.a.createElement(Header_NavLink, { + key: item[0], + href: item[0], + active: _this2.isActive(item[0]) + }, external__react__default.a.createElement("p", { + className: "item", + onClick: _this2.hideNav + }, item[1])); + }), external__react__default.a.createElement("a", { + href: "/logout", + onClick: this.logout + }, external__react__default.a.createElement("p", { + className: "item" + }, "Logout")))]); + } + }]); + + return Header; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Header = (Object(router_["withRouter"])(Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Header_Header))); +// EXTERNAL MODULE: ./util/keys.js +var keys = __webpack_require__(18); +var keys_default = /*#__PURE__*/__webpack_require__.n(keys); + +// CONCATENATED MODULE: ./comps/KeyShortcuts.js +function KeyShortcuts__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { KeyShortcuts__typeof = function _typeof(obj) { return typeof obj; }; } else { KeyShortcuts__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return KeyShortcuts__typeof(obj); } + +function KeyShortcuts__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function KeyShortcuts__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function KeyShortcuts__createClass(Constructor, protoProps, staticProps) { if (protoProps) KeyShortcuts__defineProperties(Constructor.prototype, protoProps); if (staticProps) KeyShortcuts__defineProperties(Constructor, staticProps); return Constructor; } + +function KeyShortcuts__possibleConstructorReturn(self, call) { if (call && (KeyShortcuts__typeof(call) === "object" || typeof call === "function")) { return call; } return KeyShortcuts__assertThisInitialized(self); } + +function KeyShortcuts__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function KeyShortcuts__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + +/* - keyboard shortcuts + g then h -> navigate home + g then n -> navigate to new doc + g then s -> navigate to settings + g then l -> logout + e (when on doc page) -> edit doc + / (when on home page) -> focus search + ctrl/cmd + enter -> submit new doc (handled in CodeMirror component) +*/ + +var keyToUrl = { + 72: '/', + 78: '/new', + 83: '/settings' +}; +var keyToEl = { + 69: { + sel: '#edit', + func: 'click' + }, + 191: { + sel: '.search', + func: 'focus' + } +}; + +var KeyShortcuts_KeyShortcuts = +/*#__PURE__*/ +function (_Component) { + KeyShortcuts__inherits(KeyShortcuts, _Component); + + function KeyShortcuts() { + var _ref; + + var _temp, _this; + + KeyShortcuts__classCallCheck(this, KeyShortcuts); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return KeyShortcuts__possibleConstructorReturn(_this, (_temp = _this = KeyShortcuts__possibleConstructorReturn(this, (_ref = KeyShortcuts.__proto__ || Object.getPrototypeOf(KeyShortcuts)).call.apply(_ref, [this].concat(args))), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "handleDown", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var tag = e.target.tagName; + if (tag === 'INPUT' || tag === 'TEXTAREA') return; + var key = Object(keys["getKey"])(e); + + if (_this.prevKey === 71) { + // prev key was g + switch (key) { + case 72: + case 78: + case 83: + { + var url = keyToUrl[key]; + router__default.a.push(url, getUrl_default()(url)); + break; + } + + case 76: + { + setTimeout(userAct["f" /* doLogout */], 1); + break; + } + + default: + break; + } + } + + switch (key) { + case 69: + case 191: + { + var _keyToEl$key = keyToEl[key], + sel = _keyToEl$key.sel, + func = _keyToEl$key.func; + var el = document.querySelector(sel); + if (el) setTimeout(function () { + return el[func](); + }, 1); + break; + } + + default: + break; + } + + _this.prevKey = key; + } + }), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "render", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return null; + } + }), _temp)); + } + + KeyShortcuts__createClass(KeyShortcuts, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('keydown', this.handleDown); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('keydown', this.handleDown); + } + }]); + + return KeyShortcuts; +}(external__react_["Component"]); + +/* harmony default export */ var comps_KeyShortcuts = (KeyShortcuts_KeyShortcuts); +// CONCATENATED MODULE: ./comps/Footer.js + + +var Footer_Footer = function Footer() { + return external__react__default.a.createElement("footer", { + className: "footer" + }, external__react__default.a.createElement("p", null, "Powered by", ' ', external__react__default.a.createElement("a", { + href: "//github.com/ijjk/mykb", + target: "_blank", + rel: "noopener noreferrer" + }, "MYKB"))); +}; + +/* harmony default export */ var comps_Footer = (Footer_Footer); +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// CONCATENATED MODULE: ./comps/Login.js +function Login__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Login__typeof = function _typeof(obj) { return typeof obj; }; } else { Login__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Login__typeof(obj); } + +function Login__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Login__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Login__createClass(Constructor, protoProps, staticProps) { if (protoProps) Login__defineProperties(Constructor.prototype, protoProps); if (staticProps) Login__defineProperties(Constructor, staticProps); return Constructor; } + +function Login__possibleConstructorReturn(self, call) { if (call && (Login__typeof(call) === "object" || typeof call === "function")) { return call; } return Login__assertThisInitialized(self); } + +function Login__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Login__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + +var Login_Login = +/*#__PURE__*/ +function (_Component) { + Login__inherits(Login, _Component); + + function Login() { + var _ref; + + var _temp, _this; + + Login__classCallCheck(this, Login); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Login__possibleConstructorReturn(_this, (_temp = _this = Login__possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Login__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + pass: '' + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var val = el.value; + + if (el.getAttribute('type') === 'email') { + return _this.setState({ + email: val + }); + } + + _this.setState({ + pass: val + }); + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var pending = _this.props.user.pending; + var _this$state = _this.state, + email = _this$state.email, + pass = _this$state.pass; + email = email.trim(); + pass = pass.trim(); + e.preventDefault(); + + if (pending || email.length === 0 || pass.length == 0) { + return; + } + + Object(userAct["e" /* doLogin */])({ + email: email, + password: pass + }); + } + }), _temp)); + } + + Login__createClass(Login, [{ + key: "render", + value: function render() { + var _props$user = this.props.user, + pending = _props$user.pending, + error = _props$user.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("h4", null, "Please login to continue"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + id: "email", + name: "email", + autoFocus: true, + placeholder: "John@deux.com", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Pass:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + name: "password", + placeholder: "Super secret password...", + onChange: this.updVal + })), external__react__default.a.createElement("button", { + className: 'float-right' + (pending ? ' disabled' : ''), + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", null, error)))); + } + }]); + + return Login; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Login = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Login_Login)); +// CONCATENATED MODULE: ./comps/Setup.js +function Setup__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Setup__typeof = function _typeof(obj) { return typeof obj; }; } else { Setup__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Setup__typeof(obj); } + +function Setup__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Setup__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Setup__createClass(Constructor, protoProps, staticProps) { if (protoProps) Setup__defineProperties(Constructor.prototype, protoProps); if (staticProps) Setup__defineProperties(Constructor, staticProps); return Constructor; } + +function Setup__possibleConstructorReturn(self, call) { if (call && (Setup__typeof(call) === "object" || typeof call === "function")) { return call; } return Setup__assertThisInitialized(self); } + +function Setup__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Setup__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + +var Setup_Setup = +/*#__PURE__*/ +function (_Component) { + Setup__inherits(Setup, _Component); + + function Setup() { + var _ref; + + var _temp, _this; + + Setup__classCallCheck(this, Setup); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Setup__possibleConstructorReturn(_this, (_temp = _this = Setup__possibleConstructorReturn(this, (_ref = Setup.__proto__ || Object.getPrototypeOf(Setup)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Setup__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + password: '', + confirmPass: '', + pending: false, + error: null + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var key = 'email'; + if (el.id === 'pass') key = 'password';else if (el.id === 'pass2') key = 'confirmPass'; + var obj = {}; + obj[key] = el.value; + + _this.setState(obj); + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + var _this$state = _this.state, + email = _this$state.email, + password = _this$state.password, + confirmPass = _this$state.confirmPass, + pending = _this$state.pending; + if (pending) return; + email = email.trim(); + password = password.trim(); + confirmPass = confirmPass.trim(); + var hasEmpty = [email, password, confirmPass].some(function (val) { + return val.length === 0; + }); + if (hasEmpty) return; + + if (password.toLowerCase() !== confirmPass.toLowerCase()) { + return _this.setState({ + error: "Passwords don't match" + }); + } + + _this.setState({ + pending: true, + error: null + }); + + var defaultErr = 'Could not create account'; + fetch(getUrl_default()('users'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + email: email, + password: password, + admin: true + }) + }).then(function (res) { + if (res.ok) { + return Object(userAct["e" /* doLogin */])({ + email: email, + password: password + }, null, true); + } + + res.json().then(function (_ref2) { + var message = _ref2.message; + var error = message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + }).catch(function (err) { + var error = err.message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + } + }), _temp)); + } + + Setup__createClass(Setup, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + error = _state.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("div", { + className: "column" + }, external__react__default.a.createElement("h3", null, "Setup account"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + autoFocus: true, + id: "email", + placeholder: "Your email (does't have to be actual email)", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + maxLength: 512, + placeholder: "A super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass2" + }, "Confirm Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass2", + maxLength: 512, + placeholder: "Confirm your super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("button", { + className: "float-right", + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", { + className: "danger" + }, error)))))); + } + }]); + + return Setup; +}(external__react_["Component"]); + + +// CONCATENATED MODULE: ./comps/Page.js + + + + + + + + + +var Page_Page = function Page(_ref) { + var user = _ref.user, + children = _ref.children; + return external__react__default.a.createElement("div", null, external__react__default.a.createElement(comps_Header, null), external__react__default.a.createElement(comps_KeyShortcuts, null), user.email ? external__react__default.a.createElement("div", { + className: "container content" + }, children) : user.setup ? external__react__default.a.createElement(Setup_Setup, null) : external__react__default.a.createElement(comps_Login, { + user: user + }), external__react__default.a.createElement(comps_Footer, null)); +}; + +/* harmony default export */ var comps_Page = __webpack_exports__["a"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Page_Page)); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = { + getKey: function getKey(e) { + return e.which || e.keyCode; + }, + isCtrlKey: function isCtrlKey(key) { + return key === 91 || key === 93 || key === 17; + } +}; + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "next/dynamic" +var dynamic_ = __webpack_require__(13); +var dynamic__default = /*#__PURE__*/__webpack_require__.n(dynamic_); + +// CONCATENATED MODULE: ./util/freezeSSR.js + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var freezeSSR_freezeSSR = function freezeSSR(selector) { + var FrozenSSR = function FrozenSSR() { + var __html = ''; + var props = {}; + + if (typeof document !== 'undefined') { + var el = document.querySelector(selector); + + if (el) { + __html = el.innerHTML; + el.getAttributeNames().forEach(function (attr) { + var attrKey = attr === 'class' ? 'className' : attr; + props[attrKey] = el.getAttribute(attr); + }); + } + } + + return external__react__default.a.createElement("div", _extends({}, props, { + dangerouslySetInnerHTML: { + __html: __html + } + })); + }; + + return { + loading: FrozenSSR + }; +}; + +/* harmony default export */ var util_freezeSSR = (freezeSSR_freezeSSR); +// CONCATENATED MODULE: ./comps/Markdown.js + + +function Markdown__extends() { Markdown__extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Markdown__extends.apply(this, arguments); } + + + +var Markdown = dynamic__default()( false ? new (require('next/dynamic').SameLoopPromise)(function (resolve, reject) { + eval('require.ensure = function (deps, callback) { callback(require) }'); + + require.ensure([], function (require) { + var m = require('react-markdown'); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb.js'; + resolve(m); + }, 'chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb.js'); +}) : new (__webpack_require__(13).SameLoopPromise)(function (resolve, reject) { + var weakId = /*require.resolve*/(20); + + try { + var weakModule = __webpack_require__(weakId); + + return resolve(weakModule); + } catch (err) {} + + new Promise(function(resolve) { resolve(); }).then((function (require) { + try { + var m = __webpack_require__(20); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb'; + resolve(m); + } catch (error) { + reject(error); + } + }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); +}), util_freezeSSR('.Markdown')); + +var Markdown_link = function link(props) { + return external__react__default.a.createElement("a", Markdown__extends({}, props, { + target: "_blank", + rel: "noopener noreferrer" + })); +}; + +var renderers = { + link: Markdown_link +}; + +var Markdown_AddRenderers = function AddRenderers(_ref) { + var className = _ref.className, + source = _ref.source; + return external__react__default.a.createElement(Markdown, { + className: className, + source: source, + renderers: renderers + }); +}; + +/* harmony default export */ var comps_Markdown = __webpack_exports__["a"] = (Markdown_AddRenderers); + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +module.exports = require("react-markdown"); + +/***/ }), +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = updateStateFromId; +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function updateStateFromId(e) { + var el = e.target; + this.setState(_defineProperty({}, el.id, el.value)); +} + +/***/ }), +/* 22 */, +/* 23 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MngDoc; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_router__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_next_router__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_dynamic__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_dynamic___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_next_dynamic__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__comps_Page__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__comps_Markdown__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_checkDirParts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + + + +var CodeMirrorSkel = function CodeMirrorSkel() { + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("textarea", { + style: { + height: 'calc(300px - 1.2rem)', + margin: 0 + } + })); +}; + +var CodeMirror = __WEBPACK_IMPORTED_MODULE_3_next_dynamic___default()( false ? new (require('next/dynamic').SameLoopPromise)(function (resolve, reject) { + eval('require.ensure = function (deps, callback) { callback(require) }'); + + require.ensure([], function (require) { + var m = require('../comps/CodeMirror'); + + m.__webpackChunkName = 'comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726.js'; + resolve(m); + }, 'chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726.js'); +}) : new (__webpack_require__(13).SameLoopPromise)(function (resolve, reject) { + var weakId = /*require.resolve*/(22); + + try { + var weakModule = __webpack_require__(weakId); + + return resolve(weakModule); + } catch (err) {} + + __webpack_require__.e/* require.ensure */(0).then((function (require) { + try { + var m = __webpack_require__(22); + + m.__webpackChunkName = 'comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726'; + resolve(m); + } catch (error) { + reject(error); + } + }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); +}), { + loading: CodeMirrorSkel, + ssr: false +}); +var initState = { + name: '', + dir: '', + md: '## New Document!!', + editMode: false, + error: null, + pending: false +}; + +var MngDoc = +/*#__PURE__*/ +function (_Component) { + _inherits(MngDoc, _Component); + + function MngDoc() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, MngDoc); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = MngDoc.__proto__ || Object.getPrototypeOf(MngDoc)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: initState + }), Object.defineProperty(_assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__["a" /* default */].bind(_assertThisInitialized(_this)) + }), Object.defineProperty(_assertThisInitialized(_this), "updMd", { + configurable: true, + enumerable: true, + writable: true, + value: function value(md) { + return _this.setState({ + md: md + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function () { + var _value = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee() { + var _this$state, name, md, dir, editMode, data, doErr, dirErr, url, method, headers, numRemoved, dataKeys, res, _data, id; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this$state = _this.state, name = _this$state.name, md = _this$state.md, dir = _this$state.dir, editMode = _this$state.editMode; + data = { + name: Object(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__["checkName"])(name), + dir: Object(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__["checkDir"])(dir), + md: md + }; + + doErr = function doErr(error) { + return _this.setState({ + pending: false, + error: error + }); + }; + + dirErr = 'can only contain A-Z, a-z, 0-9, -, or . and not start or end with .'; + + if (data.name) { + _context.next = 6; + break; + } + + return _context.abrupt("return", doErr('Document name ' + (data.name === 0 ? 'can not be empty' : dirErr))); + + case 6: + if (!(!data.dir && data.dir !== 0)) { + _context.next = 10; + break; + } + + return _context.abrupt("return", doErr('Directory ' + dirErr)); + + case 10: + if (data.dir === 0) { + data.dir = ''; + } + + case 11: + if (!(data.md.trim().length === 0)) { + _context.next = 13; + break; + } + + return _context.abrupt("return", doErr('Content can not be empty')); + + case 13: + url = __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('docs'), method = 'POST', headers = { + Authorization: Object(__WEBPACK_IMPORTED_MODULE_9__util_getJwt__["a" /* default */])(), + 'Content-Type': 'application/json' + }; + + if (!editMode) { + _context.next = 22; + break; + } + + numRemoved = 0; + dataKeys = Object.keys(data); + dataKeys.forEach(function (k) { + if (data[k] === _this.props.doc[k]) { + delete data[k]; + numRemoved++; + } + }); + + if (!(dataKeys.length === numRemoved)) { + _context.next = 20; + break; + } + + return _context.abrupt("return"); + + case 20: + url = __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('docs/' + _this.props.doc.id); + method = 'PATCH'; + + case 22: + _this.setState({ + error: null, + pending: true + }); + + _context.next = 25; + return fetch(url, { + headers: headers, + method: method, + body: JSON.stringify(data) + }).catch(doErr); + + case 25: + res = _context.sent; + _context.prev = 26; + _context.next = 29; + return res.json(); + + case 29: + data = _context.sent; + _context.next = 35; + break; + + case 32: + _context.prev = 32; + _context.t0 = _context["catch"](26); + data = { + message: 'An error occurred submitting doc' + }; + + case 35: + if (!res.ok) { + _context.next = 38; + break; + } + + _data = data, id = _data.id; + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2_next_router___default.a.push({ + pathname: '/k', + query: { + id: id + } + }, __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()("k/".concat(id)))); + + case 38: + doErr(data.message); + + case 39: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[26, 32]]); + })); + + return function value() { + return _value.apply(this, arguments); + }; + }() + }), _temp)); + } + + _createClass(MngDoc, [{ + key: "render", + value: function render() { + var _state = this.state, + md = _state.md, + dir = _state.dir, + name = _state.name, + error = _state.error, + pending = _state.pending; + var rowStyle = { + paddingTop: 10 + }; + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row fill", + style: rowStyle + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-50" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__comps_Markdown__["a" /* default */], { + className: "fill Markdown", + source: md + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-50" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-60" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "text", + maxLength: 250, + placeholder: "New document name", + id: "name", + value: name, + onChange: this.updVal + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "text", + maxLength: 1024, + placeholder: "Subdirectory (optional)", + id: "dir", + value: dir, + onChange: this.updVal + }))), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(CodeMirror, { + value: md, + className: "column WrapCodeMirror", + onChange: this.updMd, + onSubmit: this.submit, + options: { + theme: 'monokai', + mode: 'markdown', + lineWrapping: true + } + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row", + style: { + marginTop: 5 + } + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("span", null, error), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("button", { + className: "float-right", + style: { + marginTop: 5 + }, + onClick: pending ? null : this.submit + }, "Submit")))))); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, prevState) { + var doc = nextProps.doc; + + if (doc) { + var name = doc.name, + dir = doc.dir, + md = doc.md; + return { + name: name, + md: md, + dir: dir, + editMode: true + }; + } else if (prevState.id) { + return initState; + } + + return null; + } + }]); + + return MngDoc; +}(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + + + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +var isOkDirPart = function isOkDirPart(str) { + if (str.length > 255 || str.length === 0) return false; + var end = str.length - 1; + + for (var i = 0; i < str.length; i++) { + var c = str.charCodeAt(i); + + if (!(c > 47 && c < 58) && // 0-9 + !(c > 64 && c < 91) && // A-Z + !(c > 96 && c < 123) && // a-z + !(c === 95) && !(c === 45) && // _ and - + !((c === 46 || c === 32) && // period or space if not first or last + i !== 0 && i !== end)) { + return false; + } + } + + return true; +}; + +module.exports = { + checkDir: function checkDir(dir) { + if (typeof dir !== 'string') return false; + dir = dir.trim(); + if (dir.length === 0) return 0; + + if (dir.indexOf('/') > -1) { + dir = dir.split('/').filter(function (p) { + return p.length !== 0; + }); + + if (dir.length === 1) { + if (!isOkDirPart(dir[0])) false; + dir = dir[0]; + } else if (dir.length === 0) { + dir = ''; + } else if (dir.some(function (part) { + return !isOkDirPart(part); + })) { + return false; + } + } else if (!isOkDirPart(dir)) { + return false; + } + + return Array.isArray(dir) ? dir.join('/') : dir; + }, + checkName: function checkName(name) { + if (typeof name !== 'string') return false; + name = name.trim(); + if (name.length === 0) return 0; + if (!isOkDirPart(name)) return false; + return name; + } +}; + +/***/ }), +/* 25 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_mapUser__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + + + + + +var getDoc = +/*#__PURE__*/ +function () { + var _ref = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(id, req) { + var found, doc, jwt, docRes; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + jwt = Object(__WEBPACK_IMPORTED_MODULE_6__util_getJwt__["a" /* default */])(req); + + if (jwt) { + _context.next = 3; + break; + } + + return _context.abrupt("return", { + found: found, + doc: doc, + id: id + }); + + case 3: + _context.next = 5; + return __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default()(__WEBPACK_IMPORTED_MODULE_5__util_getUrl___default()('docs/' + id, Boolean(req)), { + method: 'GET', + headers: { + Authorization: jwt + } + }); + + case 5: + docRes = _context.sent; + + if (!docRes.ok) { + _context.next = 11; + break; + } + + _context.next = 9; + return docRes.json(); + + case 9: + doc = _context.sent; + found = true; + + case 11: + return _context.abrupt("return", { + found: found, + doc: doc, + id: id + }); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function getDoc(_x, _x2) { + return _ref.apply(this, arguments); + }; +}(); + +/* harmony default export */ __webpack_exports__["a"] = (function (ComposedComponent) { + var DocComp = + /*#__PURE__*/ + function (_Component) { + _inherits(DocComp, _Component); + + function DocComp() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, DocComp); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = DocComp.__proto__ || Object.getPrototypeOf(DocComp)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + found: false, + id: null, + doc: {} + } + }), _temp)); + } + + _createClass(DocComp, [{ + key: "componentDidUpdate", + value: function () { + var _componentDidUpdate = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee2(prevProps) { + var _props, user, found, id; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _props = this.props, user = _props.user, found = _props.found, id = _props.id; + + if (!(prevProps.user.email === user.email || found)) { + _context2.next = 3; + break; + } + + return _context2.abrupt("return"); + + case 3: + if (user.email) { + _context2.next = 5; + break; + } + + return _context2.abrupt("return"); + + case 5: + _context2.t0 = this; + _context2.next = 8; + return getDoc(id); + + case 8: + _context2.t1 = _context2.sent; + + _context2.t0.setState.call(_context2.t0, _context2.t1); + + case 10: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + return function componentDidUpdate(_x3) { + return _componentDidUpdate.apply(this, arguments); + }; + }() + }, { + key: "render", + value: function render() { + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(ComposedComponent, this.state); + } + }], [{ + key: "getInitialProps", + value: function () { + var _getInitialProps = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee3(_ref3) { + var query, req; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + query = _ref3.query, req = _ref3.req; + _context3.next = 3; + return getDoc(query.id, req); + + case 3: + return _context3.abrupt("return", _context3.sent); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + return function getInitialProps(_x4) { + return _getInitialProps.apply(this, arguments); + }; + }() + }, { + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, state) { + var found = nextProps.found, + id = nextProps.id, + doc = nextProps.doc; + if (state.found !== found) return { + found: found, + id: id, + doc: doc + }; + return null; + } + }]); + + return DocComp; + }(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + + return Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])(__WEBPACK_IMPORTED_MODULE_4__util_mapUser__["a" /* default */])(DocComp); +}); + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +module.exports = require("codemirror"); + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { + +module.exports = require("codemirror/mode/markdown/markdown"); + +/***/ }), +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(36); + + +/***/ }), +/* 36 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__comps_Page__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__comps_MngDoc__ = __webpack_require__(23); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__comps_AddDoc__ = __webpack_require__(25); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + + + + + +var Edit = +/*#__PURE__*/ +function (_Component) { + _inherits(Edit, _Component); + + function Edit() { + _classCallCheck(this, Edit); + + return _possibleConstructorReturn(this, (Edit.__proto__ || Object.getPrototypeOf(Edit)).apply(this, arguments)); + } + + _createClass(Edit, [{ + key: "render", + value: function render() { + var _props = this.props, + found = _props.found, + doc = _props.doc; + if (!found) return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("h3", null, "Doc not found...")); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__comps_MngDoc__["a" /* default */], { + doc: doc + }); + } + }]); + + return Edit; +}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]); + +/* harmony default export */ __webpack_exports__["default"] = (Object(__WEBPACK_IMPORTED_MODULE_3__comps_AddDoc__["a" /* default */])(Edit)); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/bundles/pages/index.js b/.next/server/bundles/pages/index.js new file mode 100644 index 0000000..be7419f --- /dev/null +++ b/.next/server/bundles/pages/index.js @@ -0,0 +1,1768 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 37); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (_ref) { + var user = _ref.user; + return { + user: user + }; +}); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("next/router"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var Spinner = function Spinner(props) { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", _extends({ + className: "spinner" + }, props)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (Spinner); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaddedRow = function PaddedRow(_ref) { + var children = _ref.children, + amount = _ref.amount, + vCenter = _ref.vCenter; + amount = amount || 20; + + var PadItem = function PadItem() { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: 'column column-' + amount + ' nomob' + }); + }; + + var rowProps = { + className: 'row' + }; + if (vCenter) rowProps = { + className: 'row v-center' + };else rowProps = _objectSpread({}, rowProps, { + style: { + paddingTop: amount + } + }); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", rowProps, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: "column" + }, children), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PaddedRow); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */, +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (req) { + if (req) return req.jwt; + + if (typeof window !== 'undefined') { + return window.localStorage.getItem('jwt'); + } +}); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("next/link"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./comps/Header.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + +var Header_NavLink = function NavLink(_ref) { + var children = _ref.children, + href = _ref.href, + active = _ref.active; + var activeClass = active ? ' active' : ''; + return external__react__default.a.createElement(link__default.a, { + href: href, + as: getUrl_default()(href) + }, external__react__default.a.createElement("a", { + className: activeClass + }, children)); +}; + +var navItems = [['/', 'Home'], ['/new', 'New Doc'], ['/settings', 'Settings']]; + +var Header_Header = +/*#__PURE__*/ +function (_Component) { + _inherits(Header, _Component); + + function Header() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, Header); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = Header.__proto__ || Object.getPrototypeOf(Header)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + open: false + } + }), Object.defineProperty(_assertThisInitialized(_this), "hideNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: false + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "toggleNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: !_this.state.open + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "isActive", { + configurable: true, + enumerable: true, + writable: true, + value: function value(url) { + return getUrl_default()(_this.props.router.pathname) === getUrl_default()(url); + } + }), Object.defineProperty(_assertThisInitialized(_this), "logout", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + + _this.hideNav(); + + Object(userAct["f" /* doLogout */])(); + } + }), _temp)); + } + + _createClass(Header, [{ + key: "render", + value: function render() { + var _this2 = this; + + var expandClass = this.state.open ? ' active' : ''; + var user = this.props.user; + return external__react__default.a.createElement("nav", { + className: "navbar", + role: "navigation", + "aria-label": "main navigation" + }, external__react__default.a.createElement("div", { + className: "navbar-brand" + }, external__react__default.a.createElement(Header_NavLink, { + href: "/" + }, external__react__default.a.createElement("h3", { + onClick: this.hideNav + }, "MYKB"))), !user.email ? null : [external__react__default.a.createElement("div", { + className: 'navbar-burger ' + expandClass, + onClick: this.toggleNav, + key: "burger" + }, external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null)), external__react__default.a.createElement("div", { + className: 'navbar-items' + expandClass, + key: "items" + }, navItems.map(function (item) { + return external__react__default.a.createElement(Header_NavLink, { + key: item[0], + href: item[0], + active: _this2.isActive(item[0]) + }, external__react__default.a.createElement("p", { + className: "item", + onClick: _this2.hideNav + }, item[1])); + }), external__react__default.a.createElement("a", { + href: "/logout", + onClick: this.logout + }, external__react__default.a.createElement("p", { + className: "item" + }, "Logout")))]); + } + }]); + + return Header; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Header = (Object(router_["withRouter"])(Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Header_Header))); +// EXTERNAL MODULE: ./util/keys.js +var keys = __webpack_require__(18); +var keys_default = /*#__PURE__*/__webpack_require__.n(keys); + +// CONCATENATED MODULE: ./comps/KeyShortcuts.js +function KeyShortcuts__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { KeyShortcuts__typeof = function _typeof(obj) { return typeof obj; }; } else { KeyShortcuts__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return KeyShortcuts__typeof(obj); } + +function KeyShortcuts__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function KeyShortcuts__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function KeyShortcuts__createClass(Constructor, protoProps, staticProps) { if (protoProps) KeyShortcuts__defineProperties(Constructor.prototype, protoProps); if (staticProps) KeyShortcuts__defineProperties(Constructor, staticProps); return Constructor; } + +function KeyShortcuts__possibleConstructorReturn(self, call) { if (call && (KeyShortcuts__typeof(call) === "object" || typeof call === "function")) { return call; } return KeyShortcuts__assertThisInitialized(self); } + +function KeyShortcuts__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function KeyShortcuts__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + +/* - keyboard shortcuts + g then h -> navigate home + g then n -> navigate to new doc + g then s -> navigate to settings + g then l -> logout + e (when on doc page) -> edit doc + / (when on home page) -> focus search + ctrl/cmd + enter -> submit new doc (handled in CodeMirror component) +*/ + +var keyToUrl = { + 72: '/', + 78: '/new', + 83: '/settings' +}; +var keyToEl = { + 69: { + sel: '#edit', + func: 'click' + }, + 191: { + sel: '.search', + func: 'focus' + } +}; + +var KeyShortcuts_KeyShortcuts = +/*#__PURE__*/ +function (_Component) { + KeyShortcuts__inherits(KeyShortcuts, _Component); + + function KeyShortcuts() { + var _ref; + + var _temp, _this; + + KeyShortcuts__classCallCheck(this, KeyShortcuts); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return KeyShortcuts__possibleConstructorReturn(_this, (_temp = _this = KeyShortcuts__possibleConstructorReturn(this, (_ref = KeyShortcuts.__proto__ || Object.getPrototypeOf(KeyShortcuts)).call.apply(_ref, [this].concat(args))), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "handleDown", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var tag = e.target.tagName; + if (tag === 'INPUT' || tag === 'TEXTAREA') return; + var key = Object(keys["getKey"])(e); + + if (_this.prevKey === 71) { + // prev key was g + switch (key) { + case 72: + case 78: + case 83: + { + var url = keyToUrl[key]; + router__default.a.push(url, getUrl_default()(url)); + break; + } + + case 76: + { + setTimeout(userAct["f" /* doLogout */], 1); + break; + } + + default: + break; + } + } + + switch (key) { + case 69: + case 191: + { + var _keyToEl$key = keyToEl[key], + sel = _keyToEl$key.sel, + func = _keyToEl$key.func; + var el = document.querySelector(sel); + if (el) setTimeout(function () { + return el[func](); + }, 1); + break; + } + + default: + break; + } + + _this.prevKey = key; + } + }), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "render", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return null; + } + }), _temp)); + } + + KeyShortcuts__createClass(KeyShortcuts, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('keydown', this.handleDown); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('keydown', this.handleDown); + } + }]); + + return KeyShortcuts; +}(external__react_["Component"]); + +/* harmony default export */ var comps_KeyShortcuts = (KeyShortcuts_KeyShortcuts); +// CONCATENATED MODULE: ./comps/Footer.js + + +var Footer_Footer = function Footer() { + return external__react__default.a.createElement("footer", { + className: "footer" + }, external__react__default.a.createElement("p", null, "Powered by", ' ', external__react__default.a.createElement("a", { + href: "//github.com/ijjk/mykb", + target: "_blank", + rel: "noopener noreferrer" + }, "MYKB"))); +}; + +/* harmony default export */ var comps_Footer = (Footer_Footer); +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// CONCATENATED MODULE: ./comps/Login.js +function Login__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Login__typeof = function _typeof(obj) { return typeof obj; }; } else { Login__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Login__typeof(obj); } + +function Login__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Login__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Login__createClass(Constructor, protoProps, staticProps) { if (protoProps) Login__defineProperties(Constructor.prototype, protoProps); if (staticProps) Login__defineProperties(Constructor, staticProps); return Constructor; } + +function Login__possibleConstructorReturn(self, call) { if (call && (Login__typeof(call) === "object" || typeof call === "function")) { return call; } return Login__assertThisInitialized(self); } + +function Login__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Login__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + +var Login_Login = +/*#__PURE__*/ +function (_Component) { + Login__inherits(Login, _Component); + + function Login() { + var _ref; + + var _temp, _this; + + Login__classCallCheck(this, Login); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Login__possibleConstructorReturn(_this, (_temp = _this = Login__possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Login__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + pass: '' + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var val = el.value; + + if (el.getAttribute('type') === 'email') { + return _this.setState({ + email: val + }); + } + + _this.setState({ + pass: val + }); + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var pending = _this.props.user.pending; + var _this$state = _this.state, + email = _this$state.email, + pass = _this$state.pass; + email = email.trim(); + pass = pass.trim(); + e.preventDefault(); + + if (pending || email.length === 0 || pass.length == 0) { + return; + } + + Object(userAct["e" /* doLogin */])({ + email: email, + password: pass + }); + } + }), _temp)); + } + + Login__createClass(Login, [{ + key: "render", + value: function render() { + var _props$user = this.props.user, + pending = _props$user.pending, + error = _props$user.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("h4", null, "Please login to continue"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + id: "email", + name: "email", + autoFocus: true, + placeholder: "John@deux.com", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Pass:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + name: "password", + placeholder: "Super secret password...", + onChange: this.updVal + })), external__react__default.a.createElement("button", { + className: 'float-right' + (pending ? ' disabled' : ''), + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", null, error)))); + } + }]); + + return Login; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Login = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Login_Login)); +// CONCATENATED MODULE: ./comps/Setup.js +function Setup__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Setup__typeof = function _typeof(obj) { return typeof obj; }; } else { Setup__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Setup__typeof(obj); } + +function Setup__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Setup__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Setup__createClass(Constructor, protoProps, staticProps) { if (protoProps) Setup__defineProperties(Constructor.prototype, protoProps); if (staticProps) Setup__defineProperties(Constructor, staticProps); return Constructor; } + +function Setup__possibleConstructorReturn(self, call) { if (call && (Setup__typeof(call) === "object" || typeof call === "function")) { return call; } return Setup__assertThisInitialized(self); } + +function Setup__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Setup__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + +var Setup_Setup = +/*#__PURE__*/ +function (_Component) { + Setup__inherits(Setup, _Component); + + function Setup() { + var _ref; + + var _temp, _this; + + Setup__classCallCheck(this, Setup); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Setup__possibleConstructorReturn(_this, (_temp = _this = Setup__possibleConstructorReturn(this, (_ref = Setup.__proto__ || Object.getPrototypeOf(Setup)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Setup__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + password: '', + confirmPass: '', + pending: false, + error: null + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var key = 'email'; + if (el.id === 'pass') key = 'password';else if (el.id === 'pass2') key = 'confirmPass'; + var obj = {}; + obj[key] = el.value; + + _this.setState(obj); + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + var _this$state = _this.state, + email = _this$state.email, + password = _this$state.password, + confirmPass = _this$state.confirmPass, + pending = _this$state.pending; + if (pending) return; + email = email.trim(); + password = password.trim(); + confirmPass = confirmPass.trim(); + var hasEmpty = [email, password, confirmPass].some(function (val) { + return val.length === 0; + }); + if (hasEmpty) return; + + if (password.toLowerCase() !== confirmPass.toLowerCase()) { + return _this.setState({ + error: "Passwords don't match" + }); + } + + _this.setState({ + pending: true, + error: null + }); + + var defaultErr = 'Could not create account'; + fetch(getUrl_default()('users'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + email: email, + password: password, + admin: true + }) + }).then(function (res) { + if (res.ok) { + return Object(userAct["e" /* doLogin */])({ + email: email, + password: password + }, null, true); + } + + res.json().then(function (_ref2) { + var message = _ref2.message; + var error = message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + }).catch(function (err) { + var error = err.message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + } + }), _temp)); + } + + Setup__createClass(Setup, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + error = _state.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("div", { + className: "column" + }, external__react__default.a.createElement("h3", null, "Setup account"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + autoFocus: true, + id: "email", + placeholder: "Your email (does't have to be actual email)", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + maxLength: 512, + placeholder: "A super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass2" + }, "Confirm Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass2", + maxLength: 512, + placeholder: "Confirm your super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("button", { + className: "float-right", + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", { + className: "danger" + }, error)))))); + } + }]); + + return Setup; +}(external__react_["Component"]); + + +// CONCATENATED MODULE: ./comps/Page.js + + + + + + + + + +var Page_Page = function Page(_ref) { + var user = _ref.user, + children = _ref.children; + return external__react__default.a.createElement("div", null, external__react__default.a.createElement(comps_Header, null), external__react__default.a.createElement(comps_KeyShortcuts, null), user.email ? external__react__default.a.createElement("div", { + className: "container content" + }, children) : user.setup ? external__react__default.a.createElement(Setup_Setup, null) : external__react__default.a.createElement(comps_Login, { + user: user + }), external__react__default.a.createElement(comps_Footer, null)); +}; + +/* harmony default export */ var comps_Page = __webpack_exports__["a"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Page_Page)); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = { + getKey: function getKey(e) { + return e.which || e.keyCode; + }, + isCtrlKey: function isCtrlKey(key) { + return key === 91 || key === 93 || key === 17; + } +}; + +/***/ }), +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */, +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(38); + + +/***/ }), +/* 38 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); + +// EXTERNAL MODULE: external "@babel/runtime/regenerator" +var regenerator_ = __webpack_require__(5); +var regenerator__default = /*#__PURE__*/__webpack_require__.n(regenerator_); + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: external "react-paginate" +var external__react_paginate_ = __webpack_require__(39); +var external__react_paginate__default = /*#__PURE__*/__webpack_require__.n(external__react_paginate_); + +// EXTERNAL MODULE: external "url" +var external__url_ = __webpack_require__(10); +var external__url__default = /*#__PURE__*/__webpack_require__.n(external__url_); + +// EXTERNAL MODULE: ./comps/Page.js + 5 modules +var Page = __webpack_require__(17); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// CONCATENATED MODULE: ./comps/DocItem.js + + + + +var DocItem_DocItem = function DocItem(_ref) { + var id = _ref.id, + name = _ref.name, + dir = _ref.dir, + updated = _ref.updated; + name = dir + (dir.length > 0 ? '/' : '') + name; + var as = getUrl_default()('k/' + id); + var href = { + pathname: '/k', + query: { + id: id + } + }; + return external__react__default.a.createElement("tr", null, external__react__default.a.createElement("td", null, external__react__default.a.createElement(link__default.a, { + href: href, + as: as + }, external__react__default.a.createElement("a", null, external__react__default.a.createElement("p", { + className: "noMargin" + }, name, external__react__default.a.createElement("span", { + className: "float-right" + }, new Date(updated).toLocaleDateString('en-US'))))))); +}; + +/* harmony default export */ var comps_DocItem = (DocItem_DocItem); +// EXTERNAL MODULE: external "isomorphic-unfetch" +var external__isomorphic_unfetch_ = __webpack_require__(7); +var external__isomorphic_unfetch__default = /*#__PURE__*/__webpack_require__.n(external__isomorphic_unfetch_); + +// CONCATENATED MODULE: ./util/parseSort.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/* harmony default export */ var parseSort = (function (sort) { + var key, ascDesc; + + switch (_typeof(sort)) { + case 'object': + { + key = Object.keys(sort).pop(); + ascDesc = sort[key]; + break; + } + + case 'string': + { + var parts = sort.split(':'); + key = parts[0]; + ascDesc = parts[1]; + break; + } + + default: + break; + } + + return "$sort[".concat(key, "]=").concat(ascDesc); +}); +// EXTERNAL MODULE: ./util/getJwt.js +var getJwt = __webpack_require__(14); + +// CONCATENATED MODULE: ./util/getDocs.js + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + +var $limit = 12; // number of docs per page + +var getDocs_select = ['id', 'name', 'updated', 'dir'].map(function (f, i) { + return _defineProperty({}, "$select[".concat(i, "]"), f); +}); +var getDocs = +/*#__PURE__*/ +function () { + var _ref2 = _asyncToGenerator( + /*#__PURE__*/ + regenerator__default.a.mark(function _callee(q, jwt) { + var docsRes, res, total, docs; + return regenerator__default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return external__isomorphic_unfetch__default()(getUrl_default()('docs', Boolean(jwt)) + q, { + headers: { + Authorization: jwt || Object(getJwt["a" /* default */])() + } + }).catch(function (_ref3) { + var message = _ref3.message; + return { + ok: false, + error: message + }; + }); + + case 2: + docsRes = _context.sent; + + if (!docsRes.ok) { + _context.next = 10; + break; + } + + _context.next = 6; + return docsRes.json(); + + case 6: + res = _context.sent; + total = res.total || 0; + docs = res.data || []; + return _context.abrupt("return", { + docs: docs, + total: total + }); + + case 10: + return _context.abrupt("return", { + total: 0, + docs: [], + error: docsRes.message + }); + + case 11: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function getDocs(_x, _x2) { + return _ref2.apply(this, arguments); + }; +}(); +var getDocs_buildQ = function buildQ(q) { + if (!q.$search) delete q.$search; + if (!q.$skip) delete q.$skip;else { + q.$skip = (q.$skip - 1) * $limit; + } + var $sort = parseSort(q.$sort ? q.$sort : 'updated:-1'); + delete q.$sort; + getDocs_select.forEach(function (sel) { + return q = _objectSpread({}, q, sel); + }); + q = _objectSpread({ + $limit: $limit + }, q); + var url = Object.keys(q).map(function (k) { + return "".concat(k, "=").concat(encodeURIComponent(q[k])); + }).join('&'); + url = "?".concat(url, "&").concat($sort); + return url; +}; +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./pages/index.js + + +function pages__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { pages__typeof = function _typeof(obj) { return typeof obj; }; } else { pages__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return pages__typeof(obj); } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function pages__objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { pages__defineProperty(target, key, source[key]); }); } return target; } + +function pages__defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function pages__asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (pages__typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + + + + + + + +var pages_Index = +/*#__PURE__*/ +function (_Component) { + _inherits(Index, _Component); + + function Index() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, Index); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = Index.__proto__ || Object.getPrototypeOf(Index)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + $sort: 'updated:-1', + $search: '', + page: 1, + pending: false, + error: null, + total: 0, + docs: [] + } + }), Object.defineProperty(_assertThisInitialized(_this), "pushQuery", { + configurable: true, + enumerable: true, + writable: true, + value: function value(query) { + return router__default.a.push({ + pathname: '/', + query: query + }, Object(external__url_["format"])({ + pathname: getUrl_default()('/'), + query: query + })); + } + }), Object.defineProperty(_assertThisInitialized(_this), "updDocs", { + configurable: true, + enumerable: true, + writable: true, + value: function value(time, doSearch) { + clearTimeout(_this.docsTime); + _this.docsTime = setTimeout( + /*#__PURE__*/ + pages__asyncToGenerator( + /*#__PURE__*/ + regenerator__default.a.mark(function _callee() { + var _this$state, $sort, $search, page, query, q, data; + + return regenerator__default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this$state = _this.state, $sort = _this$state.$sort, $search = _this$state.$search, page = _this$state.page; + + if (doSearch) { + query = { + search: $search + }; + if (!$search) delete query.search; + + _this.pushQuery(query); + } + + _this.setState({ + error: null + }); + + _this.docsTime = setTimeout(function () { + _this.setState({ + pending: true + }); + }, 125); + q = getDocs_buildQ({ + $search: $search, + $sort: $sort, + $skip: page + }); + _context.next = 7; + return getDocs(q); + + case 7: + data = _context.sent; + clearTimeout(_this.docsTime); + + _this.setState(pages__objectSpread({}, data, { + pending: false + })); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })), time || 275); + } + }), Object.defineProperty(_assertThisInitialized(_this), "updQuery", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + _this.setState(pages__defineProperty({}, e.target.id, e.target.value)); + + _this.updDocs(0, e.target.id === '$search'); + } + }), Object.defineProperty(_assertThisInitialized(_this), "handlePage", { + configurable: true, + enumerable: true, + writable: true, + value: function value(_ref3) { + var selected = _ref3.selected; + var $search = _this.state.$search; + var page = selected + 1; + var query = {}; + + _this.setState({ + page: page + }); + + if (page > 1) query.page = page; + if ($search) query.search = $search; + + _this.pushQuery(query); + + _this.updDocs(1); + } + }), _temp)); + } + + _createClass(Index, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + var _props = this.props, + user = _props.user, + docs = _props.docs; + if (prevProps.user.email === user.email) return; + if (user.email && docs.length === 0) this.updDocs(1); + } + }, { + key: "render", + value: function render() { + var _state = this.state, + $sort = _state.$sort, + $search = _state.$search, + pending = _state.pending, + error = _state.error, + docs = _state.docs, + total = _state.total, + page = _state.page; + var pages = Math.ceil(total / $limit); + return external__react__default.a.createElement(Page["a" /* default */], null, external__react__default.a.createElement(PaddedRow["a" /* default */], null, external__react__default.a.createElement("input", { + type: "text", + placeholder: "Search knowledge base...", + maxLength: 128, + value: $search, + className: "search", + id: "$search", + onChange: this.updQuery + })), external__react__default.a.createElement(PaddedRow["a" /* default */], null, external__react__default.a.createElement("div", { + className: "inline", + style: { + width: '100%' + } + }, external__react__default.a.createElement("h4", { + className: "noMargin" + }, "Docs"), external__react__default.a.createElement("div", { + className: "float-right inline" + }, external__react__default.a.createElement("label", { + htmlFor: "sort" + }, "Sort: "), external__react__default.a.createElement("select", { + id: "$sort", + value: $sort, + onChange: this.updQuery, + style: { + width: 150 + } + }, external__react__default.a.createElement("option", { + value: "updated:-1" + }, 'Updated (new -> old)'), external__react__default.a.createElement("option", { + value: "updated:1" + }, 'Updated (old -> new)'), external__react__default.a.createElement("option", { + value: "created:-1" + }, 'Created (new -> old)'), external__react__default.a.createElement("option", { + value: "created:1" + }, 'Created (old -> new)'), external__react__default.a.createElement("option", { + value: "dirName:1" + }, 'Name (A -> Z)'), external__react__default.a.createElement("option", { + value: "dirName:-1" + }, 'Name (Z -> A)'))))), external__react__default.a.createElement(PaddedRow["a" /* default */], null, docs.length > 0 || error || pending ? null : external__react__default.a.createElement("p", null, "No docs found..."), !error ? null : external__react__default.a.createElement("p", null, error), !pending || error ? null : external__react__default.a.createElement(Spinner["a" /* default */], { + style: { + margin: '25px auto 0' + } + }), docs.length < 1 || pending || error ? null : external__react__default.a.createElement("div", null, external__react__default.a.createElement("table", null, external__react__default.a.createElement("thead", null, external__react__default.a.createElement("tr", null, external__react__default.a.createElement("th", null, "Doc ", external__react__default.a.createElement("span", { + className: "float-right" + }, "Modified")))), external__react__default.a.createElement("tbody", null, docs.map(function (doc) { + return external__react__default.a.createElement(comps_DocItem, _extends({}, doc, { + key: doc.id + })); + }))), pages < 2 ? null : external__react__default.a.createElement(external__react_paginate__default.a, { + pageCount: pages, + containerClassName: "paginate", + activeClassName: "active", + onPageChange: this.handlePage, + forcePage: page - 1 + })))); + } + }], [{ + key: "getInitialProps", + value: function () { + var _getInitialProps = pages__asyncToGenerator( + /*#__PURE__*/ + regenerator__default.a.mark(function _callee2(_ref4) { + var req, query, page, $search, jwt, q, data; + return regenerator__default.a.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + req = _ref4.req, query = _ref4.query; + page = 1, $search = ''; + + if (query) { + page = query.page || page; + $search = query.search || $search; + } + + jwt = Object(getJwt["a" /* default */])(req); + + if (jwt) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", { + total: 0, + docs: [] + }); + + case 6: + q = getDocs_buildQ({ + $search: $search, + $skip: page + }); + _context2.next = 9; + return getDocs(q, req ? jwt : false); + + case 9: + data = _context2.sent; + return _context2.abrupt("return", pages__objectSpread({}, data, { + page: page, + $search: $search + })); + + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + return function getInitialProps(_x) { + return _getInitialProps.apply(this, arguments); + }; + }() + }, { + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, prevState) { + var docs = nextProps.docs, + total = nextProps.total, + page = nextProps.page, + $search = nextProps.$search; + + if (docs.length !== prevState.docs.length || page !== prevState.page || $search !== prevState.$search) { + return { + total: total, + docs: docs, + page: page, + $search: $search, + pending: false + }; + } + + return null; + } + }]); + + return Index; +}(external__react_["Component"]); + +/* harmony default export */ var pages_0 = __webpack_exports__["default"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(pages_Index)); + +/***/ }), +/* 39 */ +/***/ (function(module, exports) { + +module.exports = require("react-paginate"); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/bundles/pages/k.js b/.next/server/bundles/pages/k.js new file mode 100644 index 0000000..0ae27e3 --- /dev/null +++ b/.next/server/bundles/pages/k.js @@ -0,0 +1,1762 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 40); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (_ref) { + var user = _ref.user; + return { + user: user + }; +}); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("next/router"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var Spinner = function Spinner(props) { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", _extends({ + className: "spinner" + }, props)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (Spinner); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaddedRow = function PaddedRow(_ref) { + var children = _ref.children, + amount = _ref.amount, + vCenter = _ref.vCenter; + amount = amount || 20; + + var PadItem = function PadItem() { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: 'column column-' + amount + ' nomob' + }); + }; + + var rowProps = { + className: 'row' + }; + if (vCenter) rowProps = { + className: 'row v-center' + };else rowProps = _objectSpread({}, rowProps, { + style: { + paddingTop: amount + } + }); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", rowProps, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: "column" + }, children), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PaddedRow); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("next/dynamic"); + +/***/ }), +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (req) { + if (req) return req.jwt; + + if (typeof window !== 'undefined') { + return window.localStorage.getItem('jwt'); + } +}); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("next/link"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./comps/Header.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + +var Header_NavLink = function NavLink(_ref) { + var children = _ref.children, + href = _ref.href, + active = _ref.active; + var activeClass = active ? ' active' : ''; + return external__react__default.a.createElement(link__default.a, { + href: href, + as: getUrl_default()(href) + }, external__react__default.a.createElement("a", { + className: activeClass + }, children)); +}; + +var navItems = [['/', 'Home'], ['/new', 'New Doc'], ['/settings', 'Settings']]; + +var Header_Header = +/*#__PURE__*/ +function (_Component) { + _inherits(Header, _Component); + + function Header() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, Header); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = Header.__proto__ || Object.getPrototypeOf(Header)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + open: false + } + }), Object.defineProperty(_assertThisInitialized(_this), "hideNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: false + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "toggleNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: !_this.state.open + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "isActive", { + configurable: true, + enumerable: true, + writable: true, + value: function value(url) { + return getUrl_default()(_this.props.router.pathname) === getUrl_default()(url); + } + }), Object.defineProperty(_assertThisInitialized(_this), "logout", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + + _this.hideNav(); + + Object(userAct["f" /* doLogout */])(); + } + }), _temp)); + } + + _createClass(Header, [{ + key: "render", + value: function render() { + var _this2 = this; + + var expandClass = this.state.open ? ' active' : ''; + var user = this.props.user; + return external__react__default.a.createElement("nav", { + className: "navbar", + role: "navigation", + "aria-label": "main navigation" + }, external__react__default.a.createElement("div", { + className: "navbar-brand" + }, external__react__default.a.createElement(Header_NavLink, { + href: "/" + }, external__react__default.a.createElement("h3", { + onClick: this.hideNav + }, "MYKB"))), !user.email ? null : [external__react__default.a.createElement("div", { + className: 'navbar-burger ' + expandClass, + onClick: this.toggleNav, + key: "burger" + }, external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null)), external__react__default.a.createElement("div", { + className: 'navbar-items' + expandClass, + key: "items" + }, navItems.map(function (item) { + return external__react__default.a.createElement(Header_NavLink, { + key: item[0], + href: item[0], + active: _this2.isActive(item[0]) + }, external__react__default.a.createElement("p", { + className: "item", + onClick: _this2.hideNav + }, item[1])); + }), external__react__default.a.createElement("a", { + href: "/logout", + onClick: this.logout + }, external__react__default.a.createElement("p", { + className: "item" + }, "Logout")))]); + } + }]); + + return Header; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Header = (Object(router_["withRouter"])(Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Header_Header))); +// EXTERNAL MODULE: ./util/keys.js +var keys = __webpack_require__(18); +var keys_default = /*#__PURE__*/__webpack_require__.n(keys); + +// CONCATENATED MODULE: ./comps/KeyShortcuts.js +function KeyShortcuts__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { KeyShortcuts__typeof = function _typeof(obj) { return typeof obj; }; } else { KeyShortcuts__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return KeyShortcuts__typeof(obj); } + +function KeyShortcuts__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function KeyShortcuts__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function KeyShortcuts__createClass(Constructor, protoProps, staticProps) { if (protoProps) KeyShortcuts__defineProperties(Constructor.prototype, protoProps); if (staticProps) KeyShortcuts__defineProperties(Constructor, staticProps); return Constructor; } + +function KeyShortcuts__possibleConstructorReturn(self, call) { if (call && (KeyShortcuts__typeof(call) === "object" || typeof call === "function")) { return call; } return KeyShortcuts__assertThisInitialized(self); } + +function KeyShortcuts__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function KeyShortcuts__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + +/* - keyboard shortcuts + g then h -> navigate home + g then n -> navigate to new doc + g then s -> navigate to settings + g then l -> logout + e (when on doc page) -> edit doc + / (when on home page) -> focus search + ctrl/cmd + enter -> submit new doc (handled in CodeMirror component) +*/ + +var keyToUrl = { + 72: '/', + 78: '/new', + 83: '/settings' +}; +var keyToEl = { + 69: { + sel: '#edit', + func: 'click' + }, + 191: { + sel: '.search', + func: 'focus' + } +}; + +var KeyShortcuts_KeyShortcuts = +/*#__PURE__*/ +function (_Component) { + KeyShortcuts__inherits(KeyShortcuts, _Component); + + function KeyShortcuts() { + var _ref; + + var _temp, _this; + + KeyShortcuts__classCallCheck(this, KeyShortcuts); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return KeyShortcuts__possibleConstructorReturn(_this, (_temp = _this = KeyShortcuts__possibleConstructorReturn(this, (_ref = KeyShortcuts.__proto__ || Object.getPrototypeOf(KeyShortcuts)).call.apply(_ref, [this].concat(args))), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "handleDown", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var tag = e.target.tagName; + if (tag === 'INPUT' || tag === 'TEXTAREA') return; + var key = Object(keys["getKey"])(e); + + if (_this.prevKey === 71) { + // prev key was g + switch (key) { + case 72: + case 78: + case 83: + { + var url = keyToUrl[key]; + router__default.a.push(url, getUrl_default()(url)); + break; + } + + case 76: + { + setTimeout(userAct["f" /* doLogout */], 1); + break; + } + + default: + break; + } + } + + switch (key) { + case 69: + case 191: + { + var _keyToEl$key = keyToEl[key], + sel = _keyToEl$key.sel, + func = _keyToEl$key.func; + var el = document.querySelector(sel); + if (el) setTimeout(function () { + return el[func](); + }, 1); + break; + } + + default: + break; + } + + _this.prevKey = key; + } + }), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "render", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return null; + } + }), _temp)); + } + + KeyShortcuts__createClass(KeyShortcuts, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('keydown', this.handleDown); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('keydown', this.handleDown); + } + }]); + + return KeyShortcuts; +}(external__react_["Component"]); + +/* harmony default export */ var comps_KeyShortcuts = (KeyShortcuts_KeyShortcuts); +// CONCATENATED MODULE: ./comps/Footer.js + + +var Footer_Footer = function Footer() { + return external__react__default.a.createElement("footer", { + className: "footer" + }, external__react__default.a.createElement("p", null, "Powered by", ' ', external__react__default.a.createElement("a", { + href: "//github.com/ijjk/mykb", + target: "_blank", + rel: "noopener noreferrer" + }, "MYKB"))); +}; + +/* harmony default export */ var comps_Footer = (Footer_Footer); +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// CONCATENATED MODULE: ./comps/Login.js +function Login__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Login__typeof = function _typeof(obj) { return typeof obj; }; } else { Login__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Login__typeof(obj); } + +function Login__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Login__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Login__createClass(Constructor, protoProps, staticProps) { if (protoProps) Login__defineProperties(Constructor.prototype, protoProps); if (staticProps) Login__defineProperties(Constructor, staticProps); return Constructor; } + +function Login__possibleConstructorReturn(self, call) { if (call && (Login__typeof(call) === "object" || typeof call === "function")) { return call; } return Login__assertThisInitialized(self); } + +function Login__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Login__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + +var Login_Login = +/*#__PURE__*/ +function (_Component) { + Login__inherits(Login, _Component); + + function Login() { + var _ref; + + var _temp, _this; + + Login__classCallCheck(this, Login); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Login__possibleConstructorReturn(_this, (_temp = _this = Login__possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Login__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + pass: '' + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var val = el.value; + + if (el.getAttribute('type') === 'email') { + return _this.setState({ + email: val + }); + } + + _this.setState({ + pass: val + }); + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var pending = _this.props.user.pending; + var _this$state = _this.state, + email = _this$state.email, + pass = _this$state.pass; + email = email.trim(); + pass = pass.trim(); + e.preventDefault(); + + if (pending || email.length === 0 || pass.length == 0) { + return; + } + + Object(userAct["e" /* doLogin */])({ + email: email, + password: pass + }); + } + }), _temp)); + } + + Login__createClass(Login, [{ + key: "render", + value: function render() { + var _props$user = this.props.user, + pending = _props$user.pending, + error = _props$user.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("h4", null, "Please login to continue"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + id: "email", + name: "email", + autoFocus: true, + placeholder: "John@deux.com", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Pass:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + name: "password", + placeholder: "Super secret password...", + onChange: this.updVal + })), external__react__default.a.createElement("button", { + className: 'float-right' + (pending ? ' disabled' : ''), + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", null, error)))); + } + }]); + + return Login; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Login = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Login_Login)); +// CONCATENATED MODULE: ./comps/Setup.js +function Setup__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Setup__typeof = function _typeof(obj) { return typeof obj; }; } else { Setup__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Setup__typeof(obj); } + +function Setup__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Setup__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Setup__createClass(Constructor, protoProps, staticProps) { if (protoProps) Setup__defineProperties(Constructor.prototype, protoProps); if (staticProps) Setup__defineProperties(Constructor, staticProps); return Constructor; } + +function Setup__possibleConstructorReturn(self, call) { if (call && (Setup__typeof(call) === "object" || typeof call === "function")) { return call; } return Setup__assertThisInitialized(self); } + +function Setup__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Setup__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + +var Setup_Setup = +/*#__PURE__*/ +function (_Component) { + Setup__inherits(Setup, _Component); + + function Setup() { + var _ref; + + var _temp, _this; + + Setup__classCallCheck(this, Setup); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Setup__possibleConstructorReturn(_this, (_temp = _this = Setup__possibleConstructorReturn(this, (_ref = Setup.__proto__ || Object.getPrototypeOf(Setup)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Setup__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + password: '', + confirmPass: '', + pending: false, + error: null + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var key = 'email'; + if (el.id === 'pass') key = 'password';else if (el.id === 'pass2') key = 'confirmPass'; + var obj = {}; + obj[key] = el.value; + + _this.setState(obj); + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + var _this$state = _this.state, + email = _this$state.email, + password = _this$state.password, + confirmPass = _this$state.confirmPass, + pending = _this$state.pending; + if (pending) return; + email = email.trim(); + password = password.trim(); + confirmPass = confirmPass.trim(); + var hasEmpty = [email, password, confirmPass].some(function (val) { + return val.length === 0; + }); + if (hasEmpty) return; + + if (password.toLowerCase() !== confirmPass.toLowerCase()) { + return _this.setState({ + error: "Passwords don't match" + }); + } + + _this.setState({ + pending: true, + error: null + }); + + var defaultErr = 'Could not create account'; + fetch(getUrl_default()('users'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + email: email, + password: password, + admin: true + }) + }).then(function (res) { + if (res.ok) { + return Object(userAct["e" /* doLogin */])({ + email: email, + password: password + }, null, true); + } + + res.json().then(function (_ref2) { + var message = _ref2.message; + var error = message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + }).catch(function (err) { + var error = err.message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + } + }), _temp)); + } + + Setup__createClass(Setup, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + error = _state.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("div", { + className: "column" + }, external__react__default.a.createElement("h3", null, "Setup account"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + autoFocus: true, + id: "email", + placeholder: "Your email (does't have to be actual email)", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + maxLength: 512, + placeholder: "A super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass2" + }, "Confirm Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass2", + maxLength: 512, + placeholder: "Confirm your super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("button", { + className: "float-right", + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", { + className: "danger" + }, error)))))); + } + }]); + + return Setup; +}(external__react_["Component"]); + + +// CONCATENATED MODULE: ./comps/Page.js + + + + + + + + + +var Page_Page = function Page(_ref) { + var user = _ref.user, + children = _ref.children; + return external__react__default.a.createElement("div", null, external__react__default.a.createElement(comps_Header, null), external__react__default.a.createElement(comps_KeyShortcuts, null), user.email ? external__react__default.a.createElement("div", { + className: "container content" + }, children) : user.setup ? external__react__default.a.createElement(Setup_Setup, null) : external__react__default.a.createElement(comps_Login, { + user: user + }), external__react__default.a.createElement(comps_Footer, null)); +}; + +/* harmony default export */ var comps_Page = __webpack_exports__["a"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Page_Page)); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = { + getKey: function getKey(e) { + return e.which || e.keyCode; + }, + isCtrlKey: function isCtrlKey(key) { + return key === 91 || key === 93 || key === 17; + } +}; + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "next/dynamic" +var dynamic_ = __webpack_require__(13); +var dynamic__default = /*#__PURE__*/__webpack_require__.n(dynamic_); + +// CONCATENATED MODULE: ./util/freezeSSR.js + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var freezeSSR_freezeSSR = function freezeSSR(selector) { + var FrozenSSR = function FrozenSSR() { + var __html = ''; + var props = {}; + + if (typeof document !== 'undefined') { + var el = document.querySelector(selector); + + if (el) { + __html = el.innerHTML; + el.getAttributeNames().forEach(function (attr) { + var attrKey = attr === 'class' ? 'className' : attr; + props[attrKey] = el.getAttribute(attr); + }); + } + } + + return external__react__default.a.createElement("div", _extends({}, props, { + dangerouslySetInnerHTML: { + __html: __html + } + })); + }; + + return { + loading: FrozenSSR + }; +}; + +/* harmony default export */ var util_freezeSSR = (freezeSSR_freezeSSR); +// CONCATENATED MODULE: ./comps/Markdown.js + + +function Markdown__extends() { Markdown__extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Markdown__extends.apply(this, arguments); } + + + +var Markdown = dynamic__default()( false ? new (require('next/dynamic').SameLoopPromise)(function (resolve, reject) { + eval('require.ensure = function (deps, callback) { callback(require) }'); + + require.ensure([], function (require) { + var m = require('react-markdown'); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb.js'; + resolve(m); + }, 'chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb.js'); +}) : new (__webpack_require__(13).SameLoopPromise)(function (resolve, reject) { + var weakId = /*require.resolve*/(20); + + try { + var weakModule = __webpack_require__(weakId); + + return resolve(weakModule); + } catch (err) {} + + new Promise(function(resolve) { resolve(); }).then((function (require) { + try { + var m = __webpack_require__(20); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb'; + resolve(m); + } catch (error) { + reject(error); + } + }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); +}), util_freezeSSR('.Markdown')); + +var Markdown_link = function link(props) { + return external__react__default.a.createElement("a", Markdown__extends({}, props, { + target: "_blank", + rel: "noopener noreferrer" + })); +}; + +var renderers = { + link: Markdown_link +}; + +var Markdown_AddRenderers = function AddRenderers(_ref) { + var className = _ref.className, + source = _ref.source; + return external__react__default.a.createElement(Markdown, { + className: className, + source: source, + renderers: renderers + }); +}; + +/* harmony default export */ var comps_Markdown = __webpack_exports__["a"] = (Markdown_AddRenderers); + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +module.exports = require("react-markdown"); + +/***/ }), +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_mapUser__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + + + + + +var getDoc = +/*#__PURE__*/ +function () { + var _ref = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(id, req) { + var found, doc, jwt, docRes; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + jwt = Object(__WEBPACK_IMPORTED_MODULE_6__util_getJwt__["a" /* default */])(req); + + if (jwt) { + _context.next = 3; + break; + } + + return _context.abrupt("return", { + found: found, + doc: doc, + id: id + }); + + case 3: + _context.next = 5; + return __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default()(__WEBPACK_IMPORTED_MODULE_5__util_getUrl___default()('docs/' + id, Boolean(req)), { + method: 'GET', + headers: { + Authorization: jwt + } + }); + + case 5: + docRes = _context.sent; + + if (!docRes.ok) { + _context.next = 11; + break; + } + + _context.next = 9; + return docRes.json(); + + case 9: + doc = _context.sent; + found = true; + + case 11: + return _context.abrupt("return", { + found: found, + doc: doc, + id: id + }); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function getDoc(_x, _x2) { + return _ref.apply(this, arguments); + }; +}(); + +/* harmony default export */ __webpack_exports__["a"] = (function (ComposedComponent) { + var DocComp = + /*#__PURE__*/ + function (_Component) { + _inherits(DocComp, _Component); + + function DocComp() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, DocComp); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = DocComp.__proto__ || Object.getPrototypeOf(DocComp)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + found: false, + id: null, + doc: {} + } + }), _temp)); + } + + _createClass(DocComp, [{ + key: "componentDidUpdate", + value: function () { + var _componentDidUpdate = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee2(prevProps) { + var _props, user, found, id; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _props = this.props, user = _props.user, found = _props.found, id = _props.id; + + if (!(prevProps.user.email === user.email || found)) { + _context2.next = 3; + break; + } + + return _context2.abrupt("return"); + + case 3: + if (user.email) { + _context2.next = 5; + break; + } + + return _context2.abrupt("return"); + + case 5: + _context2.t0 = this; + _context2.next = 8; + return getDoc(id); + + case 8: + _context2.t1 = _context2.sent; + + _context2.t0.setState.call(_context2.t0, _context2.t1); + + case 10: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + return function componentDidUpdate(_x3) { + return _componentDidUpdate.apply(this, arguments); + }; + }() + }, { + key: "render", + value: function render() { + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(ComposedComponent, this.state); + } + }], [{ + key: "getInitialProps", + value: function () { + var _getInitialProps = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee3(_ref3) { + var query, req; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + query = _ref3.query, req = _ref3.req; + _context3.next = 3; + return getDoc(query.id, req); + + case 3: + return _context3.abrupt("return", _context3.sent); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + return function getInitialProps(_x4) { + return _getInitialProps.apply(this, arguments); + }; + }() + }, { + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, state) { + var found = nextProps.found, + id = nextProps.id, + doc = nextProps.doc; + if (state.found !== found) return { + found: found, + id: id, + doc: doc + }; + return null; + } + }]); + + return DocComp; + }(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + + return Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])(__WEBPACK_IMPORTED_MODULE_4__util_mapUser__["a" /* default */])(DocComp); +}); + +/***/ }), +/* 26 */, +/* 27 */, +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(41); + + +/***/ }), +/* 41 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_link__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_link___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_next_link__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_router__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_next_router__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__comps_Page__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__comps_Markdown__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__comps_AddDoc__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + + + +var k = +/*#__PURE__*/ +function (_Component) { + _inherits(k, _Component); + + function k() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, k); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = k.__proto__ || Object.getPrototypeOf(k)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "delete", { + configurable: true, + enumerable: true, + writable: true, + value: function () { + var _value = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee() { + var sure, del, data; + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + sure = window.confirm('Are you sure you want to delete this doc? This can not be undone.'); + + if (sure) { + _context.next = 3; + break; + } + + return _context.abrupt("return"); + + case 3: + _context.next = 5; + return __WEBPACK_IMPORTED_MODULE_4_isomorphic_unfetch___default()(__WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('docs/' + _this.props.id), { + headers: { + Authorization: Object(__WEBPACK_IMPORTED_MODULE_9__util_getJwt__["a" /* default */])() + }, + method: 'DELETE' + }).catch(function (_ref2) { + var message = _ref2.message; + return { + ok: false, + message: message + }; + }); + + case 5: + del = _context.sent; + + if (!del.ok) { + _context.next = 10; + break; + } + + __WEBPACK_IMPORTED_MODULE_3_next_router___default.a.push('/', __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('/')); + _context.next = 16; + break; + + case 10: + if (del.message) { + _context.next = 15; + break; + } + + _context.next = 13; + return del.json(); + + case 13: + data = _context.sent; + del.message = data.message; + + case 15: + window.alert("Could not delete doc, ".concat(del.message)); + + case 16: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function value() { + return _value.apply(this, arguments); + }; + }() + }), _temp)); + } + + _createClass(k, [{ + key: "render", + value: function render() { + var _props = this.props, + found = _props.found, + id = _props.id, + doc = _props.doc; + if (!found) return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("h3", null, "Doc not found...")); + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("h5", { + style: { + marginBottom: '1rem' + } + }, doc.dir, doc.dir.length > 0 ? '/' : '', doc.name, ' - ', __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_next_link___default.a, { + as: __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('edit/' + id), + href: { + pathname: '/edit', + query: { + id: id + } + } + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("a", { + id: "edit" + }, "edit")), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("button", { + className: "float-right", + onClick: this.delete, + style: { + margin: '5px 0 0' + } + }, "Delete")), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__comps_Markdown__["a" /* default */], { + source: doc.md, + className: "Markdown" + })); + } + }]); + + return k; +}(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + +/* harmony default export */ __webpack_exports__["default"] = (Object(__WEBPACK_IMPORTED_MODULE_7__comps_AddDoc__["a" /* default */])(k)); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/bundles/pages/new.js b/.next/server/bundles/pages/new.js new file mode 100644 index 0000000..4fae02d --- /dev/null +++ b/.next/server/bundles/pages/new.js @@ -0,0 +1,1837 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded chunks +/******/ // "0" means "already loaded" +/******/ var installedChunks = { +/******/ 2: 0 +/******/ }; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId) { +/******/ // "0" is the signal for "already loaded" +/******/ if(installedChunks[chunkId] !== 0) { +/******/ var chunk = require("../../" + ({"0":"chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726"}[chunkId]||chunkId) + "-" + {"0":"ed8718ca2da55a768680"}[chunkId] + ".js"); +/******/ var moreModules = chunk.modules, chunkIds = chunk.ids; +/******/ for(var moduleId in moreModules) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ for(var i = 0; i < chunkIds.length; i++) +/******/ installedChunks[chunkIds[i]] = 0; +/******/ } +/******/ return require('next/dynamic').SameLoopPromise.resolve(); +/******/ }; +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // uncatched error handler for webpack runtime +/******/ __webpack_require__.oe = function(err) { +/******/ process.nextTick(function() { +/******/ throw err; // catch this error by using System.import().catch() +/******/ }); +/******/ }; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 42); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (_ref) { + var user = _ref.user; + return { + user: user + }; +}); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("next/router"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var Spinner = function Spinner(props) { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", _extends({ + className: "spinner" + }, props)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (Spinner); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaddedRow = function PaddedRow(_ref) { + var children = _ref.children, + amount = _ref.amount, + vCenter = _ref.vCenter; + amount = amount || 20; + + var PadItem = function PadItem() { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: 'column column-' + amount + ' nomob' + }); + }; + + var rowProps = { + className: 'row' + }; + if (vCenter) rowProps = { + className: 'row v-center' + };else rowProps = _objectSpread({}, rowProps, { + style: { + paddingTop: amount + } + }); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", rowProps, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: "column" + }, children), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PaddedRow); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("next/dynamic"); + +/***/ }), +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (req) { + if (req) return req.jwt; + + if (typeof window !== 'undefined') { + return window.localStorage.getItem('jwt'); + } +}); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("next/link"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./comps/Header.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + +var Header_NavLink = function NavLink(_ref) { + var children = _ref.children, + href = _ref.href, + active = _ref.active; + var activeClass = active ? ' active' : ''; + return external__react__default.a.createElement(link__default.a, { + href: href, + as: getUrl_default()(href) + }, external__react__default.a.createElement("a", { + className: activeClass + }, children)); +}; + +var navItems = [['/', 'Home'], ['/new', 'New Doc'], ['/settings', 'Settings']]; + +var Header_Header = +/*#__PURE__*/ +function (_Component) { + _inherits(Header, _Component); + + function Header() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, Header); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = Header.__proto__ || Object.getPrototypeOf(Header)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + open: false + } + }), Object.defineProperty(_assertThisInitialized(_this), "hideNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: false + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "toggleNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: !_this.state.open + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "isActive", { + configurable: true, + enumerable: true, + writable: true, + value: function value(url) { + return getUrl_default()(_this.props.router.pathname) === getUrl_default()(url); + } + }), Object.defineProperty(_assertThisInitialized(_this), "logout", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + + _this.hideNav(); + + Object(userAct["f" /* doLogout */])(); + } + }), _temp)); + } + + _createClass(Header, [{ + key: "render", + value: function render() { + var _this2 = this; + + var expandClass = this.state.open ? ' active' : ''; + var user = this.props.user; + return external__react__default.a.createElement("nav", { + className: "navbar", + role: "navigation", + "aria-label": "main navigation" + }, external__react__default.a.createElement("div", { + className: "navbar-brand" + }, external__react__default.a.createElement(Header_NavLink, { + href: "/" + }, external__react__default.a.createElement("h3", { + onClick: this.hideNav + }, "MYKB"))), !user.email ? null : [external__react__default.a.createElement("div", { + className: 'navbar-burger ' + expandClass, + onClick: this.toggleNav, + key: "burger" + }, external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null)), external__react__default.a.createElement("div", { + className: 'navbar-items' + expandClass, + key: "items" + }, navItems.map(function (item) { + return external__react__default.a.createElement(Header_NavLink, { + key: item[0], + href: item[0], + active: _this2.isActive(item[0]) + }, external__react__default.a.createElement("p", { + className: "item", + onClick: _this2.hideNav + }, item[1])); + }), external__react__default.a.createElement("a", { + href: "/logout", + onClick: this.logout + }, external__react__default.a.createElement("p", { + className: "item" + }, "Logout")))]); + } + }]); + + return Header; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Header = (Object(router_["withRouter"])(Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Header_Header))); +// EXTERNAL MODULE: ./util/keys.js +var keys = __webpack_require__(18); +var keys_default = /*#__PURE__*/__webpack_require__.n(keys); + +// CONCATENATED MODULE: ./comps/KeyShortcuts.js +function KeyShortcuts__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { KeyShortcuts__typeof = function _typeof(obj) { return typeof obj; }; } else { KeyShortcuts__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return KeyShortcuts__typeof(obj); } + +function KeyShortcuts__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function KeyShortcuts__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function KeyShortcuts__createClass(Constructor, protoProps, staticProps) { if (protoProps) KeyShortcuts__defineProperties(Constructor.prototype, protoProps); if (staticProps) KeyShortcuts__defineProperties(Constructor, staticProps); return Constructor; } + +function KeyShortcuts__possibleConstructorReturn(self, call) { if (call && (KeyShortcuts__typeof(call) === "object" || typeof call === "function")) { return call; } return KeyShortcuts__assertThisInitialized(self); } + +function KeyShortcuts__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function KeyShortcuts__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + +/* - keyboard shortcuts + g then h -> navigate home + g then n -> navigate to new doc + g then s -> navigate to settings + g then l -> logout + e (when on doc page) -> edit doc + / (when on home page) -> focus search + ctrl/cmd + enter -> submit new doc (handled in CodeMirror component) +*/ + +var keyToUrl = { + 72: '/', + 78: '/new', + 83: '/settings' +}; +var keyToEl = { + 69: { + sel: '#edit', + func: 'click' + }, + 191: { + sel: '.search', + func: 'focus' + } +}; + +var KeyShortcuts_KeyShortcuts = +/*#__PURE__*/ +function (_Component) { + KeyShortcuts__inherits(KeyShortcuts, _Component); + + function KeyShortcuts() { + var _ref; + + var _temp, _this; + + KeyShortcuts__classCallCheck(this, KeyShortcuts); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return KeyShortcuts__possibleConstructorReturn(_this, (_temp = _this = KeyShortcuts__possibleConstructorReturn(this, (_ref = KeyShortcuts.__proto__ || Object.getPrototypeOf(KeyShortcuts)).call.apply(_ref, [this].concat(args))), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "handleDown", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var tag = e.target.tagName; + if (tag === 'INPUT' || tag === 'TEXTAREA') return; + var key = Object(keys["getKey"])(e); + + if (_this.prevKey === 71) { + // prev key was g + switch (key) { + case 72: + case 78: + case 83: + { + var url = keyToUrl[key]; + router__default.a.push(url, getUrl_default()(url)); + break; + } + + case 76: + { + setTimeout(userAct["f" /* doLogout */], 1); + break; + } + + default: + break; + } + } + + switch (key) { + case 69: + case 191: + { + var _keyToEl$key = keyToEl[key], + sel = _keyToEl$key.sel, + func = _keyToEl$key.func; + var el = document.querySelector(sel); + if (el) setTimeout(function () { + return el[func](); + }, 1); + break; + } + + default: + break; + } + + _this.prevKey = key; + } + }), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "render", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return null; + } + }), _temp)); + } + + KeyShortcuts__createClass(KeyShortcuts, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('keydown', this.handleDown); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('keydown', this.handleDown); + } + }]); + + return KeyShortcuts; +}(external__react_["Component"]); + +/* harmony default export */ var comps_KeyShortcuts = (KeyShortcuts_KeyShortcuts); +// CONCATENATED MODULE: ./comps/Footer.js + + +var Footer_Footer = function Footer() { + return external__react__default.a.createElement("footer", { + className: "footer" + }, external__react__default.a.createElement("p", null, "Powered by", ' ', external__react__default.a.createElement("a", { + href: "//github.com/ijjk/mykb", + target: "_blank", + rel: "noopener noreferrer" + }, "MYKB"))); +}; + +/* harmony default export */ var comps_Footer = (Footer_Footer); +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// CONCATENATED MODULE: ./comps/Login.js +function Login__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Login__typeof = function _typeof(obj) { return typeof obj; }; } else { Login__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Login__typeof(obj); } + +function Login__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Login__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Login__createClass(Constructor, protoProps, staticProps) { if (protoProps) Login__defineProperties(Constructor.prototype, protoProps); if (staticProps) Login__defineProperties(Constructor, staticProps); return Constructor; } + +function Login__possibleConstructorReturn(self, call) { if (call && (Login__typeof(call) === "object" || typeof call === "function")) { return call; } return Login__assertThisInitialized(self); } + +function Login__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Login__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + +var Login_Login = +/*#__PURE__*/ +function (_Component) { + Login__inherits(Login, _Component); + + function Login() { + var _ref; + + var _temp, _this; + + Login__classCallCheck(this, Login); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Login__possibleConstructorReturn(_this, (_temp = _this = Login__possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Login__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + pass: '' + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var val = el.value; + + if (el.getAttribute('type') === 'email') { + return _this.setState({ + email: val + }); + } + + _this.setState({ + pass: val + }); + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var pending = _this.props.user.pending; + var _this$state = _this.state, + email = _this$state.email, + pass = _this$state.pass; + email = email.trim(); + pass = pass.trim(); + e.preventDefault(); + + if (pending || email.length === 0 || pass.length == 0) { + return; + } + + Object(userAct["e" /* doLogin */])({ + email: email, + password: pass + }); + } + }), _temp)); + } + + Login__createClass(Login, [{ + key: "render", + value: function render() { + var _props$user = this.props.user, + pending = _props$user.pending, + error = _props$user.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("h4", null, "Please login to continue"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + id: "email", + name: "email", + autoFocus: true, + placeholder: "John@deux.com", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Pass:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + name: "password", + placeholder: "Super secret password...", + onChange: this.updVal + })), external__react__default.a.createElement("button", { + className: 'float-right' + (pending ? ' disabled' : ''), + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", null, error)))); + } + }]); + + return Login; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Login = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Login_Login)); +// CONCATENATED MODULE: ./comps/Setup.js +function Setup__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Setup__typeof = function _typeof(obj) { return typeof obj; }; } else { Setup__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Setup__typeof(obj); } + +function Setup__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Setup__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Setup__createClass(Constructor, protoProps, staticProps) { if (protoProps) Setup__defineProperties(Constructor.prototype, protoProps); if (staticProps) Setup__defineProperties(Constructor, staticProps); return Constructor; } + +function Setup__possibleConstructorReturn(self, call) { if (call && (Setup__typeof(call) === "object" || typeof call === "function")) { return call; } return Setup__assertThisInitialized(self); } + +function Setup__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Setup__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + +var Setup_Setup = +/*#__PURE__*/ +function (_Component) { + Setup__inherits(Setup, _Component); + + function Setup() { + var _ref; + + var _temp, _this; + + Setup__classCallCheck(this, Setup); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Setup__possibleConstructorReturn(_this, (_temp = _this = Setup__possibleConstructorReturn(this, (_ref = Setup.__proto__ || Object.getPrototypeOf(Setup)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Setup__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + password: '', + confirmPass: '', + pending: false, + error: null + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var key = 'email'; + if (el.id === 'pass') key = 'password';else if (el.id === 'pass2') key = 'confirmPass'; + var obj = {}; + obj[key] = el.value; + + _this.setState(obj); + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + var _this$state = _this.state, + email = _this$state.email, + password = _this$state.password, + confirmPass = _this$state.confirmPass, + pending = _this$state.pending; + if (pending) return; + email = email.trim(); + password = password.trim(); + confirmPass = confirmPass.trim(); + var hasEmpty = [email, password, confirmPass].some(function (val) { + return val.length === 0; + }); + if (hasEmpty) return; + + if (password.toLowerCase() !== confirmPass.toLowerCase()) { + return _this.setState({ + error: "Passwords don't match" + }); + } + + _this.setState({ + pending: true, + error: null + }); + + var defaultErr = 'Could not create account'; + fetch(getUrl_default()('users'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + email: email, + password: password, + admin: true + }) + }).then(function (res) { + if (res.ok) { + return Object(userAct["e" /* doLogin */])({ + email: email, + password: password + }, null, true); + } + + res.json().then(function (_ref2) { + var message = _ref2.message; + var error = message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + }).catch(function (err) { + var error = err.message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + } + }), _temp)); + } + + Setup__createClass(Setup, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + error = _state.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("div", { + className: "column" + }, external__react__default.a.createElement("h3", null, "Setup account"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + autoFocus: true, + id: "email", + placeholder: "Your email (does't have to be actual email)", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + maxLength: 512, + placeholder: "A super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass2" + }, "Confirm Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass2", + maxLength: 512, + placeholder: "Confirm your super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("button", { + className: "float-right", + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", { + className: "danger" + }, error)))))); + } + }]); + + return Setup; +}(external__react_["Component"]); + + +// CONCATENATED MODULE: ./comps/Page.js + + + + + + + + + +var Page_Page = function Page(_ref) { + var user = _ref.user, + children = _ref.children; + return external__react__default.a.createElement("div", null, external__react__default.a.createElement(comps_Header, null), external__react__default.a.createElement(comps_KeyShortcuts, null), user.email ? external__react__default.a.createElement("div", { + className: "container content" + }, children) : user.setup ? external__react__default.a.createElement(Setup_Setup, null) : external__react__default.a.createElement(comps_Login, { + user: user + }), external__react__default.a.createElement(comps_Footer, null)); +}; + +/* harmony default export */ var comps_Page = __webpack_exports__["a"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Page_Page)); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = { + getKey: function getKey(e) { + return e.which || e.keyCode; + }, + isCtrlKey: function isCtrlKey(key) { + return key === 91 || key === 93 || key === 17; + } +}; + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "next/dynamic" +var dynamic_ = __webpack_require__(13); +var dynamic__default = /*#__PURE__*/__webpack_require__.n(dynamic_); + +// CONCATENATED MODULE: ./util/freezeSSR.js + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var freezeSSR_freezeSSR = function freezeSSR(selector) { + var FrozenSSR = function FrozenSSR() { + var __html = ''; + var props = {}; + + if (typeof document !== 'undefined') { + var el = document.querySelector(selector); + + if (el) { + __html = el.innerHTML; + el.getAttributeNames().forEach(function (attr) { + var attrKey = attr === 'class' ? 'className' : attr; + props[attrKey] = el.getAttribute(attr); + }); + } + } + + return external__react__default.a.createElement("div", _extends({}, props, { + dangerouslySetInnerHTML: { + __html: __html + } + })); + }; + + return { + loading: FrozenSSR + }; +}; + +/* harmony default export */ var util_freezeSSR = (freezeSSR_freezeSSR); +// CONCATENATED MODULE: ./comps/Markdown.js + + +function Markdown__extends() { Markdown__extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Markdown__extends.apply(this, arguments); } + + + +var Markdown = dynamic__default()( false ? new (require('next/dynamic').SameLoopPromise)(function (resolve, reject) { + eval('require.ensure = function (deps, callback) { callback(require) }'); + + require.ensure([], function (require) { + var m = require('react-markdown'); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb.js'; + resolve(m); + }, 'chunks/react_markdown_2310f29285bb72f338f5fec99785c0fb.js'); +}) : new (__webpack_require__(13).SameLoopPromise)(function (resolve, reject) { + var weakId = /*require.resolve*/(20); + + try { + var weakModule = __webpack_require__(weakId); + + return resolve(weakModule); + } catch (err) {} + + new Promise(function(resolve) { resolve(); }).then((function (require) { + try { + var m = __webpack_require__(20); + + m.__webpackChunkName = 'react_markdown_2310f29285bb72f338f5fec99785c0fb'; + resolve(m); + } catch (error) { + reject(error); + } + }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); +}), util_freezeSSR('.Markdown')); + +var Markdown_link = function link(props) { + return external__react__default.a.createElement("a", Markdown__extends({}, props, { + target: "_blank", + rel: "noopener noreferrer" + })); +}; + +var renderers = { + link: Markdown_link +}; + +var Markdown_AddRenderers = function AddRenderers(_ref) { + var className = _ref.className, + source = _ref.source; + return external__react__default.a.createElement(Markdown, { + className: className, + source: source, + renderers: renderers + }); +}; + +/* harmony default export */ var comps_Markdown = __webpack_exports__["a"] = (Markdown_AddRenderers); + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +module.exports = require("react-markdown"); + +/***/ }), +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = updateStateFromId; +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function updateStateFromId(e) { + var el = e.target; + this.setState(_defineProperty({}, el.id, el.value)); +} + +/***/ }), +/* 22 */, +/* 23 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MngDoc; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_router__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_next_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_next_router__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_dynamic__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_next_dynamic___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_next_dynamic__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__comps_Page__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__comps_Markdown__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_checkDirParts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + + + +var CodeMirrorSkel = function CodeMirrorSkel() { + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("textarea", { + style: { + height: 'calc(300px - 1.2rem)', + margin: 0 + } + })); +}; + +var CodeMirror = __WEBPACK_IMPORTED_MODULE_3_next_dynamic___default()( false ? new (require('next/dynamic').SameLoopPromise)(function (resolve, reject) { + eval('require.ensure = function (deps, callback) { callback(require) }'); + + require.ensure([], function (require) { + var m = require('../comps/CodeMirror'); + + m.__webpackChunkName = 'comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726.js'; + resolve(m); + }, 'chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726.js'); +}) : new (__webpack_require__(13).SameLoopPromise)(function (resolve, reject) { + var weakId = /*require.resolve*/(22); + + try { + var weakModule = __webpack_require__(weakId); + + return resolve(weakModule); + } catch (err) {} + + __webpack_require__.e/* require.ensure */(0).then((function (require) { + try { + var m = __webpack_require__(22); + + m.__webpackChunkName = 'comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726'; + resolve(m); + } catch (error) { + reject(error); + } + }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); +}), { + loading: CodeMirrorSkel, + ssr: false +}); +var initState = { + name: '', + dir: '', + md: '## New Document!!', + editMode: false, + error: null, + pending: false +}; + +var MngDoc = +/*#__PURE__*/ +function (_Component) { + _inherits(MngDoc, _Component); + + function MngDoc() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, MngDoc); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = MngDoc.__proto__ || Object.getPrototypeOf(MngDoc)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: initState + }), Object.defineProperty(_assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__["a" /* default */].bind(_assertThisInitialized(_this)) + }), Object.defineProperty(_assertThisInitialized(_this), "updMd", { + configurable: true, + enumerable: true, + writable: true, + value: function value(md) { + return _this.setState({ + md: md + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function () { + var _value = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee() { + var _this$state, name, md, dir, editMode, data, doErr, dirErr, url, method, headers, numRemoved, dataKeys, res, _data, id; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this$state = _this.state, name = _this$state.name, md = _this$state.md, dir = _this$state.dir, editMode = _this$state.editMode; + data = { + name: Object(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__["checkName"])(name), + dir: Object(__WEBPACK_IMPORTED_MODULE_6__util_checkDirParts__["checkDir"])(dir), + md: md + }; + + doErr = function doErr(error) { + return _this.setState({ + pending: false, + error: error + }); + }; + + dirErr = 'can only contain A-Z, a-z, 0-9, -, or . and not start or end with .'; + + if (data.name) { + _context.next = 6; + break; + } + + return _context.abrupt("return", doErr('Document name ' + (data.name === 0 ? 'can not be empty' : dirErr))); + + case 6: + if (!(!data.dir && data.dir !== 0)) { + _context.next = 10; + break; + } + + return _context.abrupt("return", doErr('Directory ' + dirErr)); + + case 10: + if (data.dir === 0) { + data.dir = ''; + } + + case 11: + if (!(data.md.trim().length === 0)) { + _context.next = 13; + break; + } + + return _context.abrupt("return", doErr('Content can not be empty')); + + case 13: + url = __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('docs'), method = 'POST', headers = { + Authorization: Object(__WEBPACK_IMPORTED_MODULE_9__util_getJwt__["a" /* default */])(), + 'Content-Type': 'application/json' + }; + + if (!editMode) { + _context.next = 22; + break; + } + + numRemoved = 0; + dataKeys = Object.keys(data); + dataKeys.forEach(function (k) { + if (data[k] === _this.props.doc[k]) { + delete data[k]; + numRemoved++; + } + }); + + if (!(dataKeys.length === numRemoved)) { + _context.next = 20; + break; + } + + return _context.abrupt("return"); + + case 20: + url = __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()('docs/' + _this.props.doc.id); + method = 'PATCH'; + + case 22: + _this.setState({ + error: null, + pending: true + }); + + _context.next = 25; + return fetch(url, { + headers: headers, + method: method, + body: JSON.stringify(data) + }).catch(doErr); + + case 25: + res = _context.sent; + _context.prev = 26; + _context.next = 29; + return res.json(); + + case 29: + data = _context.sent; + _context.next = 35; + break; + + case 32: + _context.prev = 32; + _context.t0 = _context["catch"](26); + data = { + message: 'An error occurred submitting doc' + }; + + case 35: + if (!res.ok) { + _context.next = 38; + break; + } + + _data = data, id = _data.id; + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2_next_router___default.a.push({ + pathname: '/k', + query: { + id: id + } + }, __WEBPACK_IMPORTED_MODULE_8__util_getUrl___default()("k/".concat(id)))); + + case 38: + doErr(data.message); + + case 39: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[26, 32]]); + })); + + return function value() { + return _value.apply(this, arguments); + }; + }() + }), _temp)); + } + + _createClass(MngDoc, [{ + key: "render", + value: function render() { + var _state = this.state, + md = _state.md, + dir = _state.dir, + name = _state.name, + error = _state.error, + pending = _state.pending; + var rowStyle = { + paddingTop: 10 + }; + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row fill", + style: rowStyle + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-50" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__comps_Markdown__["a" /* default */], { + className: "fill Markdown", + source: md + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-50" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column column-60" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "text", + maxLength: 250, + placeholder: "New document name", + id: "name", + value: name, + onChange: this.updVal + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "text", + maxLength: 1024, + placeholder: "Subdirectory (optional)", + id: "dir", + value: dir, + onChange: this.updVal + }))), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(CodeMirror, { + value: md, + className: "column WrapCodeMirror", + onChange: this.updMd, + onSubmit: this.submit, + options: { + theme: 'monokai', + mode: 'markdown', + lineWrapping: true + } + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "row", + style: { + marginTop: 5 + } + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("div", { + className: "column" + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("span", null, error), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("button", { + className: "float-right", + style: { + marginTop: 5 + }, + onClick: pending ? null : this.submit + }, "Submit")))))); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, prevState) { + var doc = nextProps.doc; + + if (doc) { + var name = doc.name, + dir = doc.dir, + md = doc.md; + return { + name: name, + md: md, + dir: dir, + editMode: true + }; + } else if (prevState.id) { + return initState; + } + + return null; + } + }]); + + return MngDoc; +}(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + + + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +var isOkDirPart = function isOkDirPart(str) { + if (str.length > 255 || str.length === 0) return false; + var end = str.length - 1; + + for (var i = 0; i < str.length; i++) { + var c = str.charCodeAt(i); + + if (!(c > 47 && c < 58) && // 0-9 + !(c > 64 && c < 91) && // A-Z + !(c > 96 && c < 123) && // a-z + !(c === 95) && !(c === 45) && // _ and - + !((c === 46 || c === 32) && // period or space if not first or last + i !== 0 && i !== end)) { + return false; + } + } + + return true; +}; + +module.exports = { + checkDir: function checkDir(dir) { + if (typeof dir !== 'string') return false; + dir = dir.trim(); + if (dir.length === 0) return 0; + + if (dir.indexOf('/') > -1) { + dir = dir.split('/').filter(function (p) { + return p.length !== 0; + }); + + if (dir.length === 1) { + if (!isOkDirPart(dir[0])) false; + dir = dir[0]; + } else if (dir.length === 0) { + dir = ''; + } else if (dir.some(function (part) { + return !isOkDirPart(part); + })) { + return false; + } + } else if (!isOkDirPart(dir)) { + return false; + } + + return Array.isArray(dir) ? dir.join('/') : dir; + }, + checkName: function checkName(name) { + if (typeof name !== 'string') return false; + name = name.trim(); + if (name.length === 0) return 0; + if (!isOkDirPart(name)) return false; + return name; + } +}; + +/***/ }), +/* 25 */, +/* 26 */ +/***/ (function(module, exports) { + +module.exports = require("codemirror"); + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { + +module.exports = require("codemirror/mode/markdown/markdown"); + +/***/ }), +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */, +/* 41 */, +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(43); + + +/***/ }), +/* 43 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__comps_MngDoc__ = __webpack_require__(23); + +/* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__comps_MngDoc__["a" /* default */]); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/bundles/pages/settings.js b/.next/server/bundles/pages/settings.js new file mode 100644 index 0000000..c307d6d --- /dev/null +++ b/.next/server/bundles/pages/settings.js @@ -0,0 +1,1507 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete installedModules[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 44); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("react"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +var url = __webpack_require__(10); + +var urljoin = __webpack_require__(11); + +module.exports = function (path, absolute) { + var _ref = typeof window === 'undefined' ? app.get('kbConf') : window.kbConf, + pathPrefix = _ref.pathPrefix; + + path = urljoin(pathPrefix, path); + if (!absolute) return path; // absolute should only be used during ssr + + return url.format({ + hostname: app.get('host'), + port: app.get('port'), + pathname: path, + protocol: 'http' + }); +}; + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return SET_USER; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LOGIN_PENDING; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LOGIN_FAILED; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOGOUT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return setUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return doLogout; }); +/* harmony export (immutable) */ __webpack_exports__["e"] = doLogin; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__util_getUrl__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + + + + // define action types + +var SET_USER = 'SET_USER'; +var LOGIN_PENDING = 'LOGIN_PENDING'; +var LOGIN_FAILED = 'LOGIN_FAILED'; +var LOGOUT = 'LOGOUT'; +var setUser = function setUser(user) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: SET_USER, + data: user + }); +}; // setUser + +var doLogout = function doLogout() { + if (typeof window !== 'undefined') { + window.localStorage.removeItem('jwt'); + document.cookie = 'jwt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/;'; + } + + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGOUT + }); +}; // doLogout + +function doLogin(_x, _x2, _x3) { + return _doLogin.apply(this, arguments); +} // doLogin + +function _doLogin() { + _doLogin = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(creds, jwt, noPend) { + var authReqOpts, authReqHead, authReqBody, authReq, authRes, error, _ref, accessToken, payload, _JSON$parse, userId, userReq, userRes; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + !noPend && __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_PENDING + }); + authReqOpts = { + method: 'POST', + credentials: 'include' + }; + authReqHead = { + headers: jwt ? { + Authorization: jwt + } : { + 'Content-Type': 'application/json' + } + }; + authReqBody = jwt ? null : { + body: JSON.stringify(_objectSpread({}, creds, { + strategy: 'local' + })) + }; + authReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()('auth'), _objectSpread({}, authReqOpts, authReqHead, authReqBody)); + _context.next = 7; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(authReq).catch(function (err) { + __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: err.message + }); + }); + + case 7: + authRes = _context.sent; + + if (authRes.ok) { + _context.next = 20; + break; + } + + _context.prev = 9; + _context.next = 12; + return authRes.json(); + + case 12: + error = _context.sent; + error = error.message; + _context.next = 19; + break; + + case 16: + _context.prev = 16; + _context.t0 = _context["catch"](9); + error = authRes.status === 429 ? 'Max login attempts reached' : 'An error occurred during login'; + + case 19: + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: error + })); + + case 20: + _context.next = 22; + return authRes.json(); + + case 22: + _ref = _context.sent; + accessToken = _ref.accessToken; + payload = accessToken.split('.')[1]; + _JSON$parse = JSON.parse(atob(payload)), userId = _JSON$parse.userId; + userReq = new Request(__WEBPACK_IMPORTED_MODULE_3__util_getUrl___default()("/users/".concat(userId)), { + headers: { + Authorization: accessToken + } + }); + _context.next = 29; + return __WEBPACK_IMPORTED_MODULE_1_isomorphic_unfetch___default()(userReq); + + case 29: + userRes = _context.sent; + + if (userRes.ok) { + _context.next = 32; + break; + } + + return _context.abrupt("return", __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch({ + type: LOGIN_FAILED, + data: 'failed to get user' + })); + + case 32: + window.localStorage.setItem('jwt', accessToken); + _context.t1 = setUser; + _context.next = 36; + return userRes.json(); + + case 36: + _context.t2 = _context.sent; + (0, _context.t1)(_context.t2); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[9, 16]]); + })); + return _doLogin.apply(this, arguments); +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("react-redux"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (_ref) { + var user = _ref.user; + return { + user: user + }; +}); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("@babel/runtime/regenerator"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("next/router"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("isomorphic-unfetch"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var Spinner = function Spinner(props) { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", _extends({ + className: "spinner" + }, props)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (Spinner); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); + + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaddedRow = function PaddedRow(_ref) { + var children = _ref.children, + amount = _ref.amount, + vCenter = _ref.vCenter; + amount = amount || 20; + + var PadItem = function PadItem() { + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: 'column column-' + amount + ' nomob' + }); + }; + + var rowProps = { + className: 'row' + }; + if (vCenter) rowProps = { + className: 'row v-center' + };else rowProps = _objectSpread({}, rowProps, { + style: { + paddingTop: amount + } + }); + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", rowProps, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: "column" + }, children), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(PadItem, null)); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PaddedRow); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("url-join"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "redux" +var external__redux_ = __webpack_require__(15); +var external__redux__default = /*#__PURE__*/__webpack_require__.n(external__redux_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// CONCATENATED MODULE: ./redux/reducers/userRed.js +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + +var initState = { + setup: false, + _id: null, + email: null, + admin: null, + pending: false, + error: null +}; + +function user() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case userAct["d" /* SET_USER */]: + { + return _objectSpread({}, initState, action.data); + } + + case userAct["b" /* LOGIN_PENDING */]: + { + return _objectSpread({}, initState, { + pending: true + }); + } + + case userAct["a" /* LOGIN_FAILED */]: + { + return _objectSpread({}, state, { + pending: false, + error: action.data + }); + } + + case userAct["c" /* LOGOUT */]: + { + return initState; + } + + default: + return state; + } +} + +/* harmony default export */ var userRed = (user); +// CONCATENATED MODULE: ./redux/store.js + + +var middleware; + +if (false) { + var logger = require('redux-logger').default; + + if (typeof window !== 'undefined') { + middleware = applyMiddleware(logger); + } +} + +var reducers = Object(external__redux_["combineReducers"])({ + user: userRed +}); +/* harmony default export */ var store = __webpack_exports__["a"] = (middleware ? Object(external__redux_["createStore"])(reducers, middleware) : Object(external__redux_["createStore"])(reducers)); + +/***/ }), +/* 13 */, +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function (req) { + if (req) return req.jwt; + + if (typeof window !== 'undefined') { + return window.localStorage.getItem('jwt'); + } +}); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("redux"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("next/link"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external "react" +var external__react_ = __webpack_require__(0); +var external__react__default = /*#__PURE__*/__webpack_require__.n(external__react_); + +// EXTERNAL MODULE: external "react-redux" +var external__react_redux_ = __webpack_require__(3); +var external__react_redux__default = /*#__PURE__*/__webpack_require__.n(external__react_redux_); + +// EXTERNAL MODULE: external "next/router" +var router_ = __webpack_require__(6); +var router__default = /*#__PURE__*/__webpack_require__.n(router_); + +// EXTERNAL MODULE: ./redux/actions/userAct.js +var userAct = __webpack_require__(2); + +// EXTERNAL MODULE: external "next/link" +var link_ = __webpack_require__(16); +var link__default = /*#__PURE__*/__webpack_require__.n(link_); + +// EXTERNAL MODULE: ./util/getUrl.js +var getUrl = __webpack_require__(1); +var getUrl_default = /*#__PURE__*/__webpack_require__.n(getUrl); + +// EXTERNAL MODULE: ./util/mapUser.js +var mapUser = __webpack_require__(4); + +// CONCATENATED MODULE: ./comps/Header.js +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + +var Header_NavLink = function NavLink(_ref) { + var children = _ref.children, + href = _ref.href, + active = _ref.active; + var activeClass = active ? ' active' : ''; + return external__react__default.a.createElement(link__default.a, { + href: href, + as: getUrl_default()(href) + }, external__react__default.a.createElement("a", { + className: activeClass + }, children)); +}; + +var navItems = [['/', 'Home'], ['/new', 'New Doc'], ['/settings', 'Settings']]; + +var Header_Header = +/*#__PURE__*/ +function (_Component) { + _inherits(Header, _Component); + + function Header() { + var _ref2; + + var _temp, _this; + + _classCallCheck(this, Header); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref2 = Header.__proto__ || Object.getPrototypeOf(Header)).call.apply(_ref2, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + open: false + } + }), Object.defineProperty(_assertThisInitialized(_this), "hideNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: false + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "toggleNav", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return _this.setState({ + open: !_this.state.open + }); + } + }), Object.defineProperty(_assertThisInitialized(_this), "isActive", { + configurable: true, + enumerable: true, + writable: true, + value: function value(url) { + return getUrl_default()(_this.props.router.pathname) === getUrl_default()(url); + } + }), Object.defineProperty(_assertThisInitialized(_this), "logout", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + + _this.hideNav(); + + Object(userAct["f" /* doLogout */])(); + } + }), _temp)); + } + + _createClass(Header, [{ + key: "render", + value: function render() { + var _this2 = this; + + var expandClass = this.state.open ? ' active' : ''; + var user = this.props.user; + return external__react__default.a.createElement("nav", { + className: "navbar", + role: "navigation", + "aria-label": "main navigation" + }, external__react__default.a.createElement("div", { + className: "navbar-brand" + }, external__react__default.a.createElement(Header_NavLink, { + href: "/" + }, external__react__default.a.createElement("h3", { + onClick: this.hideNav + }, "MYKB"))), !user.email ? null : [external__react__default.a.createElement("div", { + className: 'navbar-burger ' + expandClass, + onClick: this.toggleNav, + key: "burger" + }, external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null), external__react__default.a.createElement("div", null)), external__react__default.a.createElement("div", { + className: 'navbar-items' + expandClass, + key: "items" + }, navItems.map(function (item) { + return external__react__default.a.createElement(Header_NavLink, { + key: item[0], + href: item[0], + active: _this2.isActive(item[0]) + }, external__react__default.a.createElement("p", { + className: "item", + onClick: _this2.hideNav + }, item[1])); + }), external__react__default.a.createElement("a", { + href: "/logout", + onClick: this.logout + }, external__react__default.a.createElement("p", { + className: "item" + }, "Logout")))]); + } + }]); + + return Header; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Header = (Object(router_["withRouter"])(Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Header_Header))); +// EXTERNAL MODULE: ./util/keys.js +var keys = __webpack_require__(18); +var keys_default = /*#__PURE__*/__webpack_require__.n(keys); + +// CONCATENATED MODULE: ./comps/KeyShortcuts.js +function KeyShortcuts__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { KeyShortcuts__typeof = function _typeof(obj) { return typeof obj; }; } else { KeyShortcuts__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return KeyShortcuts__typeof(obj); } + +function KeyShortcuts__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function KeyShortcuts__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function KeyShortcuts__createClass(Constructor, protoProps, staticProps) { if (protoProps) KeyShortcuts__defineProperties(Constructor.prototype, protoProps); if (staticProps) KeyShortcuts__defineProperties(Constructor, staticProps); return Constructor; } + +function KeyShortcuts__possibleConstructorReturn(self, call) { if (call && (KeyShortcuts__typeof(call) === "object" || typeof call === "function")) { return call; } return KeyShortcuts__assertThisInitialized(self); } + +function KeyShortcuts__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function KeyShortcuts__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + +/* - keyboard shortcuts + g then h -> navigate home + g then n -> navigate to new doc + g then s -> navigate to settings + g then l -> logout + e (when on doc page) -> edit doc + / (when on home page) -> focus search + ctrl/cmd + enter -> submit new doc (handled in CodeMirror component) +*/ + +var keyToUrl = { + 72: '/', + 78: '/new', + 83: '/settings' +}; +var keyToEl = { + 69: { + sel: '#edit', + func: 'click' + }, + 191: { + sel: '.search', + func: 'focus' + } +}; + +var KeyShortcuts_KeyShortcuts = +/*#__PURE__*/ +function (_Component) { + KeyShortcuts__inherits(KeyShortcuts, _Component); + + function KeyShortcuts() { + var _ref; + + var _temp, _this; + + KeyShortcuts__classCallCheck(this, KeyShortcuts); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return KeyShortcuts__possibleConstructorReturn(_this, (_temp = _this = KeyShortcuts__possibleConstructorReturn(this, (_ref = KeyShortcuts.__proto__ || Object.getPrototypeOf(KeyShortcuts)).call.apply(_ref, [this].concat(args))), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "handleDown", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var tag = e.target.tagName; + if (tag === 'INPUT' || tag === 'TEXTAREA') return; + var key = Object(keys["getKey"])(e); + + if (_this.prevKey === 71) { + // prev key was g + switch (key) { + case 72: + case 78: + case 83: + { + var url = keyToUrl[key]; + router__default.a.push(url, getUrl_default()(url)); + break; + } + + case 76: + { + setTimeout(userAct["f" /* doLogout */], 1); + break; + } + + default: + break; + } + } + + switch (key) { + case 69: + case 191: + { + var _keyToEl$key = keyToEl[key], + sel = _keyToEl$key.sel, + func = _keyToEl$key.func; + var el = document.querySelector(sel); + if (el) setTimeout(function () { + return el[func](); + }, 1); + break; + } + + default: + break; + } + + _this.prevKey = key; + } + }), Object.defineProperty(KeyShortcuts__assertThisInitialized(_this), "render", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + return null; + } + }), _temp)); + } + + KeyShortcuts__createClass(KeyShortcuts, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('keydown', this.handleDown); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('keydown', this.handleDown); + } + }]); + + return KeyShortcuts; +}(external__react_["Component"]); + +/* harmony default export */ var comps_KeyShortcuts = (KeyShortcuts_KeyShortcuts); +// CONCATENATED MODULE: ./comps/Footer.js + + +var Footer_Footer = function Footer() { + return external__react__default.a.createElement("footer", { + className: "footer" + }, external__react__default.a.createElement("p", null, "Powered by", ' ', external__react__default.a.createElement("a", { + href: "//github.com/ijjk/mykb", + target: "_blank", + rel: "noopener noreferrer" + }, "MYKB"))); +}; + +/* harmony default export */ var comps_Footer = (Footer_Footer); +// EXTERNAL MODULE: ./comps/Spinner.js +var Spinner = __webpack_require__(8); + +// EXTERNAL MODULE: ./comps/PaddedRow.js +var PaddedRow = __webpack_require__(9); + +// CONCATENATED MODULE: ./comps/Login.js +function Login__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Login__typeof = function _typeof(obj) { return typeof obj; }; } else { Login__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Login__typeof(obj); } + +function Login__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Login__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Login__createClass(Constructor, protoProps, staticProps) { if (protoProps) Login__defineProperties(Constructor.prototype, protoProps); if (staticProps) Login__defineProperties(Constructor, staticProps); return Constructor; } + +function Login__possibleConstructorReturn(self, call) { if (call && (Login__typeof(call) === "object" || typeof call === "function")) { return call; } return Login__assertThisInitialized(self); } + +function Login__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Login__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + +var Login_Login = +/*#__PURE__*/ +function (_Component) { + Login__inherits(Login, _Component); + + function Login() { + var _ref; + + var _temp, _this; + + Login__classCallCheck(this, Login); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Login__possibleConstructorReturn(_this, (_temp = _this = Login__possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Login__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + pass: '' + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var val = el.value; + + if (el.getAttribute('type') === 'email') { + return _this.setState({ + email: val + }); + } + + _this.setState({ + pass: val + }); + } + }), Object.defineProperty(Login__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var pending = _this.props.user.pending; + var _this$state = _this.state, + email = _this$state.email, + pass = _this$state.pass; + email = email.trim(); + pass = pass.trim(); + e.preventDefault(); + + if (pending || email.length === 0 || pass.length == 0) { + return; + } + + Object(userAct["e" /* doLogin */])({ + email: email, + password: pass + }); + } + }), _temp)); + } + + Login__createClass(Login, [{ + key: "render", + value: function render() { + var _props$user = this.props.user, + pending = _props$user.pending, + error = _props$user.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("h4", null, "Please login to continue"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + id: "email", + name: "email", + autoFocus: true, + placeholder: "John@deux.com", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Pass:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + name: "password", + placeholder: "Super secret password...", + onChange: this.updVal + })), external__react__default.a.createElement("button", { + className: 'float-right' + (pending ? ' disabled' : ''), + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", null, error)))); + } + }]); + + return Login; +}(external__react_["Component"]); + +/* harmony default export */ var comps_Login = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Login_Login)); +// CONCATENATED MODULE: ./comps/Setup.js +function Setup__typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Setup__typeof = function _typeof(obj) { return typeof obj; }; } else { Setup__typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Setup__typeof(obj); } + +function Setup__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function Setup__defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function Setup__createClass(Constructor, protoProps, staticProps) { if (protoProps) Setup__defineProperties(Constructor.prototype, protoProps); if (staticProps) Setup__defineProperties(Constructor, staticProps); return Constructor; } + +function Setup__possibleConstructorReturn(self, call) { if (call && (Setup__typeof(call) === "object" || typeof call === "function")) { return call; } return Setup__assertThisInitialized(self); } + +function Setup__inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function Setup__assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + +var Setup_Setup = +/*#__PURE__*/ +function (_Component) { + Setup__inherits(Setup, _Component); + + function Setup() { + var _ref; + + var _temp, _this; + + Setup__classCallCheck(this, Setup); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Setup__possibleConstructorReturn(_this, (_temp = _this = Setup__possibleConstructorReturn(this, (_ref = Setup.__proto__ || Object.getPrototypeOf(Setup)).call.apply(_ref, [this].concat(args))), Object.defineProperty(Setup__assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + email: '', + password: '', + confirmPass: '', + pending: false, + error: null + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + var el = e.target; + var key = 'email'; + if (el.id === 'pass') key = 'password';else if (el.id === 'pass2') key = 'confirmPass'; + var obj = {}; + obj[key] = el.value; + + _this.setState(obj); + } + }), Object.defineProperty(Setup__assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(e) { + e.preventDefault(); + var _this$state = _this.state, + email = _this$state.email, + password = _this$state.password, + confirmPass = _this$state.confirmPass, + pending = _this$state.pending; + if (pending) return; + email = email.trim(); + password = password.trim(); + confirmPass = confirmPass.trim(); + var hasEmpty = [email, password, confirmPass].some(function (val) { + return val.length === 0; + }); + if (hasEmpty) return; + + if (password.toLowerCase() !== confirmPass.toLowerCase()) { + return _this.setState({ + error: "Passwords don't match" + }); + } + + _this.setState({ + pending: true, + error: null + }); + + var defaultErr = 'Could not create account'; + fetch(getUrl_default()('users'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + email: email, + password: password, + admin: true + }) + }).then(function (res) { + if (res.ok) { + return Object(userAct["e" /* doLogin */])({ + email: email, + password: password + }, null, true); + } + + res.json().then(function (_ref2) { + var message = _ref2.message; + var error = message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + }).catch(function (err) { + var error = err.message || defaultErr; + + _this.setState({ + pending: false, + error: error + }); + }); + } + }), _temp)); + } + + Setup__createClass(Setup, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + error = _state.error; + return external__react__default.a.createElement("div", { + className: "container content" + }, external__react__default.a.createElement(PaddedRow["a" /* default */], { + amount: 25, + vCenter: true + }, external__react__default.a.createElement("div", { + className: "column" + }, external__react__default.a.createElement("h3", null, "Setup account"), external__react__default.a.createElement("form", { + noValidate: true + }, external__react__default.a.createElement("fieldset", null, external__react__default.a.createElement("label", { + htmlFor: "email" + }, "Email:"), external__react__default.a.createElement("input", { + type: "email", + autoFocus: true, + id: "email", + placeholder: "Your email (does't have to be actual email)", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass" + }, "Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass", + maxLength: 512, + placeholder: "A super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("label", { + htmlFor: "pass2" + }, "Confirm Password:"), external__react__default.a.createElement("input", { + type: "password", + id: "pass2", + maxLength: 512, + placeholder: "Confirm your super secret password", + onChange: this.updVal + }), external__react__default.a.createElement("button", { + className: "float-right", + onClick: this.submit + }, pending ? external__react__default.a.createElement(Spinner["a" /* default */], null) : 'Submit'), !error ? null : external__react__default.a.createElement("p", { + className: "danger" + }, error)))))); + } + }]); + + return Setup; +}(external__react_["Component"]); + + +// CONCATENATED MODULE: ./comps/Page.js + + + + + + + + + +var Page_Page = function Page(_ref) { + var user = _ref.user, + children = _ref.children; + return external__react__default.a.createElement("div", null, external__react__default.a.createElement(comps_Header, null), external__react__default.a.createElement(comps_KeyShortcuts, null), user.email ? external__react__default.a.createElement("div", { + className: "container content" + }, children) : user.setup ? external__react__default.a.createElement(Setup_Setup, null) : external__react__default.a.createElement(comps_Login, { + user: user + }), external__react__default.a.createElement(comps_Footer, null)); +}; + +/* harmony default export */ var comps_Page = __webpack_exports__["a"] = (Object(external__react_redux_["connect"])(mapUser["a" /* default */])(Page_Page)); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = { + getKey: function getKey(e) { + return e.which || e.keyCode; + }, + isCtrlKey: function isCtrlKey(key) { + return key === 91 || key === 93 || key === 17; + } +}; + +/***/ }), +/* 19 */, +/* 20 */, +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = updateStateFromId; +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function updateStateFromId(e) { + var el = e.target; + this.setState(_defineProperty({}, el.id, el.value)); +} + +/***/ }), +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */, +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */, +/* 41 */, +/* 42 */, +/* 43 */, +/* 44 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(45); + + +/***/ }), +/* 45 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__comps_Page__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__comps_PaddedRow__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__comps_Spinner__ = __webpack_require__(8); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_mapUser__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_getUrl__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_getUrl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__util_getUrl__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util_getJwt__ = __webpack_require__(14); + + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + + + + + + + + +var Settings = +/*#__PURE__*/ +function (_Component) { + _inherits(Settings, _Component); + + function Settings() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, Settings); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = Settings.__proto__ || Object.getPrototypeOf(Settings)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: { + pending: false, + passErr: null, + curPass: '', + newPass: '', + confPass: '' + } + }), Object.defineProperty(_assertThisInitialized(_this), "updVal", { + configurable: true, + enumerable: true, + writable: true, + value: __WEBPACK_IMPORTED_MODULE_7__util_updStateFromId__["a" /* default */].bind(_assertThisInitialized(_this)) + }), Object.defineProperty(_assertThisInitialized(_this), "submit", { + configurable: true, + enumerable: true, + writable: true, + value: function () { + var _value = _asyncToGenerator( + /*#__PURE__*/ + __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.mark(function _callee(e) { + var _this$state, pending, curPass, newPass, confPass, _this$props$user, email, _id, doErr, vals, keys, i, key, val, updRes, message, data; + + return __WEBPACK_IMPORTED_MODULE_0__babel_runtime_regenerator___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + e.preventDefault(); + _this$state = _this.state, pending = _this$state.pending, curPass = _this$state.curPass, newPass = _this$state.newPass, confPass = _this$state.confPass; + _this$props$user = _this.props.user, email = _this$props$user.email, _id = _this$props$user._id; + + if (!pending) { + _context.next = 5; + break; + } + + return _context.abrupt("return"); + + case 5: + doErr = function doErr(passErr) { + return _this.setState({ + pending: false, + passErr: passErr + }); + }; + + vals = { + 'Current password': curPass, + 'New password': newPass, + 'Confirm new password': confPass + }; + keys = Object.keys(vals); + i = 0; + + case 9: + if (!(i < keys.length)) { + _context.next = 16; + break; + } + + key = keys[i], val = vals[key]; + + if (!(val.length === 0)) { + _context.next = 13; + break; + } + + return _context.abrupt("return", doErr("".concat(key, " is required"))); + + case 13: + i++; + _context.next = 9; + break; + + case 16: + if (!(newPass !== confPass)) { + _context.next = 18; + break; + } + + return _context.abrupt("return", doErr("New passwords don't match")); + + case 18: + _this.setState({ + passErr: null, + pending: true + }); + + _context.next = 21; + return __WEBPACK_IMPORTED_MODULE_3_isomorphic_unfetch___default()(__WEBPACK_IMPORTED_MODULE_9__util_getUrl___default()('users/' + _id), { + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Authorization: Object(__WEBPACK_IMPORTED_MODULE_10__util_getJwt__["a" /* default */])() + }, + body: JSON.stringify({ + email: email, + password: curPass, + newPassword: newPass + }) + }).catch(doErr); + + case 21: + updRes = _context.sent; + + if (!updRes.ok) { + _context.next = 26; + break; + } + + _this.setState({ + curPass: '', + newPass: '', + confPass: '', + passErr: 'Password updated successfully', + pending: false + }); + + _context.next = 38; + break; + + case 26: + message = 'failed to update password'; + _context.prev = 27; + _context.next = 30; + return updRes.json(); + + case 30: + data = _context.sent; + message = data.message || message; + _context.next = 37; + break; + + case 34: + _context.prev = 34; + _context.t0 = _context["catch"](27); + doErr(_context.t0.message); + + case 37: + doErr(message); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[27, 34]]); + })); + + return function value(_x) { + return _value.apply(this, arguments); + }; + }() + }), _temp)); + } + + _createClass(Settings, [{ + key: "render", + value: function render() { + var _state = this.state, + pending = _state.pending, + passErr = _state.passErr, + curPass = _state.curPass, + newPass = _state.newPass, + confPass = _state.confPass; + return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__comps_Page__["a" /* default */], null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__comps_PaddedRow__["a" /* default */], { + amount: 25 + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("h3", null, "Account settings"), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("hr", null), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("form", { + noValidate: true, + style: { + padding: '0 0 45px' + } + }, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("h4", null, "Change password"), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("fieldset", null, __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("label", { + htmlFor: "curPass" + }, "Current Password"), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "password", + id: "curPass", + onChange: this.updVal, + placeholder: "Current super secret password...", + value: curPass + }), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("label", { + htmlFor: "newPass" + }, "New Password"), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "password", + id: "newPass", + onChange: this.updVal, + placeholder: "New super secret password...", + value: newPass + }), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("label", { + htmlFor: "confPass" + }, "Confirm New Password"), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("input", { + type: "password", + id: "confPass", + onChange: this.updVal, + placeholder: "Confirm new super secret password...", + value: confPass + })), __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("button", { + onClick: this.submit, + className: 'float-right' + (pending ? ' disabled' : '') + }, pending ? __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__comps_Spinner__["a" /* default */], null) : 'Submit'), !passErr ? null : __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement("p", null, passErr)))); + } + }]); + + return Settings; +}(__WEBPACK_IMPORTED_MODULE_1_react__["Component"]); + +/* harmony default export */ __webpack_exports__["default"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])(__WEBPACK_IMPORTED_MODULE_8__util_mapUser__["a" /* default */])(Settings)); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/.next/server/chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726-ed8718ca2da55a768680.js b/.next/server/chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726-ed8718ca2da55a768680.js new file mode 100644 index 0000000..2f30be6 --- /dev/null +++ b/.next/server/chunks/comps_CodeMirror_51c113b8f0eb112cf9be60e9d3293726-ed8718ca2da55a768680.js @@ -0,0 +1,160 @@ +exports.ids = [0]; +exports.modules = { + +/***/ 22: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CodeMirror; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_codemirror__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_codemirror___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_codemirror__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_keys__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__util_keys__); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + + + + +if (typeof window !== 'undefined') { + __webpack_require__(27); +} + +var CodeMirror = +/*#__PURE__*/ +function (_Component) { + _inherits(CodeMirror, _Component); + + function CodeMirror() { + var _ref; + + var _temp, _this; + + _classCallCheck(this, CodeMirror); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_ref = CodeMirror.__proto__ || Object.getPrototypeOf(CodeMirror)).call.apply(_ref, [this].concat(args))), Object.defineProperty(_assertThisInitialized(_this), "handleChange", { + configurable: true, + enumerable: true, + writable: true, + value: function value() { + if (!_this.editor) return; + + var value = _this.editor.getValue(); + + if (value !== _this.props.value) { + _this.props.onChange && _this.props.onChange(value); + + if (_this.editor.getValue() !== _this.props.value) { + if (_this.state.isControlled) { + _this.editor.setValue(_this.props.value); + } else { + _this.props.value = value; + } + } + } + } + }), Object.defineProperty(_assertThisInitialized(_this), "checkSubmit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(cm, e) { + var key = Object(__WEBPACK_IMPORTED_MODULE_2__util_keys__["getKey"])(e); + + if (Object(__WEBPACK_IMPORTED_MODULE_2__util_keys__["isCtrlKey"])(key)) { + _this.ctrlKey = true; + } else if (key === 13 && _this.ctrlKey) { + _this.props.onSubmit(); + } + } + }), Object.defineProperty(_assertThisInitialized(_this), "handleKeyUp", { + configurable: true, + enumerable: true, + writable: true, + value: function value(cm, e) { + if (Object(__WEBPACK_IMPORTED_MODULE_2__util_keys__["isCtrlKey"])(Object(__WEBPACK_IMPORTED_MODULE_2__util_keys__["getKey"])(e))) _this.ctrlKey = false; + } + }), _temp)); + } + + _createClass(CodeMirror, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (typeof window === 'undefined') return; + this.editor = __WEBPACK_IMPORTED_MODULE_1_codemirror___default.a.fromTextArea(this.textarea, this.props.options); + this.editor.on('change', this.handleChange); + + if (typeof this.props.onSubmit === 'function') { + this.editor.on('keydown', this.checkSubmit); + this.editor.on('keyup', this.handleKeyUp); + this.setupSubmitKey = true; + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.setupSubmitKey) { + this.editor.off('keydown', this.checkSubmit); + this.editor.off('keyup', this.handleKeyUp); + this.setupSubmitKey = false; + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (!this.editor || !this.props.value) return; + + if (this.editor.getValue() !== this.props.value) { + this.editor.setValue(this.props.value); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var _props = this.props, + value = _props.value, + className = _props.className, + onChange = _props.onChange; + return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { + className: className + }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("textarea", _extends({ + value: value, + onChange: onChange + }, { + ref: function ref(el) { + return _this2.textarea = el; + } + }))); + } + }]); + + return CodeMirror; +}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]); + + + +/***/ }) + +};; \ No newline at end of file diff --git a/.next/server/pages-manifest.json b/.next/server/pages-manifest.json new file mode 100644 index 0000000..7ec00fa --- /dev/null +++ b/.next/server/pages-manifest.json @@ -0,0 +1 @@ +{"/_app":"bundles/pages/_app.js","/_document":"bundles/pages/_document.js","/edit":"bundles/pages/edit.js","/index":"bundles/pages/index.js","/k":"bundles/pages/k.js","/new":"bundles/pages/new.js","/settings":"bundles/pages/settings.js","/_error":"bundles/pages/_error.js","/":"bundles/pages/index.js"} \ No newline at end of file diff --git a/.next/static/commons/main-b24ec2a21f0eea742edb.js b/.next/static/commons/main-b24ec2a21f0eea742edb.js new file mode 100644 index 0000000..2ca523a --- /dev/null +++ b/.next/static/commons/main-b24ec2a21f0eea742edb.js @@ -0,0 +1 @@ +module.exports=function(e){var t=window["webpackJsonp"];window["webpackJsonp"]=function n(a,i,u){var l,c,s=0,f=[],p;for(;sj.length&&j.push(e)}function R(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case l:case c:a=!0}}if(a)return n(r,e,""===t?"."+F(e,0):t),1;a=0;t=""===t?".":t+":";if(Array.isArray(e))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:1;0===n?console.log(t):console.error(t);e.exit(n)}function f(e){return e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function d(e,t){return v.apply(this,arguments)}function v(){v=(0,a.default)(o.default.mark(function e(t,n){var r,a,i;return o.default.wrap(function e(o){while(1)switch(o.prev=o.next){case 0:if(t.getInitialProps){o.next=2;break}return o.abrupt("return",{});case 2:o.next=4;return t.getInitialProps(n);case 4:r=o.sent;if(!(n.res&&p(n.res))){o.next=7;break}return o.abrupt("return",r);case 7:if(r){o.next=11;break}a=f(t);i='"'.concat(a,'.getInitialProps()" should resolve to an object. But found "').concat(r,'" instead.');throw new Error(i);case 11:return o.abrupt("return",r);case 12:case"end":return o.stop()}},e,this)}));return v.apply(this,arguments)}function h(){var e=window.location,t=e.protocol,n=e.hostname,r=e.port;return"".concat(t,"//").concat(n).concat(r?":"+r:"")}function y(){var e=window.location.href;var t=h();return e.substring(t.length)}}).call(t,n(131))},function(e,t,n){e.exports=n(207)},function(e,t,n){var r=n(86);var o=n(90);function a(e,t){if(t&&("object"===r(t)||"function"===typeof t))return t;return o(e)}e.exports=a},function(e,t,n){var r=n(209);var o=n(213);function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=o(t&&t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});t&&(r?r(e,t):e.__proto__=t)}e.exports=a},function(e,t,n){var r=n(39);e.exports=function(e,t,n){r(e);if(void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r;var o;var a;false;e.exports=n(216)()},function(e,t,n){var r=n(12);var o=n(38);e.exports=n(13)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){e[t]=n;return e}},function(e,t,n){"use strict";var r=n(0);var o=n.n(r);var a=n(20);var i=n.n(a);var u=i.a.shape({trySubscribe:i.a.func.isRequired,tryUnsubscribe:i.a.func.isRequired,notifyNestedSubs:i.a.func.isRequired,isSubscribed:i.a.func.isRequired});var l=i.a.shape({subscribe:i.a.func.isRequired,dispatch:i.a.func.isRequired,getState:i.a.func.isRequired});function c(e){"undefined"!==typeof console&&"function"===typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(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}function p(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:false,writable:true,configurable:true}});t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var d=false;function v(){if(d)return;d=true;c(" does not support changing `store` on the fly. It is most likely that you see this error because you updated to Redux 2.x and React Redux 2.x which no longer hot reload reducers automatically. See https://github.com/reactjs/react-redux/releases/tag/v2.0.0 for the migration instructions.")}function h(){var e;var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"store";var n=arguments[1];var o=n||t+"Subscription";var a=function(e){p(n,e);n.prototype.getChildContext=function e(){var n;return n={},n[t]=this[t],n[o]=null,n};function n(r,o){s(this,n);var a=f(this,e.call(this,r,o));a[t]=r.store;return a}n.prototype.render=function e(){return r["Children"].only(this.props.children)};return n}(r["Component"]);false;a.propTypes={store:l.isRequired,children:i.a.element.isRequired};a.childContextTypes=(e={},e[t]=l.isRequired,e[o]=u,e);return a}var y=h();var m=n(121);var g=n.n(m);var b=n(232);var w=n.n(b);function x(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var C=null;var k={notify:function e(){}};function E(){var e=[];var t=[];return{clear:function n(){t=C;e=C},notify:function n(){var r=e=t;for(var o=0;o=0)continue;if(!Object.prototype.hasOwnProperty.call(e,r))continue;n[r]=e[r]}return n}var N=0;var I={};function R(){}function F(e,t){var n={run:function r(o){try{var a=e(t.getState(),o);if(a!==n.props||n.error){n.shouldComponentUpdate=true;n.props=a;n.error=null}}catch(e){n.shouldComponentUpdate=true;n.error=e}}};return n}function M(e){var t,n;var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.getDisplayName,i=void 0===a?function(e){return"ConnectAdvanced("+e+")"}:a,c=o.methodName,s=void 0===c?"connectAdvanced":c,f=o.renderCountProp,p=void 0===f?void 0:f,d=o.shouldHandleStateChanges,v=void 0===d||d,h=o.storeKey,y=void 0===h?"store":h,m=o.withRef,b=void 0!==m&&m,x=j(o,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]);var C=y+"Subscription";var k=N++;var E=(t={},t[y]=l,t[C]=u,t);var M=(n={},n[C]=u,n);return function t(n){w()("function"==typeof n,"You must pass a component to the function returned by "+s+". Instead received "+JSON.stringify(n));var o=n.displayName||n.name||"Component";var a=i(o);var u=S({},x,{getDisplayName:i,methodName:s,renderCountProp:p,shouldHandleStateChanges:v,storeKey:y,withRef:b,displayName:a,wrappedComponentName:o,WrappedComponent:n});var l=function(t){T(o,t);function o(e,n){O(this,o);var r=P(this,t.call(this,e,n));r.version=k;r.state={};r.renderCount=0;r.store=e[y]||n[y];r.propsMode=Boolean(e[y]);r.setWrappedInstance=r.setWrappedInstance.bind(r);w()(r.store,'Could not find "'+y+'" in either the context or props of "'+a+'". Either wrap the root component in a , or explicitly pass "'+y+'" as a prop to "'+a+'".');r.initSelector();r.initSubscription();return r}o.prototype.getChildContext=function e(){var t;var n=this.propsMode?null:this.subscription;return t={},t[C]=n||this.context[C],t};o.prototype.componentDidMount=function e(){if(!v)return;this.subscription.trySubscribe();this.selector.run(this.props);this.selector.shouldComponentUpdate&&this.forceUpdate()};o.prototype.componentWillReceiveProps=function e(t){this.selector.run(t)};o.prototype.shouldComponentUpdate=function e(){return this.selector.shouldComponentUpdate};o.prototype.componentWillUnmount=function e(){this.subscription&&this.subscription.tryUnsubscribe();this.subscription=null;this.notifyNestedSubs=R;this.store=null;this.selector.run=R;this.selector.shouldComponentUpdate=false};o.prototype.getWrappedInstance=function e(){w()(b,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+s+"() call.");return this.wrappedInstance};o.prototype.setWrappedInstance=function e(t){this.wrappedInstance=t};o.prototype.initSelector=function t(){var n=e(this.store.dispatch,u);this.selector=F(n,this.store);this.selector.run(this.props)};o.prototype.initSubscription=function e(){if(!v)return;var t=(this.propsMode?this.props:this.context)[C];this.subscription=new _(this.store,t,this.onStateChange.bind(this));this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)};o.prototype.onStateChange=function e(){this.selector.run(this.props);if(this.selector.shouldComponentUpdate){this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate;this.setState(I)}else this.notifyNestedSubs()};o.prototype.notifyNestedSubsOnComponentDidUpdate=function e(){this.componentDidUpdate=void 0;this.notifyNestedSubs()};o.prototype.isSubscribed=function e(){return Boolean(this.subscription)&&this.subscription.isSubscribed()};o.prototype.addExtraProps=function e(t){if(!b&&!p&&!(this.propsMode&&this.subscription))return t;var n=S({},t);b&&(n.ref=this.setWrappedInstance);p&&(n[p]=this.renderCount++);this.propsMode&&this.subscription&&(n[C]=this.subscription);return n};o.prototype.render=function e(){var t=this.selector;t.shouldComponentUpdate=false;if(t.error)throw t.error;return Object(r["createElement"])(n,this.addExtraProps(t.props))};return o}(r["Component"]);l.WrappedComponent=n;l.displayName=a;l.childContextTypes=M;l.contextTypes=E;l.propTypes=E;false;return g()(l,n)}}var A=Object.prototype.hasOwnProperty;function D(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function U(e,t){if(D(e,t))return true;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return false;var n=Object.keys(e);var r=Object.keys(t);if(n.length!==r.length)return false;for(var o=0;o=0)continue;if(!Object.prototype.hasOwnProperty.call(e,r))continue;n[r]=e[r]}return n}function He(e,t,n,r){return function o(a,i){return n(e(a,i),t(r,i),i)}}function We(e,t,n,r,o){var a=o.areStatesEqual,i=o.areOwnPropsEqual,u=o.areStatePropsEqual;var l=false;var c=void 0;var s=void 0;var f=void 0;var p=void 0;var d=void 0;function v(o,a){c=o;s=a;f=e(c,s);p=t(r,s);d=n(f,p,s);l=true;return d}function h(){f=e(c,s);t.dependsOnOwnProps&&(p=t(r,s));d=n(f,p,s);return d}function y(){e.dependsOnOwnProps&&(f=e(c,s));t.dependsOnOwnProps&&(p=t(r,s));d=n(f,p,s);return d}function m(){var t=e(c,s);var r=!u(t,f);f=t;r&&(d=n(f,p,s));return d}function g(e,t){var n=!i(t,s);var r=!a(e,c);c=e;s=t;if(n&&r)return h();if(n)return y();if(r)return m();return d}return function e(t,n){return l?g(t,n):v(t,n)}}function qe(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,a=ze(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]);var i=n(e,a);var u=r(e,a);var l=o(e,a);false;var c=a.pure?We:He;return c(i,u,l,e,a)}var Be=Object.assign||function(e){for(var t=1;t=0)continue;if(!Object.prototype.hasOwnProperty.call(e,r))continue;n[r]=e[r]}return n}function Ke(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function $e(e,t){return e===t}function Ge(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.connectHOC,n=void 0===t?M:t,r=e.mapStateToPropsFactories,o=void 0===r?Ne:r,a=e.mapDispatchToPropsFactories,i=void 0===a?Pe:a,u=e.mergePropsFactories,l=void 0===u?De:u,c=e.selectorFactory,s=void 0===c?qe:c;return function e(t,r,a){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=u.pure,f=void 0===c||c,p=u.areStatesEqual,d=void 0===p?$e:p,v=u.areOwnPropsEqual,h=void 0===v?U:v,y=u.areStatePropsEqual,m=void 0===y?U:y,g=u.areMergedPropsEqual,b=void 0===g?U:g,w=Ve(u,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]);var x=Ke(t,o,"mapStateToProps");var C=Ke(r,i,"mapDispatchToProps");var k=Ke(a,l,"mergeProps");return n(s,Be({methodName:"connect",getDisplayName:function e(t){return"Connect("+t+")"},shouldHandleStateChanges:Boolean(t),initMapStateToProps:x,initMapDispatchToProps:C,initMergeProps:k,pure:f,areStatesEqual:d,areOwnPropsEqual:h,areStatePropsEqual:m,areMergedPropsEqual:b},w))}}var Qe=Ge();n.d(t,"a",function(){return y});n.d(t,false,function(){return h});n.d(t,false,function(){return M});n.d(t,"b",function(){return Qe})},function(e,t,n){"use strict";t["a"]=function(e){if(e)return e.jwt;if("undefined"!==typeof window)return window.localStorage.getItem("jwt")}},function(e,t,n){var r=n(96);var o=n(51);function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=o&&r?r(e,n):{};a.get||a.set?o(t,n,a):t[n]=e[n]}t.default=e;return t}e.exports=a},function(e,t,n){var r=n(64);var o=n(65);e.exports=function(e){return r(o(e))}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return true}}},function(e,t,n){e.exports=n(183)},function(e,t,n){"use strict";t["a"]=function(e){var t=e.user;return{user:t}}},function(e,t,n){var r=n(65);e.exports=function(e){return Object(r(e))}},function(e,t){e.exports={}},function(e,t,n){"use strict";var r=n(156)(true);n(78)(String,"String",function(e){this._t=String(e);this._i=0},function(){var e=this._t;var t=this._i;var n;if(t>=e.length)return{value:void 0,done:true};n=r(e,t);this._i+=n.length;return{value:n,done:false}})},function(e,t,n){"use strict";n.d(t,"d",function(){return d});n.d(t,"b",function(){return v});n.d(t,"a",function(){return h});n.d(t,"c",function(){return y});n.d(t,"g",function(){return m});n.d(t,"f",function(){return g});t["e"]=b;var r=n(8);var o=n.n(r);var a=n(34);var i=n.n(a);var u=n(122);var l=n(9);var c=n.n(l);function s(e){for(var t=1;th;h++){b=t?v(i(m=e[h])[0],m[1]):v(e[h]);if(b===c||b===s)return b}else for(g=d.call(e);!(m=g.next()).done;){b=o(g,v,m.value,t);if(b===c||b===s)return b}};t.BREAK=c;t.RETURN=s},function(e,t,n){"use strict";var r=n(2);Object.defineProperty(t,"__esModule",{value:true});t._rewriteUrlForNextExport=g;t.makePublicRouterInstance=b;Object.defineProperty(t,"withRouter",{enumerable:true,get:function e(){return l.default}});t.Router=t.createRouter=t.default=void 0;var o=r(n(117));var a=r(n(51));var i=r(n(176));var u=n(15);var l=r(n(206));var c={router:null,readyCallbacks:[],ready:function e(t){if(this.router)return t();"undefined"!==typeof window&&this.readyCallbacks.push(t)}};var s=["components","pathname","route","query","asPath"];var f=["routeChangeStart","beforeHistoryChange","routeChangeComplete","routeChangeError","hashChangeStart","hashChangeComplete"];var p=["push","replace","reload","back","prefetch","beforePopState"];s.forEach(function(e){(0,a.default)(c,e,{get:function t(){v();return c.router[e]}})});p.forEach(function(e){c[e]=function(){var t;v();return(t=c.router)[e].apply(t,arguments)}});f.forEach(function(e){c.ready(function(){c.router.events.on(e,function(){var t="on".concat(e.charAt(0).toUpperCase()).concat(e.substring(1));if(c[t])try{c[t].apply(c,arguments)}catch(e){console.error("Error when running the Router event: ".concat(t));console.error("".concat(e.message,"\n").concat(e.stack))}})})});var d=(0,u.execOnce)(function(){console.warn("Router.onAppUpdated is removed - visit https://err.sh/next.js/no-on-app-updated-hook for more information.")});Object.defineProperty(c,"onAppUpdated",{get:function e(){return null},set:function e(){d();return null}});function v(){if(!c.router){var e='No router instance found.\nYou should only use "next/router" inside the client side of your app.\n';throw new Error(e)}}var h=c;t.default=h;var y=function e(){for(var t=arguments.length,n=new Array(t),r=0;r0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(14);var o=n(145);var a=n(76);var i=n(75)("IE_PROTO");var u=function(){};var l="prototype";var c=function(){var e=n(68)("iframe");var t=a.length;var r="<";var o=">";var i;e.style.display="none";n(102).appendChild(e);e.src="javascript:";i=e.contentWindow.document;i.open();i.write(r+"script"+o+"document.F=Object"+r+"/script"+o);i.close();c=i.F;while(t--)delete c[l][a[t]];return c()};e.exports=Object.create||function e(t,n){var a;if(null!==t){u[l]=r(t);a=new u;u[l]=null;a[i]=t}else a=c();return void 0===n?a:o(a,n)}},function(e,t,n){e.exports=n(147)},function(e,t,n){var r=n(37);var o=n(5)("toStringTag");var a="Arguments"==r(function(){return arguments}());var i=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,u;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=i(t=Object(e),o))?n:a?r(t):"Object"==(u=r(t))&&"function"==typeof t.callee?"Arguments":u}},function(e,t,n){var r=n(44);function o(e){return function(){var t=this,n=arguments;return new r(function(o,a){var i=e.apply(t,n);function u(e,t){try{var n=i[e](t);var u=n.value}catch(e){a(e);return}n.done?o(u):r.resolve(u).then(l,c)}function l(e){u("next",e)}function c(e){u("throw",e)}l()})}}e.exports=o},function(e,t,n){"use strict";var r=n(197);var o=n(198);t.parse=x;t.resolve=k;t.resolveObject=E;t.format=C;t.Url=a;function a(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var i=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["<",">",'"',"`"," ","\r","\n","\t"],s=["{","}","|","\\","^","`"].concat(c),f=["'"].concat(s),p=["%","/","?",";","#"].concat(f),d=["/","?","#"],v=255,h=/^[+a-z0-9A-Z_-]{0,63}$/,y=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:true,"javascript:":true},g={javascript:true,"javascript:":true},b={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},w=n(199);function x(e,t,n){if(e&&o.isObject(e)&&e instanceof a)return e;var r=new a;r.parse(e,t,n);return r}a.prototype.parse=function(e,t,n){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var a=e.indexOf("?"),u=-1!==a&&a127?M+="x":M+=F[A];if(!M.match(h)){var U=I.slice(0,O);var L=I.slice(O+1);var z=F.match(y);if(z){U.push(z[1]);L.unshift(z[2])}L.length&&(x="/"+L.join(".")+x);this.hostname=U.join(".");break}}}}this.hostname.length>v?this.hostname="":this.hostname=this.hostname.toLowerCase();N||(this.hostname=r.toASCII(this.hostname));var H=this.port?":"+this.port:"";var W=this.hostname||"";this.host=W+H;this.href+=this.host;if(N){this.hostname=this.hostname.substr(1,this.hostname.length-2);"/"!==x[0]&&(x="/"+x)}}if(!m[E])for(var O=0,R=f.length;O0)&&n.host.split("@");if(_){n.auth=_.shift();n.host=n.hostname=_.shift()}}n.search=e.search;n.query=e.query;o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:""));n.href=n.format();return n}if(!k.length){n.pathname=null;n.search?n.path="/"+n.search:n.path=null;n.href=n.format();return n}var S=k.slice(-1)[0];var O=(n.host||e.host||k.length>1)&&("."===S||".."===S)||""===S;var P=0;for(var T=k.length;T>=0;T--){S=k[T];if("."===S)k.splice(T,1);else if(".."===S){k.splice(T,1);P++}else if(P){k.splice(T,1);P--}}if(!x&&!C)for(;P--;P)k.unshift("..");!x||""===k[0]||k[0]&&"/"===k[0].charAt(0)||k.unshift("");O&&"/"!==k.join("/").substr(-1)&&k.push("");var j=""===k[0]||k[0]&&"/"===k[0].charAt(0);if(E){n.hostname=n.host=j?"":k.length?k.shift():"";var _=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");if(_){n.auth=_.shift();n.host=n.hostname=_.shift()}}x=x||n.host&&k.length;x&&!j&&k.unshift("");if(k.length)n.pathname=k.join("/");else{n.pathname=null;n.path=null}o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:""));n.auth=e.auth||n.auth;n.slashes=n.slashes||e.slashes;n.href=n.format();return n};a.prototype.parseHost=function(){var e=this.host;var t=u.exec(e);if(t){t=t[0];":"!==t&&(this.port=t.substr(1));e=e.substr(0,e.length-t.length)}e&&(this.hostname=e)}},function(e,t,n){"use strict";var r=n(0);var o=n.n(r);function a(){a=Object.assign||function(e){for(var t=1;t0?r:n)(e)}},function(e,t,n){var r=n(71)("keys");var o=n(53);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(40);var o=n(4);var a=n(99);var i=n(21);var u=n(31);var l=n(155);var c=n(41);var s=n(106);var f=n(5)("iterator");var p=!([].keys&&"next"in[].keys());var d="@@iterator";var v="keys";var h="values";var y=function(){return this};e.exports=function(e,t,n,m,g,b,w){l(n,t,m);var x=function(e){if(!p&&e in _)return _[e];switch(e){case v:return function t(){return new n(this,e)};case h:return function t(){return new n(this,e)}}return function t(){return new n(this,e)}};var C=t+" Iterator";var k=g==h;var E=false;var _=e.prototype;var S=_[f]||_[d]||g&&_[g];var O=S||x(g);var P=g?k?x("entries"):O:void 0;var T="Array"==t&&_.entries||S;var j,N,I;if(T){I=s(T.call(new e));if(I!==Object.prototype&&I.next){c(I,C,true);r||"function"==typeof I[f]||i(I,f,y)}}if(k&&S&&S.name!==h){E=true;O=function e(){return S.call(this)}}r&&!w||!p&&!E&&_[f]||i(_,f,O);u[t]=O;u[C]=y;if(g){j={values:k?O:x(h),keys:b?O:x(v),entries:P};if(w)for(N in j)N in _||a(_,N,j[N]);else o(o.P+o.F*(p||E),t,j)}return j}},function(e,t,n){var r=n(57);var o=n(5)("iterator");var a=n(31);e.exports=n(1).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||a[r(e)]}},function(e,t){},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){"use strict";var r=n(39);function o(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e;n=r});this.resolve=r(t);this.reject=r(n)}e.exports.f=function(e){return new o(e)}},function(e,t,n){var r=n(21);e.exports=function(e,t,n){for(var o in t)n&&e[o]?e[o]=t[o]:r(e,o,t[o]);return e}},function(e,t,n){"use strict";var r=function e(t){};false;function o(e,t,n,o,a,i,u,l){r(t);if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,o,a,i,u,l];var f=0;c=new Error(t.replace(/%s/g,function(){return s[f++]}));c.name="Invariant Violation"}c.framesToPop=1;throw c}}e.exports=o},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function e(){};o.thatReturns=r;o.thatReturnsFalse=r(false);o.thatReturnsTrue=r(true);o.thatReturnsNull=r(null);o.thatReturnsThis=function(){return this};o.thatReturnsArgument=function(e){return e};e.exports=o},function(e,t,n){var r=n(177);var o=n(179);function a(e){a="function"===typeof o&&"symbol"===typeof r?function e(t){return typeof t}:function e(t){return t&&"function"===typeof o&&t.constructor===o&&t!==o.prototype?"symbol":typeof t};return a(e)}function i(t){"function"===typeof o&&"symbol"===a(r)?e.exports=i=function e(t){return a(t)}:e.exports=i=function e(t){return t&&"function"===typeof o&&t.constructor===o&&t!==o.prototype?"symbol":a(t)};return i(t)}e.exports=i},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(1,eval)("this")}catch(e){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(2);Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var o=r(n(28));var a=r(n(6));var i=r(n(7));var u=function(){function e(){(0,a.default)(this,e);Object.defineProperty(this,"listeners",{configurable:true,enumerable:true,writable:true,value:{}})}(0,i.default)(e,[{key:"on",value:function e(t,n){this.listeners[t]||(this.listeners[t]=new o.default);if(this.listeners[t].has(n))throw new Error("The listener already exising in event: ".concat(t));this.listeners[t].add(n)}},{key:"emit",value:function e(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;oo)G(t,i=r[o++],n[i]);return t};var Y=function e(t,n){return void 0===n?k(t):Q(k(t),n)};var X=function e(t){var n=D.call(this,t=x(t,true));if(this===H&&o(L,t)&&!o(z,t))return false;return!(n||!o(this,t)||!o(L,t)||o(this,M)&&this[M][t])||n};var J=function e(t,n){t=w(t);n=x(n,true);if(t===H&&o(L,n)&&!o(z,n))return;var r=P(t,n);!r||!o(L,n)||o(t,M)&&t[M][n]||(r.enumerable=true);return r};var Z=function e(t){var n=j(w(t));var r=[];var a=0;var i;while(n.length>a)o(L,i=n[a++])||i==M||i==l||r.push(i);return r};var ee=function e(t){var n=t===H;var r=j(n?z:w(t));var a=[];var i=0;var u;while(r.length>i)!o(L,u=r[i++])||n&&!o(H,u)||a.push(L[u]);return a};if(!W){N=function e(){if(this instanceof N)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0);var n=function(e){this===H&&n.call(z,e);o(this,M)&&o(this[M],t)&&(this[M][t]=false);V(this,t,C(1,e))};a&&B&&V(H,t,{configurable:true,set:n});return K(t)};u(N[F],"toString",function e(){return this._k});_.f=J;S.f=G;n(103).f=E.f=Z;n(50).f=X;n(77).f=ee;a&&!n(40)&&u(H,"propertyIsEnumerable",X,true);v.f=function(e){return K(d(e))}}i(i.G+i.W+i.F*!W,{Symbol:N});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)d(te[ne++]);for(var re=O(d.store),oe=0;re.length>oe;)h(re[oe++]);i(i.S+i.F*!W,"Symbol",{for:function(e){return o(U,e+="")?U[e]:U[e]=N(e)},keyFor:function e(t){if(!$(t))throw TypeError(t+" is not a symbol!");for(var n in U)if(U[n]===t)return n},useSetter:function(){B=true},useSimple:function(){B=false}});i(i.S+i.F*!W,"Object",{create:Y,defineProperty:G,defineProperties:Q,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee});I&&i(i.S+i.F*(!W||c(function(){var e=N();return"[null]"!=R([e])||"{}"!=R({a:e})||"{}"!=R(Object(e))})),"JSON",{stringify:function e(t){var n=[t];var r=1;var o,a;while(arguments.length>r)n.push(arguments[r++]);a=o=n[1];if(!b(o)&&void 0===t||$(t))return;m(o)||(o=function(e,t){"function"==typeof a&&(t=a.call(this,e,t));if(!$(t))return t});n[1]=o;return R.apply(I,n)}});N[F][A]||n(21)(N[F],A,N[F].valueOf);f(N,"Symbol");f(Math,"Math",true);f(r.JSON,"JSON",true)},function(e,t,n){e.exports=n(21)},function(e,t,n){var r=n(26);var o=n(25);var a=n(143)(false);var i=n(75)("IE_PROTO");e.exports=function(e,t){var n=o(e);var u=0;var l=[];var c;for(c in n)c!=i&&r(n,c)&&l.push(c);while(t.length>u)r(n,c=t[u++])&&(~a(l,c)||l.push(c));return l}},function(e,t,n){var r=n(37);e.exports=Array.isArray||function e(t){return"Array"==r(t)}},function(e,t,n){var r=n(3).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(100);var o=n(76).concat("length","prototype");t.f=Object.getOwnPropertyNames||function e(t){return r(t,o)}},function(e,t,n){e.exports=n(152)},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(26);var o=n(30);var a=n(75)("IE_PROTO");var i=Object.prototype;e.exports=Object.getPrototypeOf||function(e){e=o(e);if(r(e,a))return e[a];if("function"==typeof e.constructor&&e instanceof e.constructor)return e.constructor.prototype;return e instanceof Object?i:null}},function(e,t,n){var r=n(14);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var a=e["return"];void 0!==a&&r(a.call(e));throw t}}},function(e,t,n){var r=n(31);var o=n(5)("iterator");var a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[o]===e)}},function(e,t,n){var r=n(14);var o=n(39);var a=n(5)("species");e.exports=function(e,t){var n=r(e).constructor;var i;return void 0===n||void 0==(i=r(n)[a])?t:o(i)}},function(e,t,n){var r=n(19);var o=n(160);var a=n(102);var i=n(68);var u=n(3);var l=u.process;var c=u.setImmediate;var s=u.clearImmediate;var f=u.MessageChannel;var p=u.Dispatch;var d=0;var v={};var h="onreadystatechange";var y,m,g;var b=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e];t()}};var w=function(e){b.call(e.data)};if(!c||!s){c=function e(t){var n=[];var r=1;while(arguments.length>r)n.push(arguments[r++]);v[++d]=function(){o("function"==typeof t?t:Function(t),n)};y(d);return d};s=function e(t){delete v[t]};if("process"==n(37)(l))y=function(e){l.nextTick(r(b,e,1))};else if(p&&p.now)y=function(e){p.now(r(b,e,1))};else if(f){m=new f;g=m.port2;m.port1.onmessage=w;y=r(g.postMessage,g,1)}else if(u.addEventListener&&"function"==typeof postMessage&&!u.importScripts){y=function(e){u.postMessage(e+"","*")};u.addEventListener("message",w,false)}else y=h in i("script")?function(e){a.appendChild(i("script"))[h]=function(){a.removeChild(this);b.call(e)}}:function(e){setTimeout(r(b,e,1),0)}}e.exports={set:c,clear:s}},function(e,t){e.exports=function(e){try{return{e:false,v:e()}}catch(e){return{e:true,v:e}}}},function(e,t,n){var r=n(14);var o=n(11);var a=n(82);e.exports=function(e,t){r(e);if(o(t)&&t.constructor===e)return t;var n=a.f(e);var i=n.resolve;i(t);return n.promise}},function(e,t,n){"use strict";var r=n(3);var o=n(1);var a=n(12);var i=n(13);var u=n(5)("species");e.exports=function(e){var t="function"==typeof o[e]?o[e]:r[e];i&&t&&!t[u]&&a.f(t,u,{configurable:true,get:function(){return this}})}},function(e,t,n){var r=n(5)("iterator");var o=false;try{var a=[7][r]();a["return"]=function(){o=true};Array.from(a,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return false;var n=false;try{var a=[7];var i=a[r]();i.next=function(){return{done:n=true}};a[r]=function(){return i};e(a)}catch(e){}return n}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols;var o=Object.prototype.hasOwnProperty;var a=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function u(){try{if(!Object.assign)return false;var e=new String("abc");e[5]="de";if("5"===Object.getOwnPropertyNames(e)[0])return false;var t={};for(var n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return false;var o={};"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e});if("abcdefghijklmnopqrst"!==Object.keys(Object.assign({},o)).join(""))return false;return true}catch(e){return false}}e.exports=u()?Object.assign:function(e,t){var n;var u=i(e);var l;for(var c=1;c0&&void 0!==arguments[0]?arguments[0]:u;var t=arguments.length>1?arguments[1]:void 0;switch(t.type){case o["d"]:return a({},u,t.data);case o["b"]:return a({},u,{pending:true});case o["a"]:return a({},e,{pending:false,error:t.data});case o["c"]:return u;default:return e}}var c=l;var s;var f;false;var p=Object(r["b"])({user:c});var d=t["a"]=s?Object(r["c"])(p,s):Object(r["c"])(p)},function(e,t,n){"use strict";n.d(t,"c",function(){return l});n.d(t,"b",function(){return d});n.d(t,"a",function(){return h});var r=n(228);var o={INIT:"@@redux/INIT"+Math.random().toString(36).substring(7).split("").join("."),REPLACE:"@@redux/REPLACE"+Math.random().toString(36).substring(7).split("").join(".")};var a="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};var i=Object.assign||function(e){for(var t=1;t0)return"Unexpected "+(l.length>1?"keys":"key")+' "'+l.join('", "')+'" found in '+i+'. Expected to find one of the known reducer keys instead: "'+a.join('", "')+'". Unexpected keys will be ignored.'}function p(e){Object.keys(e).forEach(function(t){var n=e[t];var r=n(void 0,{type:o.INIT});if("undefined"===typeof r)throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");var a="@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".");if("undefined"===typeof n(void 0,{type:a}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+o.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}function d(e){var t=Object.keys(e);var n={};for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};var r=arguments[1];if(u)throw u;var o;false;var i=false;var l={};for(var c=0;c2?arguments[2]:{};var i=r(t);a&&(i=i.concat(Object.getOwnPropertySymbols(t)));o(i,function(r){s(e,r,t[r],n[r])})};f.supportsDescriptors=!!c;e.exports=f},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;var o=Object.prototype.toString;var a=Array.prototype.slice;var i=n(242);var u=Object.prototype.propertyIsEnumerable;var l=!u.call({toString:null},"toString");var c=u.call(function(){},"prototype");var s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];var f=function(e){var t=e.constructor;return t&&t.prototype===e};var p={$console:true,$external:true,$frame:true,$frameElement:true,$frames:true,$innerHeight:true,$innerWidth:true,$outerHeight:true,$outerWidth:true,$pageXOffset:true,$pageYOffset:true,$parent:true,$scrollLeft:true,$scrollTop:true,$scrollX:true,$scrollY:true,$self:true,$webkitIndexedDB:true,$webkitStorageInfo:true,$window:true};var d=function(){if("undefined"===typeof window)return false;for(var e in window)try{if(!p["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"===typeof window[e])try{f(window[e])}catch(e){return true}}catch(e){return true}return false}();var v=function(e){if("undefined"===typeof window||!d)return f(e);try{return f(e)}catch(e){return false}};var h=function e(t){var n=null!==t&&"object"===typeof t;var a="[object Function]"===o.call(t);var u=i(t);var f=n&&"[object String]"===o.call(t);var p=[];if(!n&&!a&&!u)throw new TypeError("Object.keys called on a non-object");var d=c&&a;if(f&&t.length>0&&!r.call(t,0))for(var h=0;h0)for(var y=0;y1)for(var n=1;n0&&void 0!==m[0]?m[0]:{},r=n.DevErrorOverlay,o=n.stripAnsi,a=n.applySourcemaps;l=true;c=false;s=void 0;i.prev=4;f=(0,u.default)(P);case 6:if(l=(p=f.next()).done){i.next=13;break}v=p.value;i.next=10;return R.waitForChunk(v);case 10:l=true;i.next=6;break;case 13:i.next=19;break;case 15:i.prev=15;i.t0=i["catch"](4);c=true;s=i.t0;case 19:i.prev=19;i.prev=20;l||null==f.return||f.return();case 22:i.prev=22;if(!c){i.next=25;break}throw s;case 25:return i.finish(22);case 26:return i.finish(19);case 27:q=o||q;B=a||B;z=r;i.next=32;return R.loadPage("/_error");case 32:t.ErrorComponent=L=i.sent;i.next=35;return R.loadPage("/_app");case 35:W=i.sent;h=k;i.prev=37;i.next=40;return R.loadPage(E);case 40:H=i.sent;if(!("function"!==typeof H)){i.next=43;break}throw new Error('The default export is not a React Component in page: "'.concat(_,'"'));case 43:i.next=48;break;case 45:i.prev=45;i.t1=i["catch"](37);h=i.t1;case 48:t.router=U=(0,d.createRouter)(_,S,I,{initialProps:C,pageLoader:R,App:W,Component:H,ErrorComponent:L,err:h});U.subscribe(function(e){var t=e.App,n=e.Component,r=e.props,o=e.hash,a=e.err;$({App:t,Component:n,props:r,err:a,hash:o,emitter:V})});y=N.hash.substring(1);$({App:W,Component:H,props:C,hash:y,err:h,emitter:V});return i.abrupt("return",V);case 53:case"end":return i.stop()}},e,this,[[4,15,19,27],[20,,22,26],[37,45]])}));t.default=K;function $(e){return G.apply(this,arguments)}function G(){G=(0,l.default)(i.default.mark(function e(t){return i.default.wrap(function e(n){while(1)switch(n.prev=n.next){case 0:if(!t.err){n.next=4;break}n.next=3;return Q(t);case 3:return n.abrupt("return");case 4:n.prev=4;n.next=7;return X(t);case 7:n.next=15;break;case 9:n.prev=9;n.t0=n["catch"](4);if(!n.t0.abort){n.next=13;break}return n.abrupt("return");case 13:n.next=15;return Q((0,a.default)({},t,{err:n.t0}));case 15:case"end":return n.stop()}},e,this,[[4,9]])}));return G.apply(this,arguments)}function Q(e){return Y.apply(this,arguments)}function Y(){Y=(0,l.default)(i.default.mark(function e(t){var n,r,o;return i.default.wrap(function e(i){while(1)switch(i.prev=i.next){case 0:n=t.err,r=t.errorInfo;true;i.next=4;break;case 4:o=q("".concat(n.message,"\n").concat(n.stack).concat(r?"\n\n".concat(r.componentStack):""));console.error(o);true;i.next=10;break;case 10:i.next=12;return X((0,a.default)({},t,{err:n,Component:L}));case 12:case"end":return i.stop()}},e,this)}));return Y.apply(this,arguments)}function X(e){return J.apply(this,arguments)}function J(){J=(0,l.default)(i.default.mark(function e(t){var n,r,o,u,c,p,d,v,y,m,g,w,x;return i.default.wrap(function e(C){while(1)switch(C.prev=C.next){case 0:n=t.App,r=t.Component,o=t.props,u=t.hash,c=t.err,p=t.emitter,d=void 0===p?V:p;if(!(!o&&r&&r!==L&&D.Component===L)){C.next=6;break}v=U,y=v.pathname,m=v.query,g=v.asPath;C.next=5;return(0,h.loadGetInitialProps)(n,{Component:r,router:U,ctx:{err:c,pathname:y,query:m,asPath:g}});case 5:o=C.sent;case 6:r=r||D.Component;o=o||D.props;w=(0,a.default)({Component:r,hash:u,err:c,router:U,headManager:F},o);D=w;d.emit("before-reactdom-render",{Component:r,ErrorComponent:L,appProps:w});f.default.unmountComponentAtNode(A);x=null;true;x=function(){var e=(0,l.default)(i.default.mark(function e(t,r){return i.default.wrap(function e(o){while(1)switch(o.prev=o.next){case 0:o.prev=0;o.next=3;return Q({App:n,err:t,errorInfo:r});case 3:o.next=8;break;case 5:o.prev=5;o.t0=o["catch"](0);console.error("Error while rendering error page: ",o.t0);case 8:case"end":return o.stop()}},e,this,[[0,5]])}));return function t(n,r){return e.apply(this,arguments)}}();ee(s.default.createElement(b.default,{ErrorReporter:z,onError:x},s.default.createElement(n,w)),M);d.emit("after-reactdom-render",{Component:r,ErrorComponent:L,appProps:w});case 16:case"end":return C.stop()}},e,this)}));return J.apply(this,arguments)}var Z=true;function ee(e,t){if(Z&&"function"===typeof f.default.hydrate){f.default.hydrate(e,t);Z=false}else f.default.render(e,t)}},function(e,t,n){e.exports=n(141)},function(e,t,n){n(98);e.exports=n(1).Object.getOwnPropertySymbols},function(e,t,n){var r=n(42);var o=n(77);var a=n(50);e.exports=function(e){var t=r(e);var n=o.f;if(n){var i=n(e);var u=a.f;var l=0;var c;while(i.length>l)u.call(e,c=i[l++])&&t.push(c)}return t}},function(e,t,n){var r=n(25);var o=n(54);var a=n(144);e.exports=function(e){return function(t,n,i){var u=r(t);var l=o(u.length);var c=a(i,l);var s;if(e&&n!=n)while(l>c){s=u[c++];if(s!=s)return true}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(74);var o=Math.max;var a=Math.min;e.exports=function(e,t){e=r(e);return e<0?o(e+t,0):a(e,t)}},function(e,t,n){var r=n(12);var o=n(14);var a=n(42);e.exports=n(13)?Object.defineProperties:function e(t,n){o(t);var i=a(n);var u=i.length;var l=0;var c;while(u>l)r.f(t,c=i[l++],n[c]);return t}},function(e,t,n){var r=n(25);var o=n(103).f;var a={}.toString;var i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var u=function(e){try{return o(e)}catch(e){return i.slice()}};e.exports.f=function e(t){return i&&"[object Window]"==a.call(t)?u(t):o(r(t))}},function(e,t,n){n(148);e.exports=n(1).Object.keys},function(e,t,n){var r=n(30);var o=n(42);n(69)("keys",function(){return function e(t){return o(r(t))}})},function(e,t,n){var r=n(51);function o(e,t,n){t in e?r(e,t,{value:n,enumerable:true,configurable:true,writable:true}):e[t]=n;return e}e.exports=o},function(e,t,n){var r=function(){return this}()||Function("return this")();var o=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0;var a=o&&r.regeneratorRuntime;r.regeneratorRuntime=void 0;e.exports=n(151);if(o)r.regeneratorRuntime=a;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var n=Object.prototype;var r=n.hasOwnProperty;var o;var a="function"===typeof Symbol?Symbol:{};var i=a.iterator||"@@iterator";var u=a.asyncIterator||"@@asyncIterator";var l=a.toStringTag||"@@toStringTag";var c="object"===typeof e;var s=t.regeneratorRuntime;if(s){c&&(e.exports=s);return}s=t.regeneratorRuntime=c?e.exports:{};function f(e,t,n,r){var o=t&&t.prototype instanceof g?t:g;var a=Object.create(o.prototype);var i=new N(r||[]);a._invoke=O(e,n,i);return a}s.wrap=f;function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}var d="suspendedStart";var v="suspendedYield";var h="executing";var y="completed";var m={};function g(){}function b(){}function w(){}var x={};x[i]=function(){return this};var C=Object.getPrototypeOf;var k=C&&C(C(I([])));k&&k!==n&&r.call(k,i)&&(x=k);var E=w.prototype=g.prototype=Object.create(x);b.prototype=E.constructor=w;w.constructor=b;w[l]=b.displayName="GeneratorFunction";function _(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}s.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))};s.mark=function(e){if(Object.setPrototypeOf)Object.setPrototypeOf(e,w);else{e.__proto__=w;l in e||(e[l]="GeneratorFunction")}e.prototype=Object.create(E);return e};s.awrap=function(e){return{__await:e}};function S(e){function t(n,o,a,i){var u=p(e[n],e,o);if("throw"!==u.type){var l=u.arg;var c=l.value;if(c&&"object"===typeof c&&r.call(c,"__await"))return Promise.resolve(c.__await).then(function(e){t("next",e,a,i)},function(e){t("throw",e,a,i)});return Promise.resolve(c).then(function(e){l.value=e;a(l)},i)}i(u.arg)}var n;function o(e,r){function o(){return new Promise(function(n,o){t(e,r,n,o)})}return n=n?n.then(o,o):o()}this._invoke=o}_(S.prototype);S.prototype[u]=function(){return this};s.AsyncIterator=S;s.async=function(e,t,n,r){var o=new S(f(e,t,n,r));return s.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})};function O(e,t,n){var r=d;return function o(a,i){if(r===h)throw new Error("Generator is already running");if(r===y){if("throw"===a)throw i;return R()}n.method=a;n.arg=i;while(true){var u=n.delegate;if(u){var l=P(u,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d){r=y;throw n.arg}n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var c=p(e,t,n);if("normal"===c.type){r=n.done?y:v;if(c.arg===m)continue;return{value:c.arg,done:n.done}}if("throw"===c.type){r=y;n.method="throw";n.arg=c.arg}}}}function P(e,t){var n=e.iterator[t.method];if(n===o){t.delegate=null;if("throw"===t.method){if(e.iterator.return){t.method="return";t.arg=o;P(e,t);if("throw"===t.method)return m}t.method="throw";t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var r=p(n,e.iterator,t.arg);if("throw"===r.type){t.method="throw";t.arg=r.arg;t.delegate=null;return m}var a=r.arg;if(!a){t.method="throw";t.arg=new TypeError("iterator result is not an object");t.delegate=null;return m}if(!a.done)return a;t[e.resultName]=a.value;t.next=e.nextLoc;if("return"!==t.method){t.method="next";t.arg=o}t.delegate=null;return m}_(E);E[l]="Generator";E[i]=function(){return this};E.toString=function(){return"[object Generator]"};function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]);if(2 in e){t.finallyLoc=e[2];t.afterLoc=e[3]}this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal";delete t.arg;e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}];e.forEach(T,this);this.reset(true)}s.keys=function(e){var t=[];for(var n in e)t.push(n);t.reverse();return function n(){while(t.length){var r=t.pop();if(r in e){n.value=r;n.done=false;return n}}n.done=true;return n}};function I(e){if(e){var t=e[i];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){while(++n=0;--a){var i=this.tryEntries[a];var u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc");var c=r.call(i,"finallyLoc");if(l&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e){this.complete(n.completion,n.afterLoc);j(n);return m}}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){this.delegate={iterator:I(e),resultName:t,nextLoc:n};"next"===this.method&&(this.arg=o);return m}}}(function(){return this}()||Function("return this")())},function(e,t,n){n(43);n(32);e.exports=n(157)},function(e,t,n){"use strict";var r=n(154);var o=n(105);var a=n(31);var i=n(25);e.exports=n(78)(Array,"Array",function(e,t){this._t=i(e);this._i=0;this._k=t},function(){var e=this._t;var t=this._k;var n=this._i++;if(!e||n>=e.length){this._t=void 0;return o(1)}if("keys"==t)return o(0,n);if("values"==t)return o(0,e[n]);return o(0,[n,e[n]])},"values");a.Arguments=a.Array;r("keys");r("values");r("entries")},function(e,t){e.exports=function(){}},function(e,t,n){"use strict";var r=n(55);var o=n(38);var a=n(41);var i={};n(21)(i,n(5)("iterator"),function(){return this});e.exports=function(e,t,n){e.prototype=r(i,{next:o(1,n)});a(e,t+" Iterator")}},function(e,t,n){var r=n(74);var o=n(65);e.exports=function(e){return function(t,n){var a=String(o(t));var i=r(n);var u=a.length;var l,c;if(i<0||i>=u)return e?"":void 0;l=a.charCodeAt(i);return l<55296||l>56319||i+1===u||(c=a.charCodeAt(i+1))<56320||c>57343?e?a.charAt(i):l:e?a.slice(i,i+2):c-56320+(l-55296<<10)+65536}}},function(e,t,n){var r=n(14);var o=n(79);e.exports=n(1).getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},function(e,t,n){n(80);n(32);n(43);n(159);n(163);n(164);e.exports=n(1).Promise},function(e,t,n){"use strict";var r=n(40);var o=n(3);var a=n(19);var i=n(57);var u=n(4);var l=n(11);var c=n(39);var s=n(81);var f=n(45);var p=n(109);var d=n(110).set;var v=n(161)();var h=n(82);var y=n(111);var m=n(162);var g=n(112);var b="Promise";var w=o.TypeError;var x=o.process;var C=x&&x.versions;var k=C&&C.v8||"";var E=o[b];var _="process"==i(x);var S=function(){};var O,P,T,j;var N=P=h.f;var I=!!function(){try{var e=E.resolve(1);var t=(e.constructor={})[n(5)("species")]=function(e){e(S,S)};return(_||"function"==typeof PromiseRejectionEvent)&&e.then(S)instanceof t&&0!==k.indexOf("6.6")&&-1===m.indexOf("Chrome/66")}catch(e){}}();var R=function(e){var t;return!(!l(e)||"function"!=typeof(t=e.then))&&t};var F=function(e,t){if(e._n)return;e._n=true;var n=e._c;v(function(){var r=e._v;var o=1==e._s;var a=0;var i=function(t){var n=o?t.ok:t.fail;var a=t.resolve;var i=t.reject;var u=t.domain;var l,c,s;try{if(n){if(!o){2==e._h&&D(e);e._h=1}if(true===n)l=r;else{u&&u.enter();l=n(r);if(u){u.exit();s=true}}l===t.promise?i(w("Promise-chain cycle")):(c=R(l))?c.call(l,a,i):a(l)}else i(r)}catch(e){u&&!s&&u.exit();i(e)}};while(n.length>a)i(n[a++]);e._c=[];e._n=false;t&&!e._h&&M(e)})};var M=function(e){d.call(o,function(){var t=e._v;var n=A(e);var r,a,i;if(n){r=y(function(){_?x.emit("unhandledRejection",t,e):(a=o.onunhandledrejection)?a({promise:e,reason:t}):(i=o.console)&&i.error&&i.error("Unhandled promise rejection",t)});e._h=_||A(e)?2:1}e._a=void 0;if(n&&r.e)throw r.v})};var A=function(e){return 1!==e._h&&0===(e._a||e._c).length};var D=function(e){d.call(o,function(){var t;_?x.emit("rejectionHandled",e):(t=o.onrejectionhandled)&&t({promise:e,reason:e._v})})};var U=function(e){var t=this;if(t._d)return;t._d=true;t=t._w||t;t._v=e;t._s=2;t._a||(t._a=t._c.slice());F(t,true)};var L=function(e){var t=this;var n;if(t._d)return;t._d=true;t=t._w||t;try{if(t===e)throw w("Promise can't be resolved itself");if(n=R(e))v(function(){var r={_w:t,_d:false};try{n.call(e,a(L,r,1),a(U,r,1))}catch(e){U.call(r,e)}});else{t._v=e;t._s=1;F(t,false)}}catch(e){U.call({_w:t,_d:false},e)}};if(!I){E=function e(t){s(this,E,b,"_h");c(t);O.call(this);try{t(a(L,this,1),a(U,this,1))}catch(e){U.call(this,e)}};O=function e(t){this._c=[];this._a=void 0;this._s=0;this._d=false;this._v=void 0;this._h=0;this._n=false};O.prototype=n(83)(E.prototype,{then:function e(t,n){var r=N(p(this,E));r.ok="function"!=typeof t||t;r.fail="function"==typeof n&&n;r.domain=_?x.domain:void 0;this._c.push(r);this._a&&this._a.push(r);this._s&&F(this,false);return r.promise},catch:function(e){return this.then(void 0,e)}});T=function(){var e=new O;this.promise=e;this.resolve=a(L,e,1);this.reject=a(U,e,1)};h.f=N=function(e){return e===E||e===j?new T(e):P(e)}}u(u.G+u.W+u.F*!I,{Promise:E});n(41)(E,b);n(113)(b);j=n(1)[b];u(u.S+u.F*!I,b,{reject:function e(t){var n=N(this);var r=n.reject;r(t);return n.promise}});u(u.S+u.F*(r||!I),b,{resolve:function e(t){return g(r&&this===j?E:this,t)}});u(u.S+u.F*!(I&&n(114)(function(e){E.all(e)["catch"](S)})),b,{all:function e(t){var n=this;var r=N(n);var o=r.resolve;var a=r.reject;var i=y(function(){var e=[];var r=0;var i=1;f(t,false,function(t){var u=r++;var l=false;e.push(void 0);i++;n.resolve(t).then(function(t){if(l)return;l=true;e[u]=t;--i||o(e)},a)});--i||o(e)});i.e&&a(i.v);return r.promise},race:function e(t){var n=this;var r=N(n);var o=r.reject;var a=y(function(){f(t,false,function(e){n.resolve(e).then(r.resolve,o)})});a.e&&o(a.v);return r.promise}})},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(3);var o=n(110).set;var a=r.MutationObserver||r.WebKitMutationObserver;var i=r.process;var u=r.Promise;var l="process"==n(37)(i);e.exports=function(){var e,t,n;var c=function(){var r,o;l&&(r=i.domain)&&r.exit();while(e){o=e.fn;e=e.next;try{o()}catch(r){e?n():t=void 0;throw r}}t=void 0;r&&r.enter()};if(l)n=function(){i.nextTick(c)};else if(!a||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var s=u.resolve(void 0);n=function(){s.then(c)}}else n=function(){o.call(r,c)};else{var f=true;var p=document.createTextNode("");new a(c).observe(p,{characterData:true});n=function(){p.data=f=!f}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o);if(!e){e=o;n()}t=o}}},function(e,t,n){var r=n(3);var o=r.navigator;e.exports=o&&o.userAgent||""},function(e,t,n){"use strict";var r=n(4);var o=n(1);var a=n(3);var i=n(109);var u=n(112);r(r.P+r.R,"Promise",{finally:function(e){var t=i(this,o.Promise||a.Promise);var n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then(function(){return n})}:e,n?function(n){return u(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(4);var o=n(82);var a=n(111);r(r.S,"Promise",{try:function(e){var t=o.f(this);var n=a(e);(n.e?t.reject:t.resolve)(n.v);return t.promise}})},function(e,t,n){"use strict";var r=n(84),o=n(0),a=n(166),i=n(115),u=n(85),l=n(167),c=n(168),s=n(169),f=n(116);function p(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,o=0;othis.eventPool.length&&this.eventPool.push(e)}function he(e){e.eventPool=[];e.getPooled=de;e.release=ve}var ye=pe.extend({data:null}),me=pe.extend({data:null}),ge=[9,13,27,32],be=a.canUseDOM&&"CompositionEvent"in window,we=null;a.canUseDOM&&"documentMode"in document&&(we=document.documentMode);var xe=a.canUseDOM&&"TextEvent"in window&&!we,Ce=a.canUseDOM&&(!be||we&&8=we),ke=String.fromCharCode(32),Ee={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},_e=!1;function Se(e,t){switch(e){case"topKeyUp":return-1!==ge.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function Oe(e){e=e.detail;return"object"===typeof e&&"data"in e?e.data:null}var Pe=!1;function Te(e,t){switch(e){case"topCompositionEnd":return Oe(t);case"topKeyPress":if(32!==t.which)return null;_e=!0;return ke;case"topTextInput":return e=t.data,e===ke&&_e?null:e;default:return null}}function je(e,t){if(Pe)return"topCompositionEnd"===e||!be&&Se(e,t)?(e=le(),ue._root=null,ue._startText=null,ue._fallbackText=null,Pe=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1t}return!1}function Ct(e,t,n,r,o){this.acceptsBooleans=2===t||3===t||4===t;this.attributeName=r;this.attributeNamespace=o;this.mustUseProperty=n;this.propertyName=e;this.type=t}var kt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kt[e]=new Ct(e,0,!1,e,null)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kt[t]=new Ct(t,1,!1,e[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kt[e]=new Ct(e,2,!1,e.toLowerCase(),null)});["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(e){kt[e]=new Ct(e,2,!1,e,null)});"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){kt[e]=new Ct(e,3,!1,e.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(e){kt[e]=new Ct(e,3,!0,e.toLowerCase(),null)});["capture","download"].forEach(function(e){kt[e]=new Ct(e,4,!1,e.toLowerCase(),null)});["cols","rows","size","span"].forEach(function(e){kt[e]=new Ct(e,6,!1,e.toLowerCase(),null)});["rowSpan","start"].forEach(function(e){kt[e]=new Ct(e,5,!1,e.toLowerCase(),null)});var Et=/[\-:]([a-z])/g;function _t(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Et,_t);kt[t]=new Ct(t,1,!1,e,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Et,_t);kt[t]=new Ct(t,1,!1,e,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Et,_t);kt[t]=new Ct(t,1,!1,e,"http://www.w3.org/XML/1998/namespace")});kt.tabIndex=new Ct("tabIndex",1,!1,"tabindex",null);function St(e,t,n,r){var o=kt.hasOwnProperty(t)?kt[t]:null;var a=null!==o?0===o.type:!r&&(2_n.length&&_n.push(e)}}}var Rn=Object.freeze({get _enabled(){return On},setEnabled:Pn,isEnabled:function(){return On},trapBubbledEvent:Tn,trapCapturedEvent:jn,dispatchEvent:In});function Fn(e,t){var n={};n[e.toLowerCase()]=t.toLowerCase();n["Webkit"+e]="webkit"+t;n["Moz"+e]="moz"+t;n["ms"+e]="MS"+t;n["O"+e]="o"+t.toLowerCase();return n}var Mn={animationend:Fn("Animation","AnimationEnd"),animationiteration:Fn("Animation","AnimationIteration"),animationstart:Fn("Animation","AnimationStart"),transitionend:Fn("Transition","TransitionEnd")},An={},Dn={};a.canUseDOM&&(Dn=document.createElement("div").style,"AnimationEvent"in window||(delete Mn.animationend.animation,delete Mn.animationiteration.animation,delete Mn.animationstart.animation),"TransitionEvent"in window||delete Mn.transitionend.transition);function Un(e){if(An[e])return An[e];if(!Mn[e])return e;var t=Mn[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Dn)return An[e]=t[n];return e}var Ln={topAnimationEnd:Un("animationend"),topAnimationIteration:Un("animationiteration"),topAnimationStart:Un("animationstart"),topBlur:"blur",topCancel:"cancel",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoad:"load",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:Un("transitionend"),topWheel:"wheel"},zn={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},Hn={},Wn=0,qn="_reactListenersID"+(""+Math.random()).slice(2);function Bn(e){Object.prototype.hasOwnProperty.call(e,qn)||(e[qn]=Wn++,Hn[e[qn]]={});return Hn[e[qn]]}function Vn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Kn(e,t){var n=Vn(e);e=0;for(var r;n;){if(3===n.nodeType){r=e+n.textContent.length;if(e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Vn(n)}}function $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var Gn=a.canUseDOM&&"documentMode"in document&&11>=document.documentMode,Qn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},Yn=null,Xn=null,Jn=null,Zn=!1;function er(e,t){if(Zn||null==Yn||Yn!==l())return null;var n=Yn;"selectionStart"in n&&$n(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?(n=window.getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}):n=void 0;return Jn&&c(Jn,n)?null:(Jn=n,e=pe.getPooled(Qn.select,Xn,e,t),e.type="select",e.target=Yn,ne(e),e)}var tr={eventTypes:Qn,extractEvents:function(e,t,n,r){var o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument,a;if(!(a=!o)){e:{o=Bn(o);a=k.onSelect;for(var i=0;it.expirationTime)&&(e.expirationTime=t.expirationTime)}var yr=void 0,mr=void 0;function gr(e){yr=mr=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=vr(null));null!==t?(e=t.updateQueue,null===e&&(e=t.updateQueue=vr(null))):e=null;yr=n;mr=e!==n?e:null}function br(e,t){gr(e);e=yr;var n=mr;null===n?hr(e,t):null===e.last||null===n.last?(hr(e,t),hr(n,t)):(hr(e,t),n.last=t)}function wr(e,t,n,r){e=e.partialState;return"function"===typeof e?e.call(t,n,r):e}function xr(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1});n.expirationTime=0;n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var u=!0,l=n.first,c=!1;null!==l;){var s=l.expirationTime;if(s>a){var f=n.expirationTime;(0===f||f>s)&&(n.expirationTime=s);c||(c=!0,n.baseState=e)}else{c||(n.first=l.next,null===n.first&&(n.last=null));l.isReplace?(e=wr(l,r,e,o),u=!0):(s=wr(l,r,e,o))&&(e=u?i({},e,s):i(e,s),u=!1);l.isForced&&(n.hasForceUpdate=!0);null!==l.callback&&(s=n.callbackList,null===s&&(s=n.callbackList=[]),s.push(l));null!==l.capturedValue&&(s=n.capturedValues,null===s?n.capturedValues=[l.capturedValue]:s.push(l.capturedValue))}l=l.next}null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null);c||(n.baseState=e);return e}function Cr(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;eh?(y=p,p=null):y=p.sibling;var m=d(o,p,u[h],l);if(null===m){null===p&&(p=y);break}e&&p&&null===m.alternate&&t(o,p);i=a(m,i,h);null===s?c=m:s.sibling=m;s=m;p=y}if(h===u.length)return n(o,p),c;if(null===p){for(;hy?(m=h,h=null):m=h.sibling;var b=d(o,h,g.value,l);if(null===b){h||(h=m);break}e&&h&&null===b.alternate&&t(o,h);i=a(b,i,y);null===s?c=b:s.sibling=b;s=b;h=m}if(g.done)return n(o,h),c;if(null===h){for(;!g.done;y++,g=u.next())g=f(o,g.value,l),null!==g&&(i=a(g,i,y),null===s?c=g:s.sibling=g,s=g);return c}for(h=r(o,h);!g.done;y++,g=u.next())if(g=v(h,o,y,g.value,l),null!==g){e&&null!==g.alternate&&h["delete"](null===g.key?y:g.key);i=a(g,i,y);null===s?c=g:s.sibling=g;s=g}e&&h.forEach(function(e){return t(o,e)});return c}return function(e,r,a,u){"object"===typeof a&&null!==a&&a.type===it&&null===a.key&&(a=a.props.children);var l="object"===typeof a&&null!==a;if(l)switch(a.$$typeof){case nt:e:{var c=a.key;for(l=r;null!==l;){if(l.key===c){if(10===l.tag?a.type===it:l.type===a.type){n(e,l.sibling);r=o(l,a.type===it?a.props.children:a.props,u);r.ref=_r(e,l,a);r["return"]=e;e=r;break e}n(e,l);break}t(e,l);l=l.sibling}a.type===it?(r=ar(a.props.children,e.mode,u,a.key),r["return"]=e,e=r):(u=or(a,e.mode,u),u.ref=_r(e,r,a),u["return"]=e,e=u)}return i(e);case at:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling);r=o(r,a.children||[],u);r["return"]=e;e=r;break e}n(e,r);break}t(e,r);r=r.sibling}r=ur(a,e.mode,u);r["return"]=e;e=r}return i(e)}if("string"===typeof a||"number"===typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),r=o(r,a,u),r["return"]=e,e=r):(n(e,r),r=ir(a,e.mode,u),r["return"]=e,e=r),i(e);if(Er(a))return h(e,r,a,u);if(dt(a))return y(e,r,a,u);l&&Sr(e,a);if("undefined"===typeof a)switch(e.tag){case 2:case 1:u=e.type,p("152",u.displayName||u.name||"Component")}return n(e,r)}}var Pr=Or(!0),Tr=Or(!1);function jr(e,t,n,r,o,a,u){function l(e,t,n){c(e,t,n,t.expirationTime)}function c(e,t,n,r){t.child=null===e?Tr(t,null,n,r):Pr(t,e.child,n,r)}function s(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function f(e,t,n,r,o,a){s(e,t);if(!n&&!o)return r&&O(t,!1),y(e,t);n=t.stateNode;et.current=t;var i=o?null:n.render();t.effectTag|=1;o&&(c(e,t,null,a),t.child=null);c(e,t,i,a);t.memoizedState=n.state;t.memoizedProps=n.props;r&&O(t,!0);return t.child}function d(e){var t=e.stateNode;t.pendingContext?S(e,t.pendingContext,t.pendingContext!==t.context):t.context&&S(e,t.context,!1);w(e,t.containerInfo)}function v(e,t,n,r){var o=e.child;for(null!==o&&(o["return"]=e);null!==o;){switch(o.tag){case 12:var a=0|o.stateNode;if(o.type===t&&0!==(a&n)){for(a=o;null!==a;){var i=a.alternate;if(0===a.expirationTime||a.expirationTime>r)a.expirationTime=r,null!==i&&(0===i.expirationTime||i.expirationTime>r)&&(i.expirationTime=r);else{if(null===i||!(0===i.expirationTime||i.expirationTime>r))break;i.expirationTime=r}a=a["return"]}a=null}else a=o.child;break;case 13:a=o.type===e.type?null:o.child;break;default:a=o.child}if(null!==a)a["return"]=o;else for(a=o;null!==a;){if(a===e){a=null;break}o=a.sibling;if(null!==o){a=o;break}a=a["return"]}o=a}}function h(e,t,n){var r=t.type._context,o=t.pendingProps,a=t.memoizedProps;if(!E()&&a===o)return t.stateNode=0,x(t),y(e,t);var i=o.value;t.memoizedProps=o;if(null===a)i=1073741823;else if(a.value===o.value){if(a.children===o.children)return t.stateNode=0,x(t),y(e,t);i=0}else{var u=a.value;if(u===i&&(0!==u||1/u===1/i)||u!==u&&i!==i){if(a.children===o.children)return t.stateNode=0,x(t),y(e,t);i=0}else if(i="function"===typeof r._calculateChangedBits?r._calculateChangedBits(u,i):1073741823,i|=0,0===i){if(a.children===o.children)return t.stateNode=0,x(t),y(e,t)}else v(t,r,i,n)}t.stateNode=i;x(t);l(e,t,o.children);return t.child}function y(e,t){null!==e&&t.child!==e.child?p("153"):void 0;if(null!==t.child){e=t.child;var n=rr(e,e.pendingProps,e.expirationTime);t.child=n;for(n["return"]=t;null!==e.sibling;)e=e.sibling,n=n.sibling=rr(e,e.pendingProps,e.expirationTime),n["return"]=t;n.sibling=null}return t.child}var m=e.shouldSetTextContent,g=e.shouldDeprioritizeSubtree,b=t.pushHostContext,w=t.pushHostContainer,x=r.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,E=n.hasContextChanged,_=n.pushContextProvider,S=n.pushTopLevelContextObject,O=n.invalidateContextProvider,P=o.enterHydrationState,T=o.resetHydrationState,j=o.tryToClaimNextHydratableInstance;e=kr(n,a,u,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t});var N=e.adoptClassInstance,I=e.callGetDerivedStateFromProps,R=e.constructClassInstance,F=e.mountClassInstance,M=e.resumeMountClassInstance,A=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:d(t);break;case 2:_(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:x(t)}return null}switch(t.tag){case 0:null!==e?p("155"):void 0;var r=t.type,o=t.pendingProps,a=k(t);a=C(t,a);r=r(o,a);t.effectTag|=1;"object"===typeof r&&null!==r&&"function"===typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"===typeof a.getDerivedStateFromProps&&(o=I(t,r,o,t.memoizedState),null!==o&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=_(t),N(t,r),F(t,n),e=f(e,t,!0,o,!1,n)):(t.tag=1,l(e,t,r),t.memoizedProps=o,e=t.child);return e;case 1:return o=t.type,n=t.pendingProps,E()||t.memoizedProps!==n?(r=k(t),r=C(t,r),o=o(n,r),t.effectTag|=1,l(e,t,o),t.memoizedProps=n,e=t.child):e=y(e,t),e;case 2:o=_(t);null===e?null===t.stateNode?(R(t,t.pendingProps),F(t,n),r=!0):r=M(t,n):r=A(e,t,n);a=!1;var u=t.updateQueue;null!==u&&null!==u.capturedValues&&(a=r=!0);return f(e,t,r,o,a,n);case 3:e:if(d(t),r=t.updateQueue,null!==r){a=t.memoizedState;o=xr(e,t,r,null,null,n);t.memoizedState=o;r=t.updateQueue;if(null!==r&&null!==r.capturedValues)r=null;else{if(a===o){T();e=y(e,t);break e}r=o.element}a=t.stateNode;(null===e||null===e.child)&&a.hydrate&&P(t)?(t.effectTag|=2,t.child=Tr(t,null,r,n)):(T(),l(e,t,r));t.memoizedState=o;e=t.child}else T(),e=y(e,t);return e;case 5:e:{b(t);null===e&&j(t);o=t.type;u=t.memoizedProps;r=t.pendingProps;a=null!==e?e.memoizedProps:null;if(!E()&&u===r){(u=1&t.mode&&g(o,r))&&(t.expirationTime=1073741823);if(!u||1073741823!==n){e=y(e,t);break e}}u=r.children;m(o,r)?u=null:a&&m(o,a)&&(t.effectTag|=16);s(e,t);1073741823!==n&&1&t.mode&&g(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(l(e,t,u),t.memoizedProps=r,e=t.child)}return e;case 6:return null===e&&j(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,E()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?Tr(t,t.stateNode,r,n):Pr(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,E()||t.memoizedProps!==o?(null===e?t.child=Pr(t,null,o,n):l(e,t,o),t.memoizedProps=o,e=t.child):e=y(e,t),e;case 14:return n=t.type.render,n=n(t.pendingProps,t.ref),l(e,t,n),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,E()||t.memoizedProps!==n?(l(e,t,n),t.memoizedProps=n,e=t.child):e=y(e,t),e;case 11:return n=t.pendingProps.children,E()||null!==n&&t.memoizedProps!==n?(l(e,t,n),t.memoizedProps=n,e=t.child):e=y(e,t),e;case 13:return h(e,t,n);case 12:e:{r=t.type;a=t.pendingProps;u=t.memoizedProps;o=r._currentValue;var c=r._changedBits;if(E()||0!==c||u!==a){t.memoizedProps=a;var S=a.unstable_observedBits;void 0!==S&&null!==S||(S=1073741823);t.stateNode=S;if(0!==(c&S))v(t,r,c,n);else if(u===a){e=y(e,t);break e}n=a.children;n=n(o);l(e,t,n);e=t.child}else e=y(e,t)}return e;default:p("156")}}}}function Nr(e,t,n,r,o){function a(e){e.effectTag|=4}var i=e.createInstance,u=e.createTextInstance,l=e.appendInitialChild,c=e.finalizeInitialChildren,s=e.prepareUpdate,f=e.persistence,d=t.getRootHostContainer,v=t.popHostContext,h=t.getHostContext,y=t.popHostContainer,m=n.popContextProvider,g=n.popTopLevelContextObject,b=r.popProvider,w=o.prepareToHydrateHostInstance,x=o.prepareToHydrateHostTextInstance,C=o.popHydrationState,k=void 0,E=void 0,_=void 0;e.mutation?(k=function(){},E=function(e,t,n){(t.updateQueue=n)&&a(t)},_=function(e,t,n,r){n!==r&&a(t)}):p(f?"235":"236");return{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return m(t),e=t.stateNode,r=t.updateQueue,null!==r&&null!==r.capturedValues&&(t.effectTag&=-65,"function"===typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:y(t);g(t);r=t.stateNode;r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null);null!==e&&null!==e.child||(C(t),t.effectTag&=-3);k(t);e=t.updateQueue;null!==e&&null!==e.capturedValues&&(t.effectTag|=256);return null;case 5:v(t);n=d();var o=t.type;if(null!==e&&null!=t.stateNode){var f=e.memoizedProps,S=t.stateNode,O=h();S=s(S,o,f,r,n,O);E(e,t,S,o,f,r,n,O);e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode?p("166"):void 0,null;e=h();if(C(t))w(t,n,e)&&a(t);else{f=i(o,r,n,e,t);e:for(O=t.child;null!==O;){if(5===O.tag||6===O.tag)l(f,O.stateNode);else if(4!==O.tag&&null!==O.child){O.child["return"]=O;O=O.child;continue}if(O===t)break;for(;null===O.sibling;){if(null===O["return"]||O["return"]===t)break e;O=O["return"]}O.sibling["return"]=O["return"];O=O.sibling}c(f,o,r,n,e)&&a(t);t.stateNode=f}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)_(e,t,e.memoizedProps,r);else{if("string"!==typeof r)return null===t.stateNode?p("166"):void 0,null;e=d();n=h();C(t)?x(t)&&a(t):t.stateNode=u(r,e,n,t)}return null;case 7:(r=t.memoizedProps)?void 0:p("165");t.tag=8;o=[];e:for((f=t.stateNode)&&(f["return"]=t);null!==f;){if(5===f.tag||6===f.tag||4===f.tag)p("247");else if(9===f.tag)o.push(f.pendingProps.value);else if(null!==f.child){f.child["return"]=f;f=f.child;continue}for(;null===f.sibling;){if(null===f["return"]||f["return"]===t)break e;f=f["return"]}f.sibling["return"]=f["return"];f=f.sibling}f=r.handler;r=f(r.props,o);t.child=Pr(t,null!==e?e.child:null,r,n);return t.child;case 8:return t.tag=7,null;case 9:return null;case 14:return null;case 10:return null;case 11:return null;case 4:return y(t),k(t),null;case 13:return b(t),null;case 12:return null;case 0:p("167");default:p("156")}}}}function Ir(e,t,n,r,o){var a=e.popHostContainer,i=e.popHostContext,u=t.popContextProvider,l=t.popTopLevelContextObject,c=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512;t.firstEffect=t.lastEffect=null;t={value:n,source:t,stack:ht(t)};do{switch(e.tag){case 3:gr(e);e.updateQueue.capturedValues=[t];e.effectTag|=1024;return;case 2:if(n=e.stateNode,0===(64&e.effectTag)&&null!==n&&"function"===typeof n.componentDidCatch&&!o(n)){gr(e);n=e.updateQueue;var r=n.capturedValues;null===r?n.capturedValues=[t]:r.push(t);e.effectTag|=1024;return}}e=e["return"]}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:u(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return a(e),l(e),t=e.effectTag,1024&t?(e.effectTag=-1025&t|64,e):null;case 5:return i(e),null;case 4:return a(e),null;case 13:return c(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:u(e);break;case 3:a(e);l(e);break;case 5:i(e);break;case 4:a(e);break;case 13:c(e)}}}}function Rr(e,t){var n=t.source;null===t.stack&&ht(n);null!==n&&vt(n);t=t.value;null!==e&&2===e.tag&&vt(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}function Fr(e,t,n,r,o){function a(e){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function i(e){"function"===typeof dr&&dr(e);switch(e.tag){case 2:a(e);var n=e.stateNode;if("function"===typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:a(e);break;case 7:u(e.stateNode);break;case 4:f&&c(e)}}function u(e){for(var t=e;;)if(i(t),null===t.child||f&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t["return"]||t["return"]===e)return;t=t["return"]}t.sibling["return"]=t["return"];t=t.sibling}else t.child["return"]=t,t=t.child}function l(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,o=void 0;;){if(!n){n=t["return"];e:for(;;){null===n?p("160"):void 0;switch(n.tag){case 5:r=n.stateNode;o=!1;break e;case 3:r=n.stateNode.containerInfo;o=!0;break e;case 4:r=n.stateNode.containerInfo;o=!0;break e}n=n["return"]}n=!0}if(5===t.tag||6===t.tag)u(t),o?C(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:i(t),null!==t.child){t.child["return"]=t;t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t["return"]||t["return"]===e)return;t=t["return"];4===t.tag&&(n=!1)}t.sibling["return"]=t["return"];t=t.sibling}}var s=e.getPublicInstance,f=e.mutation;e=e.persistence;f||p(e?"235":"236");var d=f.commitMount,v=f.commitUpdate,h=f.resetTextContent,y=f.commitTextUpdate,m=f.appendChild,g=f.appendChildToContainer,b=f.insertBefore,w=f.insertInContainerBefore,x=f.removeChild,C=f.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;e=t.stateNode;e.props=t.memoizedProps;e.state=t.memoizedState;t=e.getSnapshotBeforeUpdate(n,r);e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:p("163")}},commitResetTextContent:function(e){h(e.stateNode)},commitPlacement:function(e){e:{for(var t=e["return"];null!==t;){if(l(t)){var n=t;break e}t=t["return"]}p("160");n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode;r=!1;break;case 3:t=n.stateNode.containerInfo;r=!0;break;case 4:t=n.stateNode.containerInfo;r=!0;break;default:p("161")}16&n.effectTag&&(h(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n["return"]||l(n["return"])){n=null;break e}n=n["return"]}n.sibling["return"]=n["return"];for(n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child["return"]=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?r?w(t,o.stateNode,n):b(t,o.stateNode,n):r?g(t,o.stateNode):m(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child["return"]=o;o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o["return"]||o["return"]===e)return;o=o["return"]}o.sibling["return"]=o["return"];o=o.sibling}},commitDeletion:function(e){c(e);e["return"]=null;e.child=null;e.alternate&&(e.alternate.child=null,e.alternate["return"]=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null;null!==a&&v(n,a,o,e,r,t)}break;case 6:null===t.stateNode?p("162"):void 0;n=t.memoizedProps;y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:p("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:e=n.stateNode;if(4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState;e.props=n.memoizedProps;e.state=n.memoizedState;e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}n=n.updateQueue;null!==n&&Cr(n,e);break;case 3:t=n.updateQueue;if(null!==t){e=null;if(null!==n.child)switch(n.child.tag){case 5:e=s(n.child.stateNode);break;case 2:e=n.child.stateNode}Cr(t,e)}break;case 5:e=n.stateNode;null===t&&4&n.effectTag&&d(e,n.type,n.memoizedProps,n);break;case 6:break;case 4:break;default:p("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;null===r||null===r.capturedValues?p("264"):void 0;var a=r.capturedValues;r.capturedValues=null;"function"!==typeof n.getDerivedStateFromCatch&&o(t);t.props=e.memoizedProps;t.state=e.memoizedState;for(n=0;nt||(n.current=e[t],e[t]=null,t--)},push:function(n,r){t++;e[t]=n.current;n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}function Hr(e){function t(){if(null!==Z)for(var e=Z["return"];null!==e;)I(e),e=e["return"];ee=null;te=0;Z=null;oe=!1}function n(e){return null!==ae&&ae.has(e)}function r(e){for(;;){var t=e.alternate,n=e["return"],r=e.sibling;if(0===(512&e.effectTag)){t=T(t,e,te);var o=e;if(1073741823===te||1073741823!==o.expirationTime){e:switch(o.tag){case 3:case 2:var a=o.updateQueue;a=null===a?0:a.expirationTime;break e;default:a=0}for(var i=o.child;null!==i;)0!==i.expirationTime&&(0===a||a>i.expirationTime)&&(a=i.expirationTime),i=i.sibling;o.expirationTime=a}if(null!==t)return t;null!==n&&0===(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1de)&&(de=e);return e}function c(e,n){e:{for(;null!==e;){(0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n);null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n);if(null===e["return"]){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!J&&0!==te&&nCe&&p("185")}e=e["return"]}n=void 0}return n}function s(){Q=W()-$;return G=2+(Q/10|0)}function f(e,t,n,r,o){var a=X;X=1;try{return e(t,n,r,o)}finally{X=a}}function d(e){if(0!==le){if(e>le)return;B(ce)}var t=W()-$;le=e;ce=q(y,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===ue?(ie=ue=e,e.nextScheduledRoot=e):(ue=ue.nextScheduledRoot=e,ue.nextScheduledRoot=ie);else{var n=e.remainingExpirationTime;(0===n||t=pe)&&(!ve||s()>=pe);)w(fe,pe,!ve),h();else for(;null!==fe&&0!==pe&&(0===e||e>=pe);)w(fe,pe,!1),h();null!==me&&(le=0,ce=-1);0!==pe&&d(pe);me=null;ve=!1;b()}function b(){ke=0;if(null!==xe){var e=xe;xe=null;for(var t=0;tEe)&&(ve=!0)}function k(e){null===fe?p("246"):void 0;fe.remainingExpirationTime=0;he||(he=!0,ye=e)}var E=zr(),_=Ar(e,E),S=Ur(E);E=Lr(E);var O=Dr(e),P=jr(e,_,S,E,O,c,l).beginWork,T=Nr(e,_,S,E,O).completeWork;_=Ir(_,S,E,c,n);var j=_.throwException,N=_.unwindWork,I=_.unwindInterruptedWork;_=Fr(e,u,c,l,function(e){null===ae?ae=new Set([e]):ae.add(e)},s);var R=_.commitBeforeMutationLifeCycles,F=_.commitResetTextContent,M=_.commitPlacement,A=_.commitDeletion,D=_.commitWork,U=_.commitLifeCycles,L=_.commitErrorLogging,z=_.commitAttachRef,H=_.commitDetachRef,W=e.now,q=e.scheduleDeferredCallback,B=e.cancelDeferredCallback,V=e.prepareForCommit,K=e.resetAfterCommit,$=W(),G=2,Q=$,Y=0,X=0,J=!1,Z=null,ee=null,te=0,ne=null,re=!1,oe=!1,ae=null,ie=null,ue=null,le=0,ce=-1,se=!1,fe=null,pe=0,de=0,ve=!1,he=!1,ye=null,me=null,ge=!1,be=!1,we=!1,xe=null,Ce=1e3,ke=0,Ee=1;return{recalculateCurrentTime:s,computeExpirationForFiber:l,scheduleWork:c,requestWork:v,flushRoot:function(e,t){se?p("253"):void 0;fe=e;pe=t;w(e,t,!1);m();b()},batchedUpdates:function(e,t){var n=ge;ge=!0;try{return e(t)}finally{(ge=n)||se||m()}},unbatchedUpdates:function(e,t){if(ge&&!be){be=!0;try{return e(t)}finally{be=!1}}return e(t)},flushSync:function(e,t){se?p("187"):void 0;var n=ge;ge=!0;try{return f(e,t)}finally{ge=n,m()}},flushControlled:function(e){var t=ge;ge=!0;try{f(e)}finally{(ge=t)||se||g(1,!1,null)}},deferredUpdates:function(e){var t=X;X=25*(1+((s()+500)/25|0));try{return e()}finally{X=t}},syncUpdates:f,interactiveUpdates:function(e,t,n){if(we)return e(t,n);ge||se||0===de||(g(de,!1,null),de=0);var r=we,o=ge;ge=we=!0;try{return e(t,n)}finally{we=r,(ge=o)||se||m()}},flushInteractiveUpdates:function(){se||0===de||(g(de,!1,null),de=0)},computeUniqueAsyncExpiration:function(){var e=25*(1+((s()+500)/25|0));e<=Y&&(e=Y+1);return Y=e},legacyContext:S}}function Wr(e){function t(e,t,n,r,o,i){r=t.current;if(n){n=n._reactInternalFiber;var u=l(n);n=c(n)?s(n,u):u}else n=f;null===t.context?t.context=n:t.pendingContext=n;t=i;br(r,{expirationTime:o,partialState:{element:e},callback:void 0===t?null:t,isReplace:!1,isForced:!1,capturedValue:null,next:null});a(r,o);return o}var n=e.getPublicInstance;e=Hr(e);var r=e.recalculateCurrentTime,o=e.computeExpirationForFiber,a=e.scheduleWork,u=e.legacyContext,l=u.findCurrentUnmaskedContext,c=u.isContextProvider,s=u.processChildContext;return{createContainer:function(e,t,n){t=new nr(3,null,null,t?3:0);e={current:t,containerInfo:e,pendingChildren:null,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:n,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null};return t.stateNode=e},updateContainer:function(e,n,a,i){var u=n.current,l=r();u=o(u);return t(e,n,a,l,u,i)},updateContainerAtExpirationTime:function(e,n,o,a,i){var u=r();return t(e,n,o,u,a,i)},flushRoot:e.flushRoot,requestWork:e.requestWork,computeUniqueAsyncExpiration:e.computeUniqueAsyncExpiration,batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,syncUpdates:e.syncUpdates,interactiveUpdates:e.interactiveUpdates,flushInteractiveUpdates:e.flushInteractiveUpdates,flushControlled:e.flushControlled,flushSync:e.flushSync,getPublicRootInstance:function(e){e=e.current;if(!e.child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:function(e){var t=e._reactInternalFiber;void 0===t&&("function"===typeof e.render?p("188"):p("268",Object.keys(e)));e=un(t);return null===e?null:e.stateNode},findHostInstanceWithNoPortals:function(e){e=ln(e);return null===e?null:e.stateNode},injectIntoDevTools:function(e){var t=e.findFiberByHostInstance;return fr(i({},e,{findHostInstanceByFiber:function(e){e=un(e);return null===e?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null}}))}}}var qr=Object.freeze({default:Wr}),Br=qr&&Wr||qr,Vr=Br["default"]?Br["default"]:Br;function Kr(e,t,n){var r=3=to-e){if(!(-1!==Zr&&Zr<=e)){eo||(eo=!0,requestAnimationFrame(io));return}oo.didTimeout=!0}else oo.didTimeout=!1;Zr=-1;e=Xr;Xr=null;null!==e&&e(oo)}},!1);var io=function(e){eo=!1;var t=e-to+ro;tt&&(t=8),ro=t=t.length?void 0:p("93"),t=t[0]),n=""+t),null==n&&(n=""));e._wrapperState={initialValue:""+n}}function vo(e,t){var n=t.value;null!=n&&(n=""+n,n!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n));null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function ho(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var yo={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function mo(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function go(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?mo(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var bo=void 0,wo=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}(function(e,t){if(e.namespaceURI!==yo.svg||"innerHTML"in e)e.innerHTML=t;else{bo=bo||document.createElement("div");bo.innerHTML=""+t+"";for(t=bo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function xo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var Co={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ko=["Webkit","ms","Moz","O"];Object.keys(Co).forEach(function(e){ko.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1);Co[t]=Co[e]})});function Eo(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--");var o=n;var a=t[n];o=null==a||"boolean"===typeof a||""===a?"":r||"number"!==typeof a||0===a||Co.hasOwnProperty(o)&&Co[o]?(""+a).trim():a+"px";"float"===n&&(n="cssFloat");r?e.setProperty(n,o):e[n]=o}}var _o=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function So(e,t,n){t&&(_o[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?p("137",e,n()):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?p("60"):void 0,"object"===typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML?void 0:p("61")),null!=t.style&&"object"!==typeof t.style?p("62",n()):void 0)}function Oo(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Po=u.thatReturns("");function To(e,t){e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument;var n=Bn(e);t=k[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"===typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e);return e}function No(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Io(e,t,n,r){var o=Oo(t,n);switch(t){case"iframe":case"object":Tn("topLoad","load",e);var a=n;break;case"video":case"audio":for(a in zn)zn.hasOwnProperty(a)&&Tn(a,zn[a],e);a=n;break;case"source":Tn("topError","error",e);a=n;break;case"img":case"image":case"link":Tn("topError","error",e);Tn("topLoad","load",e);a=n;break;case"form":Tn("topReset","reset",e);Tn("topSubmit","submit",e);a=n;break;case"details":Tn("topToggle","toggle",e);a=n;break;case"input":Pt(e,n);a=Ot(e,n);Tn("topInvalid","invalid",e);To(r,"onChange");break;case"option":a=lo(e,n);break;case"select":so(e,n);a=i({},n,{value:void 0});Tn("topInvalid","invalid",e);To(r,"onChange");break;case"textarea":po(e,n);a=fo(e,n);Tn("topInvalid","invalid",e);To(r,"onChange");break;default:a=n}So(t,a,Po);var l=a,c;for(c in l)if(l.hasOwnProperty(c)){var s=l[c];"style"===c?Eo(e,s,Po):"dangerouslySetInnerHTML"===c?(s=s?s.__html:void 0,null!=s&&wo(e,s)):"children"===c?"string"===typeof s?("textarea"!==t||""!==s)&&xo(e,s):"number"===typeof s&&xo(e,""+s):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(C.hasOwnProperty(c)?null!=s&&To(r,c):null!=s&&St(e,c,s,o))}switch(t){case"input":Je(e);Nt(e,n);break;case"textarea":Je(e);ho(e,n);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple;t=n.value;null!=t?co(e,!!n.multiple,t,!1):null!=n.defaultValue&&co(e,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=u)}}function Ro(e,t,n,r,o){var a=null;switch(t){case"input":n=Ot(e,n);r=Ot(e,r);a=[];break;case"option":n=lo(e,n);r=lo(e,r);a=[];break;case"select":n=i({},n,{value:void 0});r=i({},r,{value:void 0});a=[];break;case"textarea":n=fo(e,n);r=fo(e,r);a=[];break;default:"function"!==typeof n.onClick&&"function"===typeof r.onClick&&(e.onclick=u)}So(t,r,Po);t=e=void 0;var l=null;for(e in n)if(!r.hasOwnProperty(e)&&n.hasOwnProperty(e)&&null!=n[e])if("style"===e){var c=n[e];for(t in c)c.hasOwnProperty(t)&&(l||(l={}),l[t]="")}else"dangerouslySetInnerHTML"!==e&&"children"!==e&&"suppressContentEditableWarning"!==e&&"suppressHydrationWarning"!==e&&"autoFocus"!==e&&(C.hasOwnProperty(e)?a||(a=[]):(a=a||[]).push(e,null));for(e in r){var s=r[e];c=null!=n?n[e]:void 0;if(r.hasOwnProperty(e)&&s!==c&&(null!=s||null!=c))if("style"===e)if(c){for(t in c)!c.hasOwnProperty(t)||s&&s.hasOwnProperty(t)||(l||(l={}),l[t]="");for(t in s)s.hasOwnProperty(t)&&c[t]!==s[t]&&(l||(l={}),l[t]=s[t])}else l||(a||(a=[]),a.push(e,l)),l=s;else"dangerouslySetInnerHTML"===e?(s=s?s.__html:void 0,c=c?c.__html:void 0,null!=s&&c!==s&&(a=a||[]).push(e,""+s)):"children"===e?c===s||"string"!==typeof s&&"number"!==typeof s||(a=a||[]).push(e,""+s):"suppressContentEditableWarning"!==e&&"suppressHydrationWarning"!==e&&(C.hasOwnProperty(e)?(null!=s&&To(o,e),a||c===s||(a=[])):(a=a||[]).push(e,s))}l&&(a=a||[]).push("style",l);return a}function Fo(e,t,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&Tt(e,o);Oo(n,r);r=Oo(n,o);for(var a=0;ar&&(o=r,r=e,e=o);o=Kn(n,e);var a=Kn(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var i=document.createRange();i.setStart(o.node,o.offset);t.removeAllRanges();e>r?(t.addRange(i),t.extend(a.node,a.offset)):(i.setEnd(a.node,a.offset),t.addRange(i))}}t=[];for(e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});n.focus();for(n=0;n3&&void 0!==arguments[3]?arguments[3]:{},a=o.initialProps,i=o.pageLoader,u=o.App,l=o.Component,f=o.ErrorComponent,v=o.err;(0,s.default)(this,e);this.route=x(t);this.components={};l!==f&&(this.components[this.route]={Component:l,props:a,err:v});this.components["/_app"]={Component:u};this.events=new d.default;this.pageLoader=i;this.prefetchQueue=new h.default({concurrency:2});this.ErrorComponent=f;this.pathname=t;this.query=n;this.asPath=r;this.subscriptions=new c.default;this.componentLoadCancel=null;this.onPopState=this.onPopState.bind(this);this._beforePopState=function(){return true};if("undefined"!==typeof window){this.changeState("replaceState",(0,p.format)({pathname:t,query:n}),(0,y.getURL)());window.addEventListener("popstate",this.onPopState)}}(0,f.default)(e,[{key:"onPopState",value:function(){var e=(0,l.default)(u.default.mark(function e(t){var n,r,o,a,i,l;return u.default.wrap(function e(u){while(1)switch(u.prev=u.next){case 0:if(t.state){u.next=4;break}n=this.pathname,r=this.query;this.changeState("replaceState",(0,p.format)({pathname:n,query:r}),(0,y.getURL)());return u.abrupt("return");case 4:if(this._beforePopState(t.state)){u.next=6;break}return u.abrupt("return");case 6:o=t.state,a=o.url,i=o.as,l=o.options;this.replace(a,i,l);case 8:case"end":return u.stop()}},e,this)}));return function t(n){return e.apply(this,arguments)}}()},{key:"update",value:function e(t,n){var r=this.components[t];if(!r)throw new Error("Cannot update unavailable route: ".concat(t));var o=(0,i.default)({},r,{Component:n});this.components[t]=o;t===this.route&&this.notify(o)}},{key:"reload",value:function(){var e=(0,l.default)(u.default.mark(function e(t){var n,r,o,a,i;return u.default.wrap(function e(u){while(1)switch(u.prev=u.next){case 0:delete this.components[t];this.pageLoader.clearCache(t);if(!(t!==this.route)){u.next=4;break}return u.abrupt("return");case 4:n=this.pathname,r=this.query;o=window.location.href;this.events.emit("routeChangeStart",o);u.next=9;return this.getRouteInfo(t,n,r,o);case 9:a=u.sent;i=a.error;if(!(i&&i.cancelled)){u.next=13;break}return u.abrupt("return");case 13:this.notify(a);if(!i){u.next=17;break}this.events.emit("routeChangeError",i,o);throw i;case 17:this.events.emit("routeChangeComplete",o);case 18:case"end":return u.stop()}},e,this)}));return function t(n){return e.apply(this,arguments)}}()},{key:"back",value:function e(){window.history.back()}},{key:"push",value:function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.change("pushState",t,n,r)}},{key:"replace",value:function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.change("replaceState",t,n,r)}},{key:"change",value:function(){var e=(0,l.default)(u.default.mark(function e(t,n,r,o){var l,c,s,f,d,v,h,y,g,b,w,C;return u.default.wrap(function e(u){while(1)switch(u.prev=u.next){case 0:l="object"===(0,a.default)(n)?(0,p.format)(n):n;c="object"===(0,a.default)(r)?(0,p.format)(r):r;__NEXT_DATA__.nextExport&&(c=(0,m._rewriteUrlForNextExport)(c));this.abortComponentLoad(c);if(!this.onlyAHashChange(c)){u.next=10;break}this.events.emit("hashChangeStart",c);this.changeState(t,l,c);this.scrollToHash(c);this.events.emit("hashChangeComplete",c);return u.abrupt("return",true);case 10:s=(0,p.parse)(l,true),f=s.pathname,d=s.query;this.urlIsNew(f,d)||(t="replaceState");v=x(f);h=o.shallow,y=void 0!==h&&h;g=null;this.events.emit("routeChangeStart",c);if(!(y&&this.isShallowRoutingPossible(v))){u.next=20;break}g=this.components[v];u.next=23;break;case 20:u.next=22;return this.getRouteInfo(v,f,d,c);case 22:g=u.sent;case 23:b=g,w=b.error;if(!(w&&w.cancelled)){u.next=26;break}return u.abrupt("return",false);case 26:this.events.emit("beforeHistoryChange",c);this.changeState(t,l,c,o);C=window.location.hash.substring(1);this.set(v,f,d,c,(0,i.default)({},g,{hash:C}));if(!w){u.next=33;break}this.events.emit("routeChangeError",w,c);throw w;case 33:this.events.emit("routeChangeComplete",c);return u.abrupt("return",true);case 35:case"end":return u.stop()}},e,this)}));return function t(n,r,o,a){return e.apply(this,arguments)}}()},{key:"changeState",value:function e(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("undefined"===typeof window.history){g();return}if("undefined"===typeof window.history[t]){b(t);return}"pushState"===t&&(0,y.getURL)()===r||window.history[t]({url:n,as:r,options:o},null,r)}},{key:"getRouteInfo",value:function(){var e=(0,l.default)(u.default.mark(function e(t,n,r,o){var a,i,l,c,s,f;return u.default.wrap(function e(u){while(1)switch(u.prev=u.next){case 0:a=null;u.prev=1;a=this.components[t];if(a){u.next=8;break}u.next=6;return this.fetchComponent(t,o);case 6:u.t0=u.sent;a={Component:u.t0};case 8:i=a,l=i.Component;if(!("function"!==typeof l)){u.next=11;break}throw new Error('The default export is not a React Component in page: "'.concat(n,'"'));case 11:c={pathname:n,query:r,asPath:o};u.next=14;return this.getInitialProps(l,c);case 14:a.props=u.sent;this.components[t]=a;u.next=33;break;case 18:u.prev=18;u.t1=u["catch"](1);if(!("PAGE_LOAD_ERROR"===u.t1.code)){u.next=24;break}window.location.href=o;u.t1.cancelled=true;return u.abrupt("return",{error:u.t1});case 24:if(!u.t1.cancelled){u.next=26;break}return u.abrupt("return",{error:u.t1});case 26:s=this.ErrorComponent;a={Component:s,err:u.t1};f={err:u.t1,pathname:n,query:r};u.next=31;return this.getInitialProps(s,f);case 31:a.props=u.sent;a.error=u.t1;case 33:return u.abrupt("return",a);case 34:case"end":return u.stop()}},e,this,[[1,18]])}));return function t(n,r,o,a){return e.apply(this,arguments)}}()},{key:"set",value:function e(t,n,r,o,a){this.route=t;this.pathname=n;this.query=r;this.asPath=o;this.notify(a)}},{key:"beforePopState",value:function e(t){this._beforePopState=t}},{key:"onlyAHashChange",value:function e(t){if(!this.asPath)return false;var n=this.asPath.split("#"),r=(0,o.default)(n,2),a=r[0],i=r[1];var u=t.split("#"),l=(0,o.default)(u,2),c=l[0],s=l[1];if(a!==c)return false;return i!==s}},{key:"scrollToHash",value:function e(t){var n=t.split("#"),r=(0,o.default)(n,2),a=r[1];var i=document.getElementById(a);i&&i.scrollIntoView()}},{key:"urlIsNew",value:function e(t,n){return this.pathname!==t||!(0,v.default)(n,this.query)}},{key:"isShallowRoutingPossible",value:function e(t){return Boolean(this.components[t])&&this.route===t}},{key:"prefetch",value:function(){var e=(0,l.default)(u.default.mark(function e(t){var n=this;var r,o,a;return u.default.wrap(function e(i){while(1)switch(i.prev=i.next){case 0:true;i.next=2;break;case 2:r=(0,p.parse)(t),o=r.pathname;a=x(o);return i.abrupt("return",this.prefetchQueue.add(function(){return n.fetchRoute(a)}));case 5:case"end":return i.stop()}},e,this)}));return function t(n){return e.apply(this,arguments)}}()},{key:"fetchComponent",value:function(){var e=(0,l.default)(u.default.mark(function e(t,n){var r,o,a,i;return u.default.wrap(function e(n){while(1)switch(n.prev=n.next){case 0:r=false;o=this.componentLoadCancel=function(){r=true};n.next=4;return this.fetchRoute(t);case 4:a=n.sent;if(!r){n.next=9;break}i=new Error('Abort fetching component for route: "'.concat(t,'"'));i.cancelled=true;throw i;case 9:o===this.componentLoadCancel&&(this.componentLoadCancel=null);return n.abrupt("return",a);case 11:case"end":return n.stop()}},e,this)}));return function t(n,r){return e.apply(this,arguments)}}()},{key:"getInitialProps",value:function(){var e=(0,l.default)(u.default.mark(function e(t,n){var r,o,a,i,l;return u.default.wrap(function e(u){while(1)switch(u.prev=u.next){case 0:r=false;o=function e(){r=true};this.componentLoadCancel=o;a=this.components["/_app"].Component;u.next=6;return(0,y.loadGetInitialProps)(a,{Component:t,router:this,ctx:n});case 6:i=u.sent;o===this.componentLoadCancel&&(this.componentLoadCancel=null);if(!r){u.next=12;break}l=new Error("Loading initial props cancelled");l.cancelled=true;throw l;case 12:return u.abrupt("return",i);case 13:case"end":return u.stop()}},e,this)}));return function t(n,r){return e.apply(this,arguments)}}()},{key:"fetchRoute",value:function(){var e=(0,l.default)(u.default.mark(function e(t){return u.default.wrap(function e(n){while(1)switch(n.prev=n.next){case 0:return n.abrupt("return",this.pageLoader.loadPage(t));case 1:case"end":return n.stop()}},e,this)}));return function t(n){return e.apply(this,arguments)}}()},{key:"abortComponentLoad",value:function e(t){if(this.componentLoadCancel){this.events.emit("routeChangeError",new Error("Route Cancelled"),t);this.componentLoadCancel();this.componentLoadCancel=null}}},{key:"notify",value:function e(t){var n=this.components["/_app"].Component;this.subscriptions.forEach(function(e){return e((0,i.default)({},t,{App:n}))})}},{key:"subscribe",value:function e(t){var n=this;this.subscriptions.add(t);return function(){return n.subscriptions.delete(t)}}}]);return e}();t.default=w;function x(e){return e.replace(/\/$/,"")||"/"}},function(e,t,n){e.exports=n(178)},function(e,t,n){n(32);n(43);e.exports=n(72).f("iterator")},function(e,t,n){e.exports=n(180)},function(e,t,n){n(98);n(80);n(181);n(182);e.exports=n(1).Symbol},function(e,t,n){n(73)("asyncIterator")},function(e,t,n){n(73)("observable")},function(e,t,n){n(80);n(32);n(43);n(184);n(190);n(193);n(195);e.exports=n(1).Set},function(e,t,n){"use strict";var r=n(185);var o=n(118);var a="Set";e.exports=n(186)(a,function(e){return function t(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function e(t){return r.def(o(this,a),t=0===t?0:t,t)}},r)},function(e,t,n){"use strict";var r=n(12).f;var o=n(55);var a=n(83);var i=n(19);var u=n(81);var l=n(45);var c=n(78);var s=n(105);var f=n(113);var p=n(13);var d=n(70).fastKey;var v=n(118);var h=p?"_s":"size";var y=function(e,t){var n=d(t);var r;if("F"!==n)return e._i[n];for(r=e._f;r;r=r.n)if(r.k==t)return r};e.exports={getConstructor:function(e,t,n,c){var s=e(function(e,r){u(e,s,t,"_i");e._t=t;e._i=o(null);e._f=void 0;e._l=void 0;e[h]=0;void 0!=r&&l(r,n,e[c],e)});a(s.prototype,{clear:function e(){for(var n=v(this,t),r=n._i,o=n._f;o;o=o.n){o.r=true;o.p&&(o.p=o.p.n=void 0);delete r[o.i]}n._f=n._l=void 0;n[h]=0},delete:function(e){var n=v(this,t);var r=y(n,e);if(r){var o=r.n;var a=r.p;delete n._i[r.i];r.r=true;a&&(a.n=o);o&&(o.p=a);n._f==r&&(n._f=o);n._l==r&&(n._l=a);n[h]--}return!!r},forEach:function e(n){v(this,t);var r=i(n,arguments.length>1?arguments[1]:void 0,3);var o;while(o=o?o.n:this._f){r(o.v,o.k,this);while(o&&o.r)o=o.p}},has:function e(n){return!!y(v(this,t),n)}});p&&r(s.prototype,"size",{get:function(){return v(this,t)[h]}});return s},def:function(e,t,n){var r=y(e,t);var o,a;if(r)r.v=n;else{e._l=r={i:a=d(t,true),k:t,v:n,p:o=e._l,n:void 0,r:false};e._f||(e._f=r);o&&(o.n=r);e[h]++;"F"!==a&&(e._i[a]=r)}return e},getEntry:y,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=v(e,t);this._k=n;this._l=void 0},function(){var e=this;var t=e._k;var n=e._l;while(n&&n.r)n=n.p;if(!e._t||!(e._l=n=n?n.n:e._t._f)){e._t=void 0;return s(1)}if("keys"==t)return s(0,n.k);if("values"==t)return s(0,n.v);return s(0,[n.k,n.v])},n?"entries":"values",!n,true);f(t)}}},function(e,t,n){"use strict";var r=n(3);var o=n(4);var a=n(70);var i=n(27);var u=n(21);var l=n(83);var c=n(45);var s=n(81);var f=n(11);var p=n(41);var d=n(12).f;var v=n(187)(0);var h=n(13);e.exports=function(e,t,n,y,m,g){var b=r[e];var w=b;var x=m?"set":"add";var C=w&&w.prototype;var k={};if(h&&"function"==typeof w&&(g||C.forEach&&!i(function(){(new w).entries().next()}))){w=t(function(t,n){s(t,w,e,"_c");t._c=new b;void 0!=n&&c(n,m,t[x],t)});v("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in C&&!(g&&"clear"==e)&&u(w.prototype,e,function(n,r){s(this,w,e);if(!t&&g&&!f(n))return"get"==e&&void 0;var o=this._c[e](0===n?0:n,r);return t?this:o})});g||d(w.prototype,"size",{get:function(){return this._c.size}})}else{w=y.getConstructor(t,e,m,x);l(w.prototype,n);a.NEED=true}p(w,e);k[e]=w;o(o.G+o.W+o.F,k);g||y.setStrong(w,e,m);return w}},function(e,t,n){var r=n(19);var o=n(64);var a=n(30);var i=n(54);var u=n(188);e.exports=function(e,t){var n=1==e;var l=2==e;var c=3==e;var s=4==e;var f=6==e;var p=5==e||f;var d=t||u;return function(t,u,v){var h=a(t);var y=o(h);var m=r(u,v,3);var g=i(y.length);var b=0;var w=n?d(t,g):l?d(t,0):void 0;var x,C;for(;g>b;b++)if(p||b in y){x=y[b];C=m(x,b,h);if(e)if(n)w[b]=C;else if(C)switch(e){case 3:return true;case 5:return x;case 6:return b;case 2:w.push(x)}else if(s)return false}return f?-1:c||s?s:w}}},function(e,t,n){var r=n(189);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(11);var o=n(101);var a=n(5)("species");e.exports=function(e){var t;if(o(e)){t=e.constructor;"function"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0);if(r(t)){t=t[a];null===t&&(t=void 0)}}return void 0===t?Array:t}},function(e,t,n){var r=n(4);r(r.P+r.R,"Set",{toJSON:n(191)("Set")})},function(e,t,n){var r=n(57);var o=n(192);e.exports=function(e){return function t(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return o(this)}}},function(e,t,n){var r=n(45);e.exports=function(e,t){var n=[];r(e,false,n.push,n,t);return n}},function(e,t,n){n(194)("Set")},function(e,t,n){"use strict";var r=n(4);e.exports=function(e){r(r.S,e,{of:function e(){var t=arguments.length;var n=new Array(t);while(t--)n[t]=arguments[t];return new this(n)}})}},function(e,t,n){n(196)("Set")},function(e,t,n){"use strict";var r=n(4);var o=n(39);var a=n(19);var i=n(45);e.exports=function(e){r(r.S,e,{from:function e(t){var n=arguments[1];var r,u,l,c;o(this);r=void 0!==n;r&&o(n);if(void 0==t)return new this;u=[];if(r){l=0;c=a(n,arguments[2],2);i(t,false,function(e){u.push(c(e,l++))})}else i(t,false,u.push,u);return new this(u)}})}},function(e,t,n){(function(e,r){var o;(function(a){var i="object"==typeof t&&t&&!t.nodeType&&t;var u="object"==typeof e&&e&&!e.nodeType&&e;var l="object"==typeof r&&r;l.global!==l&&l.window!==l&&l.self!==l||(a=l);var c,s=2147483647,f=36,p=1,d=26,v=38,h=700,y=72,m=128,g="-",b=/^xn--/,w=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,C={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=f-p,E=Math.floor,_=String.fromCharCode,S;function O(e){throw new RangeError(C[e])}function P(e,t){var n=e.length;var r=[];while(n--)r[n]=t(e[n]);return r}function T(e,t){var n=e.split("@");var r="";if(n.length>1){r=n[0]+"@";e=n[1]}e=e.replace(x,".");var o=e.split(".");var a=P(o,t).join(".");return r+a}function j(e){var t=[],n=0,r=e.length,o,a;while(n=55296&&o<=56319&&n65535){e-=65536;t+=_(e>>>10&1023|55296);e=56320|1023&e}t+=_(e);return t}).join("")}function I(e){if(e-48<10)return e-22;if(e-65<26)return e-65;if(e-97<26)return e-97;return f}function R(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function F(e,t,n){var r=0;e=n?E(e/h):e>>1;e+=E(e/t);for(;e>k*d>>1;r+=f)e=E(e/k);return E(r+(k+1)*e/(e+v))}function M(e){var t=[],n=e.length,r,o=0,a=m,i=y,u,l,c,v,h,b,w,x,C;u=e.lastIndexOf(g);u<0&&(u=0);for(l=0;l=128&&O("not-basic");t.push(e.charCodeAt(l))}for(c=u>0?u+1:0;c=n&&O("invalid-input");w=I(e.charCodeAt(c++));(w>=f||w>E((s-o)/h))&&O("overflow");o+=w*h;x=b<=i?p:b>=i+d?d:b-i;if(wE(s/C)&&O("overflow");h*=C}r=t.length+1;i=F(o-v,r,0==v);E(o/r)>s-a&&O("overflow");a+=E(o/r);o%=r;t.splice(o++,0,a)}return N(t)}function A(e){var t,n,r,o,a,i,u,l,c,v,h,b=[],w,x,C,k;e=j(e);w=e.length;t=m;n=0;a=y;for(i=0;i=t&&hE((s-n)/x)&&O("overflow");n+=(u-t)*x;t=u;for(i=0;is&&O("overflow");if(h==t){for(l=n,c=f;;c+=f){v=c<=a?p:c>=a+d?d:c-a;if(l0&&c>l&&(c=l);for(var s=0;s=0){d=f.substr(0,p);v=f.substr(p+1)}else{d=f;v=""}h=decodeURIComponent(d);y=decodeURIComponent(v);r(i,h)?o(i[h])?i[h].push(y):i[h]=[i[h],y]:i[h]=y}return i};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,u){t=t||"&";n=n||"=";null===e&&(e=void 0);if("object"===typeof e)return a(i(e),function(i){var u=encodeURIComponent(r(i))+n;return o(e[i])?a(e[i],function(e){return u+encodeURIComponent(r(e))}).join(t):u+encodeURIComponent(r(e[i]))}).join(t);if(!u)return"";return encodeURIComponent(r(u))+n+encodeURIComponent(r(e))};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e,t){if(e.map)return e.map(t);var n=[];for(var r=0;r0?this.queue.dequeue()():this._resolveEmpty()}},{key:"add",value:function e(t,n){var r=this;return new o.default(function(e,o){var a=function n(){r._pendingCount++;t().then(function(t){e(t);r._next()},function(e){o(e);r._next()})};r._pendingCounts){var d=u(arguments[s++]);var v=f?r(d).concat(f(d)):r(d);var h=v.length;var y=0;var m;while(h>y)p.call(d,m=v[y++])&&(l[m]=d[m])}return l}:l},function(e,t,n){"use strict";var r=n(24);var o=n(2);Object.defineProperty(t,"__esModule",{value:true});t.default=h;var a=o(n(52));var i=o(n(16));var u=o(n(6));var l=o(n(7));var c=o(n(17));var s=o(n(18));var f=r(n(0));var p=o(n(20));var d=o(n(121));var v=n(15);function h(e){var t=(0,v.getDisplayName)(e);var n=function(t){(0,s.default)(n,t);function n(){(0,u.default)(this,n);return(0,c.default)(this,(n.__proto__||(0,i.default)(n)).apply(this,arguments))}(0,l.default)(n,[{key:"render",value:function t(){var n=(0,a.default)({router:this.context.router},this.props);return f.default.createElement(e,n)}}]);return n}(f.Component);Object.defineProperty(n,"contextTypes",{configurable:true,enumerable:true,writable:true,value:{router:p.default.object}});Object.defineProperty(n,"displayName",{configurable:true,enumerable:true,writable:true,value:"withRouter(".concat(t,")")});return(0,d.default)(n,e)}},function(e,t,n){n(208);e.exports=n(1).Object.getPrototypeOf},function(e,t,n){var r=n(30);var o=n(106);n(69)("getPrototypeOf",function(){return function e(t){return o(r(t))}})},function(e,t,n){e.exports=n(210)},function(e,t,n){n(211);e.exports=n(1).Object.setPrototypeOf},function(e,t,n){var r=n(4);r(r.S,"Object",{setPrototypeOf:n(212).set})},function(e,t,n){var r=n(11);var o=n(14);var a=function(e,t){o(e);if(!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(19)(Function.call,n(66).f(Object.prototype,"__proto__").set,2);r(e,[]);t=!(e instanceof Array)}catch(e){t=true}return function e(n,o){a(n,o);t?n.__proto__=o:r(n,o);return n}}({},false):void 0),check:a}},function(e,t,n){e.exports=n(214)},function(e,t,n){n(215);var r=n(1).Object;e.exports=function e(t,n){return r.create(t,n)}},function(e,t,n){var r=n(4);r(r.S,"Object",{create:n(55)})},function(e,t,n){"use strict";var r=n(85);var o=n(84);var a=n(217);e.exports=function(){function e(e,t,n,r,i,u){if(u===a)return;o(false,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}e.isRequired=e;function t(){return e}var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};n.checkPropTypes=r;n.PropTypes=n;return n}},function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=r},function(e,t,n){"use strict";(function(e){var r=n(2);Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var o=r(n(44));var a=r(n(6));var i=r(n(7));var u=r(n(88));var l=e;var c=function(){function e(t,n){(0,a.default)(this,e);this.buildId=t;this.assetPrefix=n;this.pageCache={};this.pageLoadedHandlers={};this.pageRegisterEvents=new u.default;this.loadingRoutes={};this.chunkRegisterEvents=new u.default;this.loadedChunks={}}(0,i.default)(e,[{key:"normalizeRoute",value:function e(t){if("/"!==t[0])throw new Error('Route name should start with a "/", got "'.concat(t,'"'));t=t.replace(/\/index$/,"/");if("/"===t)return t;return t.replace(/\/$/,"")}},{key:"loadPage",value:function e(t){var n=this;t=this.normalizeRoute(t);return new o.default(function(e,r){var o=function o(a){var i=a.error,u=a.page;n.pageRegisterEvents.off(t,o);delete n.loadingRoutes[t];i?r(i):e(u)};var a=n.pageCache[t];if(a){var i=a.error,u=a.page;i?r(i):e(u);return}n.pageRegisterEvents.on(t,o);if(document.getElementById("__NEXT_PAGE__".concat(t)))return;if(!n.loadingRoutes[t]){n.loadScript(t);n.loadingRoutes[t]=true}})}},{key:"loadScript",value:function e(t){var n=this;t=this.normalizeRoute(t);var r="/"===t?"/index.js":"".concat(t,".js");var o=document.createElement("script");var a="".concat(this.assetPrefix,"/_next/").concat(encodeURIComponent(this.buildId),"/page").concat(r);o.src=a;o.onerror=function(){var e=new Error("Error when loading route: ".concat(t));e.code="PAGE_LOAD_ERROR";n.pageRegisterEvents.emit(t,{error:e})};document.body.appendChild(o)}},{key:"registerPage",value:function e(t,n,r){var o=this;var a=Boolean(l&&l.hot);r&&a&&r.forEach(function(e){window.webpackManifest[e.id]=e.src});var i=function e(){try{var r=n(),a=r.error,i=r.page;o.pageCache[t]={error:a,page:i};o.pageRegisterEvents.emit(t,{error:a,page:i})}catch(a){o.pageCache[t]={error:a};o.pageRegisterEvents.emit(t,{error:a})}};if(a&&"idle"!==l.hot.status()){console.log('Waiting for webpack to become "idle" to initialize the page: "'.concat(t,'"'));var u=function e(t){if("idle"===t){l.hot.removeStatusHandler(e);i()}};l.hot.status(u)}else i()}},{key:"registerChunk",value:function e(t,n){var r=n();this.loadedChunks[t]=true;this.chunkRegisterEvents.emit(t,r)}},{key:"waitForChunk",value:function e(t,n){var r=this;var a=this.loadedChunks[t];if(a)return o.default.resolve(true);return new o.default(function(e){var n=function n(o){r.chunkRegisterEvents.off(t,n);e(o)};r.chunkRegisterEvents.on(t,n)})}},{key:"clearCache",value:function e(t){t=this.normalizeRoute(t);delete this.pageCache[t];delete this.loadingRoutes[t];var n=document.getElementById("__NEXT_PAGE__".concat(t));n&&n.parentNode.removeChild(n)}}]);return e}();t.default=c}).call(t,n(119)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=o;t.setAssetPrefix=a;var r;function o(e){if(/^https?:\/\//.test(e))return e;var t=e.replace(/^\//,"");return"".concat(r||"","/static/").concat(t)}function a(e){r=e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.setConfig=a;t.default=void 0;var r;var o=function e(){return r};t.default=o;function a(e){r=e}},function(e,t,n){"use strict";var r=n(24);var o=n(2);Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var a=o(n(16));var i=o(n(6));var u=o(n(7));var l=o(n(17));var c=o(n(18));var s=o(n(90));var f=r(n(0));var p=n(222);var d=function(e){(0,c.default)(t,e);function t(){var e;var n,r;(0,i.default)(this,t);for(var o=arguments.length,u=new Array(o),c=0;c1){var n=e.shift();e[0]=n+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var r=0;r0&&(o=o.replace(/^[\/]+/,""));o=r0?"?":"")+i.join("&");return a}return function(){var t;t="object"===typeof arguments[0]?arguments[0]:[].slice.call(arguments);return e(t)}})},function(e,t,n){"use strict";var r=function(e,t,n,r,o,a,i,u){false;if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,u];var s=0;l=new Error(t.replace(/%s/g,function(){return c[s++]}));l.name="Invariant Violation"}l.framesToPop=1;throw l}};e.exports=r},function(e,t,n){"use strict";(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t["a"]=n}).call(t,n(87))},,,,function(e,t,n){"use strict";var r=n(24);var o=n(2);Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var a=o(n(86));var i=o(n(238));var u=o(n(16));var l=o(n(6));var c=o(n(7));var s=o(n(17));var f=o(n(18));var p=o(n(90));var d=n(59);var v=r(n(0));var h=o(n(20));var y=o(n(240));var m=r(n(46));var g=n(15);var b=function(e){(0,f.default)(t,e);function t(e){var n;var r;(0,l.default)(this,t);for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i. This usage has been deprecated. Please add an tag as child of ");return null}]).isRequired})});function w(e){var t=(0,d.parse)(e,false,true);var n=(0,d.parse)((0,g.getLocationOrigin)(),false,true);return!t.host||t.protocol===n.protocol&&t.host===n.host}var x=(0,g.execOnce)(g.warn)},function(e,t,n){e.exports=n(239)},function(e,t,n){var r=n(1);var o=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function e(t){return o.stringify.apply(o,arguments)}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:true});t["default"]=y;var r=n(241);var o=c(r);var a=n(247);var i=c(a);var u=n(248);var l=c(u);function c(e){return e&&e.__esModule?e:{default:e}}function s(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true}):e[t]=n;return e}var f="​";var p="prop-types-exact: "+f;var d={};function v(e){return(0,o["default"])(e,s({},p,d))}function h(e){return e&&e[p]===d}function y(e){if(!(0,l["default"])(e))throw new TypeError("given propTypes must be an object");if((0,i["default"])(e,p)&&!h(e[p]))throw new TypeError("Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`");return(0,o["default"])({},e,s({},p,v(function(){function t(t,n,r){var o=Object.keys(t).filter(function(t){return!(0,i["default"])(e,t)});if(o.length>0)return new TypeError(String(r)+": unknown props found: "+String(o.join(", ")));return null}return t}())))}e.exports=t["default"]},function(e,t,n){"use strict";var r=n(125);var o=n(127);var a=n(129);var i=n(246);var u=a();r(u,{getPolyfill:a,implementation:o,shim:i});e.exports=u},function(e,t,n){"use strict";var r=Object.prototype.toString;e.exports=function e(t){var n=r.call(t);var o="[object Arguments]"===n;o||(o="[object Array]"!==n&&null!==t&&"object"===typeof t&&"number"===typeof t.length&&t.length>=0&&"[object Function]"===r.call(t.callee));return o}},function(e,t){var n=Object.prototype.hasOwnProperty;var r=Object.prototype.toString;e.exports=function e(t,o,a){if("[object Function]"!==r.call(o))throw new TypeError("iterator must be a function");var i=t.length;if(i===+i)for(var u=0;u1?arguments[1]:void 0;var d=void 0!==p;var v=0;var h=s(n);var y,m,g,b;d&&(p=r(p,f>2?arguments[2]:void 0,2));if(void 0==h||o==Array&&u(h)){y=l(n.length);for(m=new o(y);y>v;v++)c(m,v,d?p(n[v],v):n[v])}else for(b=h.call(n),m=new o;!(g=b.next()).done;v++)c(m,v,d?i(b,p,[g.value,v],true):g.value);m.length=v;return m}})},function(e,t,n){"use strict";var r=n(12);var o=n(38);e.exports=function(e,t,n){t in e?r.f(e,t,o(0,n)):e[t]=n}}]); \ No newline at end of file diff --git a/.next/static/style.css b/.next/static/style.css new file mode 100644 index 0000000..263c651 --- /dev/null +++ b/.next/static/style.css @@ -0,0 +1 @@ +.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5)}.cm-animate-fat-cursor,.cm-fat-cursor-mark{-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.cm-s-monokai.CodeMirror{background:#272822;color:#f8f8f2}.cm-s-monokai div.CodeMirror-selected{background:#49483e}.cm-s-monokai .CodeMirror-line::selection,.cm-s-monokai .CodeMirror-line>span::selection,.cm-s-monokai .CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-line::-moz-selection,.cm-s-monokai .CodeMirror-line>span::-moz-selection,.cm-s-monokai .CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-gutters{background:#272822;border-right:0}.cm-s-monokai .CodeMirror-guttermarker{color:#fff}.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:#d0d0d0}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-monokai span.cm-comment{color:#75715e}.cm-s-monokai span.cm-atom,.cm-s-monokai span.cm-number{color:#ae81ff}.cm-s-monokai span.cm-attribute,.cm-s-monokai span.cm-property{color:#a6e22e}.cm-s-monokai span.cm-keyword{color:#f92672}.cm-s-monokai span.cm-builtin{color:#66d9ef}.cm-s-monokai span.cm-string{color:#e6db74}.cm-s-monokai span.cm-variable{color:#f8f8f2}.cm-s-monokai span.cm-variable-2{color:#9effff}.cm-s-monokai span.cm-type,.cm-s-monokai span.cm-variable-3{color:#66d9ef}.cm-s-monokai span.cm-def{color:#fd971f}.cm-s-monokai span.cm-bracket{color:#f8f8f2}.cm-s-monokai span.cm-tag{color:#f92672}.cm-s-monokai span.cm-header,.cm-s-monokai span.cm-link{color:#ae81ff}.cm-s-monokai span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-monokai .CodeMirror-activeline-background{background:#373831}.cm-s-monokai .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}*,:after,:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#606c76;font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:300;letter-spacing:.01em;line-height:1.6}blockquote{border-left:.3rem solid #d1d1d1;margin-left:0;margin-right:0;padding:1rem 1.5rem}blockquote :last-child{margin-bottom:0}.button,button,input[type=button],input[type=reset],input[type=submit]{background-color:#9b4dca;border:.1rem solid #9b4dca;border-radius:.4rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;height:3.8rem;letter-spacing:.1rem;line-height:3.8rem;padding:0 3rem;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#606c76;border-color:#606c76;color:#fff;outline:0}.button[disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default;opacity:.5}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover,input[type=button][disabled]:focus,input[type=button][disabled]:hover,input[type=reset][disabled]:focus,input[type=reset][disabled]:hover,input[type=submit][disabled]:focus,input[type=submit][disabled]:hover{background-color:#9b4dca;border-color:#9b4dca}.button.button-outline,button.button-outline,input[type=button].button-outline,input[type=reset].button-outline,input[type=submit].button-outline{background-color:transparent;color:#9b4dca}.button.button-outline:focus,.button.button-outline:hover,button.button-outline:focus,button.button-outline:hover,input[type=button].button-outline:focus,input[type=button].button-outline:hover,input[type=reset].button-outline:focus,input[type=reset].button-outline:hover,input[type=submit].button-outline:focus,input[type=submit].button-outline:hover{background-color:transparent;border-color:#606c76;color:#606c76}.button.button-outline[disabled]:focus,.button.button-outline[disabled]:hover,button.button-outline[disabled]:focus,button.button-outline[disabled]:hover,input[type=button].button-outline[disabled]:focus,input[type=button].button-outline[disabled]:hover,input[type=reset].button-outline[disabled]:focus,input[type=reset].button-outline[disabled]:hover,input[type=submit].button-outline[disabled]:focus,input[type=submit].button-outline[disabled]:hover{border-color:inherit;color:#9b4dca}.button.button-clear,button.button-clear,input[type=button].button-clear,input[type=reset].button-clear,input[type=submit].button-clear{background-color:transparent;border-color:transparent;color:#9b4dca}.button.button-clear:focus,.button.button-clear:hover,button.button-clear:focus,button.button-clear:hover,input[type=button].button-clear:focus,input[type=button].button-clear:hover,input[type=reset].button-clear:focus,input[type=reset].button-clear:hover,input[type=submit].button-clear:focus,input[type=submit].button-clear:hover{background-color:transparent;border-color:transparent;color:#606c76}.button.button-clear[disabled]:focus,.button.button-clear[disabled]:hover,button.button-clear[disabled]:focus,button.button-clear[disabled]:hover,input[type=button].button-clear[disabled]:focus,input[type=button].button-clear[disabled]:hover,input[type=reset].button-clear[disabled]:focus,input[type=reset].button-clear[disabled]:hover,input[type=submit].button-clear[disabled]:focus,input[type=submit].button-clear[disabled]:hover{color:#9b4dca}code{border-radius:.4rem;font-size:86%;margin:0 .2rem;padding:.2rem .5rem;white-space:nowrap}code,pre{background:#f4f5f6}pre{border-left:.3rem solid #9b4dca;overflow-y:hidden}pre>code{border-radius:0;display:block;padding:1rem 1.5rem;white-space:pre}hr{border:0;border-top:.1rem solid #f4f5f6;margin:3rem 0}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{appearance:none;background-color:transparent;border:.1rem solid #d1d1d1;border-radius:.4rem;box-shadow:none;box-sizing:inherit;height:3.8rem;padding:.6rem 1rem;width:100%}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#9b4dca;outline:0}select{background:url('data:image/svg+xml;utf8,') 100% no-repeat;padding-right:3rem}select:focus{background-image:url('data:image/svg+xml;utf8,')}textarea{min-height:6.5rem}label,legend{display:block;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}fieldset{border-width:0;padding:0}input[type=checkbox],input[type=radio]{display:inline}.label-inline{display:inline-block;font-weight:400;margin-left:.5rem}.container{margin:0 auto;max-width:112rem;padding:0 2rem;position:relative;width:100%}.row{display:flex;flex-direction:column;width:100%}.row,.row.row-no-padding,.row.row-no-padding>.column{padding:0}.row.row-wrap{flex-wrap:wrap}.row.row-top{align-items:flex-start}.row.row-bottom{align-items:flex-end}.row.row-center{align-items:center}.row.row-stretch{align-items:stretch}.row.row-baseline{align-items:baseline}.row .column{display:block;flex:1 1 auto;margin-left:0;max-width:100%;width:100%}.row .column.column-offset-10{margin-left:10%}.row .column.column-offset-20{margin-left:20%}.row .column.column-offset-25{margin-left:25%}.row .column.column-offset-33,.row .column.column-offset-34{margin-left:33.3333%}.row .column.column-offset-50{margin-left:50%}.row .column.column-offset-66,.row .column.column-offset-67{margin-left:66.6666%}.row .column.column-offset-75{margin-left:75%}.row .column.column-offset-80{margin-left:80%}.row .column.column-offset-90{margin-left:90%}.row .column.column-10{flex:0 0 10%;max-width:10%}.row .column.column-20{flex:0 0 20%;max-width:20%}.row .column.column-25{flex:0 0 25%;max-width:25%}.row .column.column-33,.row .column.column-34{flex:0 0 33.3333%;max-width:33.3333%}.row .column.column-40{flex:0 0 40%;max-width:40%}.row .column.column-50{flex:0 0 50%;max-width:50%}.row .column.column-60{flex:0 0 60%;max-width:60%}.row .column.column-66,.row .column.column-67{flex:0 0 66.6666%;max-width:66.6666%}.row .column.column-75{flex:0 0 75%;max-width:75%}.row .column.column-80{flex:0 0 80%;max-width:80%}.row .column.column-90{flex:0 0 90%;max-width:90%}.row .column .column-top{align-self:flex-start}.row .column .column-bottom{align-self:flex-end}.row .column .column-center{align-self:center}@media (min-width:40rem){.row{flex-direction:row;margin-left:-1rem;width:calc(100% + 2rem)}.row .column{margin-bottom:inherit;padding:0 1rem}}a{color:#9b4dca;text-decoration:none}a:focus,a:hover{color:#606c76}dl,ol,ul{list-style:none;margin-top:0;padding-left:0}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{font-size:90%;margin:1.5rem 0 1.5rem 3rem}ol{list-style:decimal inside}ul{list-style:circle inside}.button,button,dd,dt,li{margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}table{border-spacing:0;width:100%}td,th{border-bottom:.1rem solid #e1e1e1;padding:1.2rem 1.5rem;text-align:left}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}b,strong{font-weight:700}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:300;letter-spacing:-.1rem;margin-bottom:2rem;margin-top:0}h1{font-size:4.6rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:2.8rem;line-height:1.3}h4{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h5{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h6{font-size:1.6rem;letter-spacing:0;line-height:1.4}img{max-width:100%}.clearfix:after{clear:both;content:" ";display:table}.float-left{float:left}.float-right{float:right}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc3CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc-CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc2CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc5CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc1CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc0CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc6CsTYl4BO.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic3CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic-CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic2CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic5CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic1CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic0CsTYl4BOQ3o.woff2) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold Italic"),local("Roboto-BoldItalic"),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic6CsTYl4BO.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCRc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfABc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCBc4AMP6lbBP.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBxc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCxc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfChc4AMP6lbBP.woff2) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.footer{text-align:center;padding:10px 10px 15px;background:#2c2f33}.footer p{margin-bottom:0}.navbar{background:#2c2f33;display:flex;flex-direction:row;align-items:center;height:55px}.navbar .navbar-brand{margin-left:.75em;margin-right:auto}.navbar .navbar-brand h3{margin-bottom:0}.navbar .navbar-burger{display:none;width:32px;margin-right:10px}.navbar .navbar-burger.active div:first-child{transform-origin:center;transform:translateY(8px) rotate(45deg)}.navbar .navbar-burger.active div:nth-child(2){opacity:0}.navbar .navbar-burger.active div:nth-child(3){transform-origin:left -6px;transform:translateY(8px) rotate(-45deg)}.navbar .navbar-burger div{transition:all .15s ease-in-out;width:100%;height:2px;margin:5px 0;border-radius:1px;background:#dcddde}.navbar .navbar-items{display:inline-flex;flex-direction:row}.navbar .navbar-items .active .item,.navbar .navbar-items .item:hover{background:#202225}.navbar .navbar-items .item{margin:0;cursor:pointer;padding:15px 20px}@media screen and (max-width:840px){.navbar .navbar-burger{display:inline-block}.navbar .navbar-items{display:block;overflow:hidden;position:fixed;top:55px;left:0;z-index:5;background:#2c2f33;width:100%;transform:scaleY(0);transform-origin:top;transition:all 125ms ease-in-out}.navbar .navbar-items.active{transform:scaleY(1);overflow:auto}.navbar .navbar-items .item{text-align:center;width:100%;padding:5px 0}}.spinner{height:24px;width:24px;border-radius:100%;border:2px solid #dcddde;border-right:none;border-bottom:none;animation:spinner .5s linear infinite}@keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.paginate{list-style:none;text-align:center;user-select:none;margin:0}.paginate li{display:inline-block}.paginate li.active a{border-color:#00d1b2}.paginate li a{outline:0;border-radius:50%;border:1px solid;border-color:transparent;padding:3px 8px}body,code,pre{background:#202225;color:#dcddde;margin:0}code,pre{font-size:1.5rem}.button,.cm-s-monokai.CodeMirror,button,input,select,textarea{color:#dcddde;border:none!important;border-radius:.4rem;background-color:#2c2f33!important}button.disabled,button[disabled]{cursor:default}input,textarea{font-size:1.6rem;font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;resize:none}input[disabled],textarea[disabled]{opacity:.8;cursor:not-allowed}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{opacity:.85;color:#dcddde}input::-moz-placeholder,textarea::-moz-placeholder{opacity:.85;color:#dcddde}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:.85;color:#dcddde}input:-moz-placeholder,textarea:-moz-placeholder{opacity:.85;color:#dcddde}input::placeholder,textarea::placeholder{opacity:.85;color:#dcddde}select{-webkit-appearance:none;-moz-appearance:none;text-overflow:"";background:url('data:image/svg+xml;utf8,') 100% no-repeat}select:focus{background-image:url('data:image/svg+xml;utf8,')}.button.disabled{cursor:default}a{cursor:pointer}a,a:focus,a:visited{color:#00d1b2}a:hover{color:#009e87}.danger{color:#d44848}.noMargin{margin:0!important}.float-right{margin-left:auto}.float-left{margin-right:auto}.container{display:flex;flex-direction:column}.CodeMirror{width:100%}.cm-s-monokai span.cm-comment{color:#ccc9ba}.content{min-height:calc(100vh - 55px - 50px);padding:10px}.content p,.content pre{word-wrap:break-word}.v-center{min-height:calc(100vh - 55px - 50px - 20px);flex-direction:row;align-items:center}.nomob{display:none!important}.inline{display:inline-flex!important;align-items:middle}.inline input,.inline select{width:auto;height:28px;flex-grow:1;margin-left:5px;margin-bottom:0;padding:6px;border:none}.Markdown pre{margin-bottom:2.5rem}@media screen and (max-width:639px){.row .column.column-50{max-width:100%}}@media screen and (min-width:640px){.nomob{display:block!important}} \ No newline at end of file diff --git a/package.json b/package.json index 6edffe1..cc66618 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mykb", "description": "A file system/markdown based knowledge base editor/viewer", - "version": "0.1.0", + "version": "0.2.0", "main": "src", "keywords": [ "feathers", diff --git a/pages/_document.js b/pages/_document.js index ddeb8b2..02f9c5b 100644 --- a/pages/_document.js +++ b/pages/_document.js @@ -3,7 +3,7 @@ import getUrl from '../util/getUrl' export default class MyDocument extends Document { render() { - const favicon = getUrl('favicon.icon') + const favicon = getUrl('favicon.ico') return (