first commit

This commit is contained in:
Ayxan committed 2022-05-23 00:16:32 +04:00
commit d660f2a4ca
24786 files changed
+4428337

No files matched your search

@@ -0,0 +1,7 @@
/*This file contains any manual css for this page that needs to override the global styles.
This is only required when different pages style the same element differently. This is just
a hack to deal with our current css styles and no new styling should be added in this file.*/
body {
overflow: hidden;
}
@@ -0,0 +1,63 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
requirejs([
'jquery',
'base/js/utils',
'base/js/page',
'auth/js/loginwidget',
'services/config',
'terminal/js/terminado',
], function(
$,
utils,
page,
loginwidget,
configmod,
terminado
){
"use strict";
requirejs(['custom/custom'], function() {});
page = new page.Page('div#header', 'div#site');
var common_options = {
base_url : utils.get_body_data("baseUrl"),
};
var config = new configmod.ConfigSection('terminal', common_options);
config.load();
var common_config = new configmod.ConfigSection('common', common_options);
common_config.load();
// This makes the 'logout' button in the top right work.
var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options);
var base_url = utils.get_body_data('baseUrl').replace(/\/?$/, '/');
var ws_path = utils.get_body_data('wsPath');
var ws_url = utils.get_body_data('wsUrl');
if (!ws_url) {
// trailing 's' in https will become wss for secure web sockets
ws_url = location.protocol.replace('http', 'ws') + "//" + location.host;
}
ws_url = ws_url + base_url + ws_path;
page.show_header();
var terminal = terminado.make_terminal($("#terminado-container")[0], ws_url);
page.show_site();
utils.load_extensions_from_config(config);
utils.load_extensions_from_config(common_config);
window.onresize = function() {
terminal.term.fit();
// send the new size to the server so that it can trigger a resize in the running process.
terminal.socket.send(JSON.stringify(["set_size", terminal.term.rows, terminal.term.cols,
$(window).height(), $(window).width()]));
};
// Expose terminal for fiddling with in the browser
window.terminal = terminal;
});
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,40 @@
{
"version": 3,
"sources": [
"components/jquery/jquery.min.js",
"components/codemirror/lib/codemirror.js",
"components/moment/min/moment-with-locales.js",
"components/underscore/underscore-min.js",
"components/codemirror/mode/meta.js",
"base/js/utils.js",
"base/js/namespace.js",
"base/js/events.js",
"base/js/page.js",
"auth/js/loginwidget.js",
"services/config.js",
"components/xterm.js/index.js",
"components/xterm.js-fit/index.js",
"terminal/js/terminado.js",
"terminal/js/main.js"
],
"names": [],
"mappings": "AAAA;AACA;AACA;AACA,ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACALine truncated
"file": "main.min.js",
"sourcesContent": [
"/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.5.1\",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],\"__proto__\"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:\"jQuery\"+(f+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==o.call(e))&&(!(t=r(e))||\"function\"==typeof(n=v.call(t,\"constructor\")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),\"function\"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S=\"sizzle\"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",W=\"\\\\[\"+M+\"*(\"+I+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)\"+M+\"*\\\\]\",F=\":(\"+I+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+W+\")*)|.*)\\\\)|)\",B=new RegExp(M+\"+\",\"g\"),$=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),_=new RegExp(\"^\"+M+\"*,Line truncated
"// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// This is CodeMirror (https://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define('codemirror/lib/codemirror',factory) :\n (global = global || self, global.CodeMirror = factory());\n}(this, (function () { 'use strict';\n\n // Kludges for bugs and behavior differences that can't be feature\n // detected are enabled based on userAgent etc sniffing.\n var userAgent = navigator.userAgent;\n var platform = navigator.platform;\n\n var gecko = /gecko\\/\\d/i.test(userAgent);\n var ie_upto10 = /MSIE \\d/.test(userAgent);\n var ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\n var edge = /Edge\\/(\\d+)/.exec(userAgent);\n var ie = ie_upto10 || ie_11up || edge;\n var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\n var webkit = !edge && /WebKit\\//.test(userAgent);\n var qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\n var chrome = !edge && /Chrome\\//.test(userAgent);\n var presto = /Opera\\//.test(userAgent);\n var safari = /Apple Computer/.test(navigator.vendor);\n var mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\n var phantom = /PhantomJS/.test(userAgent);\n\n var ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent);\n var android = /Android/.test(userAgent);\n // This is woefully incomplete. Suggestions for alternative methods welcome.\n var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\n var mac = ios || /Mac/.test(platform);\n var chromeOS = /\\bCrOS\\b/.test(userAgent);\n var windows = /win/i.test(platform);\n\n var presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\n if (presto_version) { presto_version = Number(presto_version[1]); }\n if (presto_version && presto_version >= 15) { presto = false; webkit = true; }\n // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\n var captureRightClick = gecko || (ie && ie_version >= 9);\n\n function classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\n var rmClass = function(node, cls) {\n var current = node.className;\n var match = classTest(cls).exec(current);\n if (match) {\n var after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\");\n }\n };\n\n function removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild); }\n return e\n }\n\n function removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n }\n\n function elt(tag, content, className, style) {\n var e = document.createElement(tag);\n if (className) { e.className = className; }\n if (style) { e.style.cssText = style; }\n if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)); }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } }\n return e\n }\n // wrapper for elt, which removes the elt from the accessibility tree\n function eltP(tag, content, className, style) {\n var e = elt(tag, content, className, style);\n e.setAttribute(\"role\", \"presentation\");\n return e\n }\n\n var range;\n if (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r\n }; }\n else { range = function(node, start, end) {\n var r = document.body.createTextRange();\n try { r.moveToElementText(node.parentNode); }\n catch(e) { return r }\n r.collapse(true);\n r.moveEnd(\"character\", end);\n r.moveStart(\"character\", start);\n return r\n }; }\n\n function contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n { child = child.parentNode; }\n if (parent.contains)\n { return parent.contains(child) }\n do {\n if (child.nodeType == 11) { child = child.host; }\n if (child == parent) { return true }\n } while (child = child.parentNode)\n }\n\n function activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or inLine truncated
";(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define('moment',factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefinLine truncated
"// Underscore.js 1.8.3\n// http://underscorejs.org\n// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if(\"number\"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i=\"constructor\";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION=\"1.8.3\";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w(\"length\"),k=function(n){var t=O(n);return\"number\"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),(\"number\"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),\"value\")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var Line truncated
"// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define('codemirror/mode/meta',[\"../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.modeInfo = [\n {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-encrypted\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"asc\", \"pgp\", \"sig\"]},\n {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\", \"ino\"]},\n {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\"]},\n {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\", \"cs\"]},\n {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists.txt$/},\n {name: \"CoffeeScript\", mimes: [\"application/vnd.coffeescript\", \"text/coffeescript\", \"text/x-coffeescript\"], mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n {name: \"Embedded Javascript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n {name: \"Esper\", mime: \"text/x-esper\", mode: \"sql\"},\n {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\", \"f95\"]},\n {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history).md$/i},\n {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n {name: \"Groovy\", mime: \"text/x-groovy\",Line truncated
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\ndefine('base/js/utils',[\n 'jquery',\n 'codemirror/lib/codemirror',\n 'moment',\n 'underscore',\n // silently upgrades CodeMirror\n 'codemirror/mode/meta',\n], function($, CodeMirror, moment, _){\n \"use strict\";\n \n // keep track of which extensions have been loaded already\n var extensions_loaded = [];\n\n /**\n * Whether or not an extension has been loaded\n * @param {string} extension - name of the extension\n * @return {boolean} true if loaded already\n */\n var is_loaded = function(extension) {\n var ext_path = \"nbextensions/\" + extension;\n return extensions_loaded.indexOf(ext_path) >= 0;\n };\n\n /**\n * Load a single extension.\n * @param {string} extension - extension path.\n * @return {Promise} that resolves to an extension module handle\n */\n var load_extension = function (extension) {\n return new Promise(function(resolve, reject) {\n var ext_path = \"nbextensions/\" + extension;\n requirejs([ext_path], function(module) {\n if (!is_loaded(extension)) {\n console.log(\"Loading extension: \" + extension);\n if (module && module.load_ipython_extension) {\n Promise.resolve(module.load_ipython_extension()).then(function() {\n resolve(module);\n }).catch(reject);\n }\n extensions_loaded.push(ext_path);\n } else {\n console.log(\"Loaded extension already: \" + extension);\n resolve(module);\n }\n }, function(err) {\n reject(err);\n });\n });\n };\n\n /**\n * Load multiple extensions.\n * Takes n-args, where each arg is a string path to the extension.\n * @return {Promise} that resolves to a list of loaded module handles.\n */\n var load_extensions = function () {\n console.log('load_extensions', arguments);\n return Promise.all(Array.prototype.map.call(arguments, load_extension)).catch(function(err) {\n console.error(\"Failed to load extension\" + (err.requireModules.length>1?'s':'') + \":\", err.requireModules, err);\n });\n };\n\n /**\n * Return a list of extensions that should be active\n * The config for nbextensions comes in as a dict where keys are\n * nbextensions paths and the values are a bool indicating if it\n * should be active. This returns a list of nbextension paths\n * where the value is true\n */\n function filter_extensions(nbext_config) {\n var active = [];\n Object.keys(nbext_config).forEach(function (nbext) {\n if (nbext_config[nbext]) {active.push(nbext);}\n });\n return active;\n }\n\n /**\n * Wait for a config section to load, and then load the extensions specified\n * in a 'load_extensions' key inside it.\n */\n function load_extensions_from_config(section) {\n return section.loaded.then(function() {\n if (section.data.load_extensions) {\n var active = filter_extensions(section.data.load_extensions);\n return load_extensions.apply(this, active);\n }\n }).catch(utils.reject('Could not load nbextensions from ' + section.section_name + ' config file'));\n }\n\n //============================================================================\n // Cross-browser RegEx Split\n //============================================================================\n\n // This code has been MODIFIED from the code licensed below to not replace the\n // default browser split. The license is reproduced here.\n\n // see http://blog.stevenlevithan.com/archives/cross-browser-split for more info:\n /*!\n * Cross-Browser Split 1.1.1\n * Copyright 2007-2012 Steven Levithan <stevenlevithan.com>\n * Available under the MIT License\n * ECMAScript compliant, uniform cross-browser split method\n */\n\n /**\n * Splits a string into an array of strings using a regex or string\n * separator. Matches of the separator are not included in the result array.\n * However, if `separator` is a regex that contains capturing groups,\n * backreferences are spliced into the result each time `separator` is\n * matched. Fixes browser bugs compared to the native\n * `String.prototype.split` and can be used reliably cross-browser.\n * @param {String} str String to split.\n * @param {RegExp} separator Regex to use for separating\n * the string.\n * @param {Number} [limit] Maximum number of items to include in the result\n * array.\n * @returns {Array} Array of substrings.\n * @example\n *\n Line truncated
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\nvar Jupyter = Jupyter || {};\n\nvar jprop = function(name, module_path){\n Object.defineProperty(Jupyter, name, {\n get: function() { \n console.warn('accessing `'+name+'` is deprecated. Use `requirejs(\"'+module_path+'\")`');\n return requirejs(module_path); \n },\n enumerable: true,\n configurable: false\n });\n}\n\nvar jglobal = function(name, module_path){\n Object.defineProperty(Jupyter, name, {\n get: function() { \n console.warn('accessing `'+name+'` is deprecated. Use `requirejs(\"'+module_path+'\").'+name+'`');\n return requirejs(module_path)[name]; \n },\n enumerable: true,\n configurable: false\n });\n}\n\ndefine('base/js/namespace',[],function(){\n \"use strict\";\n\n // expose modules\n \n jprop('utils','base/js/utils')\n jprop('mathjaxutils','base/js/mathjaxutils');\n\n //Jupyter.load_extensions = Jupyter.utils.load_extensions;\n // \n jprop('security','base/js/security');\n jprop('keyboard','base/js/keyboard');\n jprop('dialog','base/js/dialog');\n\n\n //// exposed constructors\n jglobal('CommManager','services/kernels/comm')\n jglobal('Comm','services/kernels/comm')\n\n jglobal('NotificationWidget','base/js/notificationwidget');\n jglobal('Kernel','services/kernels/kernel');\n jglobal('Session','services/sessions/session');\n jglobal('LoginWidget','auth/js/loginwidget');\n jglobal('Page','base/js/page');\n\n // notebook\n jglobal('TextCell','notebook/js/textcell');\n jglobal('OutputArea','notebook/js/outputarea');\n jglobal('KeyboardManager','notebook/js/keyboardmanager');\n jglobal('Completer','notebook/js/completer');\n jglobal('Notebook','notebook/js/notebook');\n jglobal('Tooltip','notebook/js/tooltip');\n jglobal('Toolbar','notebook/js/toolbar');\n jglobal('SaveWidget','notebook/js/savewidget');\n jglobal('Pager','notebook/js/pager');\n jglobal('QuickHelp','notebook/js/quickhelp');\n jglobal('MarkdownCell','notebook/js/textcell');\n jglobal('RawCell','notebook/js/textcell');\n jglobal('Cell','notebook/js/cell');\n jglobal('MainToolBar','notebook/js/maintoolbar');\n jglobal('NotebookNotificationArea','notebook/js/notificationarea');\n jglobal('NotebookTour', 'notebook/js/tour');\n jglobal('MenuBar', 'notebook/js/menubar');\n\n // tree\n jglobal('SessionList','tree/js/sessionlist');\n\n Jupyter.version = \"6.4.11\";\n Jupyter._target = '_blank';\n\n return Jupyter;\n});\n\n// deprecated since 4.0, remove in 5+\nvar IPython = Jupyter;\n\n",
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n// Give us an object to bind all events to. This object should be created\n// before all other objects so it exists when others register event handlers.\n// To register an event handler:\n//\n// requirejs(['base/js/events'], function (events) {\n// events.on(\"event.Namespace\", function () { do_stuff(); });\n// });\n\ndefine('base/js/events',['jquery', 'base/js/namespace'], function($, Jupyter) {\n \"use strict\";\n \n // Events singleton\n if (!window._Events) {\n window._Events = function () {};\n window._events = new window._Events();\n }\n \n // Backwards compatibility.\n Jupyter.Events = window._Events;\n Jupyter.events = window._events;\n \n var events = $([window._events]);\n\n // catch and log errors in triggered events\n events._original_trigger = events.trigger;\n events.trigger = function (name, data) {\n try {\n this._original_trigger.apply(this, arguments);\n } catch (e) {\n console.error(\"Exception in event handler for \" + name, e, arguments);\n }\n }\n return events;\n});\n\n",
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\ndefine('base/js/page',[\n 'jquery',\n 'base/js/events',\n], function($, events){\n \"use strict\";\n\n var Page = function (header_div_selector, site_div_selector) {\n /**\n * Constructor\n *\n * Parameters\n * header_div_selector: string\n * site_div_selector: string\n */\n this.header_div_element = $(header_div_selector || 'div#header');\n this.site_div_element = $(site_div_selector || 'div#site');\n\n this.bind_events();\n };\n\n Page.prototype.bind_events = function () {\n // resize site on:\n // - window resize\n // - header change\n // - page load\n var _handle_resize = $.proxy(this._resize_site, this);\n\n $(window).resize(_handle_resize);\n\n // On document ready, resize codemirror.\n $(document).ready(_handle_resize);\n events.on('resize-header.Page', _handle_resize);\n };\n\n Page.prototype.show = function () {\n /**\n * The header and site divs start out hidden to prevent FLOUC.\n * Main scripts should call this method after styling everything.\n */\n this.show_header();\n this.show_site();\n };\n\n Page.prototype.show_header = function () {\n /**\n * The header and site divs start out hidden to prevent FLOUC.\n * Main scripts should call this method after styling everything.\n */\n this.header_div_element.css('display','block');\n };\n\n Page.prototype.show_site = function () {\n /**\n * The header and site divs start out hidden to prevent FLOUC.\n * Main scripts should call this method after styling everything.\n */\n this.site_div_element.css('display', 'block');\n this._resize_site();\n };\n\n Page.prototype._resize_site = function(e) {\n /**\n * Update the site's size.\n */\n\n // In the case an event is passed in, only trigger if the event does\n // *not* have a target DOM node (i.e., it is not bubbling up). See\n // https://bugs.jquery.com/ticket/9841#comment:8\n if (!(e && e.target && e.target.tagName)) {\n $('div#site').height($(window).height() - $('#header').height());\n }\n };\n\n return {'Page': Page};\n});\n\n",
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\ndefine('auth/js/loginwidget',[\n 'jquery',\n 'base/js/utils',\n], function($, utils){\n \"use strict\";\n\n var LoginWidget = function (selector, options) {\n options = options || {};\n this.base_url = options.base_url || utils.get_body_data(\"baseUrl\");\n this.selector = selector;\n if (this.selector !== undefined) {\n this.element = $(selector);\n this.bind_events();\n }\n };\n\n\n LoginWidget.prototype.bind_events = function () {\n var that = this;\n this.element.find(\"button#logout\").click(function () {\n window.location = utils.url_path_join(\n that.base_url,\n \"logout\"\n );\n });\n this.element.find(\"button#login\").click(function () {\n window.location = utils.url_path_join(\n that.base_url,\n \"login\"\n );\n });\n };\n\n return {'LoginWidget': LoginWidget};\n});\n\n",
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\ndefine('services/config',[\n 'base/js/utils',\n ],\nfunction(utils) {\n \"use strict\";\n var ConfigSection = function(section_name, options) {\n this.section_name = section_name;\n this.base_url = options.base_url;\n this.data = {};\n \n var that = this;\n \n /* .loaded is a promise, fulfilled the first time the config is loaded\n * from the server. Code can do:\n * conf.loaded.then(function() { ... using conf.data ... });\n */\n this._one_load_finished = false;\n this.loaded = new Promise(function(resolve, reject) {\n that._finish_firstload = resolve;\n });\n };\n\n ConfigSection.prototype.api_url = function() {\n return utils.url_path_join(this.base_url, 'api/config',\n utils.encode_uri_components(this.section_name));\n };\n \n ConfigSection.prototype._load_done = function() {\n if (!this._one_load_finished) {\n this._one_load_finished = true;\n this._finish_firstload();\n }\n };\n \n ConfigSection.prototype.load = function() {\n var that = this;\n return utils.promising_ajax(this.api_url(), {\n cache: false,\n type: \"GET\",\n dataType: \"json\",\n }).then(function(data) {\n that.data = data;\n that._load_done();\n return data;\n });\n };\n \n /**\n * Modify the config values stored. Update the local data immediately,\n * send the change to the server, and use the updated data from the server\n * when the reply comes.\n */\n ConfigSection.prototype.update = function(newdata) {\n $.extend(true, this.data, newdata); // true -> recursive update\n \n var that = this;\n return utils.promising_ajax(this.api_url(), {\n processData: false,\n type : \"PATCH\",\n data: JSON.stringify(newdata),\n dataType : \"json\",\n contentType: 'application/json',\n }).then(function(data) {\n that.data = data;\n that._load_done();\n return data;\n });\n };\n \n \n var ConfigWithDefaults = function(section, defaults, classname) {\n this.section = section;\n this.defaults = defaults;\n this.classname = classname;\n };\n \n ConfigWithDefaults.prototype._class_data = function() {\n if (this.classname) {\n return this.section.data[this.classname] || {};\n } else {\n return this.section.data;\n }\n };\n \n /**\n * Wait for config to have loaded, then get a value or the default.\n * Returns a promise.\n */\n ConfigWithDefaults.prototype.get = function(key) {\n var that = this;\n return this.section.loaded.then(function() {\n return that.get_sync(key);\n });\n };\n \n /**\n * Return a config value. If config is not yet loaded, return the default\n * instead of waiting for it to load.\n */\n ConfigWithDefaults.prototype.get_sync = function(key) {\n var data = this._class_data();\n if (key === undefined) {\n // no key specified, return full config data\n return $.extend(true, {}, this.defaults, data);\n }\n\n var value = data[key];\n if (value !== undefined) {\n if (typeof value == 'object') {\n // merge with defaults if it's an object\n return $.extend(true, {}, this.defaults[key], value);\n } else {\n return value;\n }\n }\n return this.defaults[key];\n };\n \n /**\n * Set a config value. Send the update to the server, and change our\n * local copy of the data immediately.\n * Returns a promise which is fulfilled when the server replies to the\n * change.\n */\n ConfigWithDefaults.prototype.set = function(key, value) {\n var d = {};\n d[key] = value;\n if (this.classname) {\n var d2 = {};\n d2[this.classname] = d;\n return this.section.update(d2);\n } else {\n return this.section.update(d);\n }\n };\n \n return {ConfigSection: ConfigSection,\n ConfigWithDefaults: ConfigWithDefaults,\n };\n\n});\n\n",
"(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define('xterm',[],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Terminal = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CircularList_1 = require(\"./utils/CircularList\");\nexports.CHAR_DATA_ATTR_INDEX = 0;\nexports.CHAR_DATA_CHAR_INDEX = 1;\nexports.CHAR_DATA_WIDTH_INDEX = 2;\nexports.CHAR_DATA_CODE_INDEX = 3;\nexports.MAX_BUFFER_SIZE = 4294967295;\nvar Buffer = (function () {\n function Buffer(_terminal, _hasScrollback) {\n this._terminal = _terminal;\n this._hasScrollback = _hasScrollback;\n this.clear();\n }\n Object.defineProperty(Buffer.prototype, \"lines\", {\n get: function () {\n return this._lines;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Buffer.prototype, \"hasScrollback\", {\n get: function () {\n return this._hasScrollback && this.lines.maxLength > this._terminal.rows;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Buffer.prototype, \"isCursorInViewport\", {\n get: function () {\n var absoluteY = this.ybase + this.y;\n var relativeY = absoluteY - this.ydisp;\n return (relativeY >= 0 && relativeY < this._terminal.rows);\n },\n enumerable: true,\n configurable: true\n });\n Buffer.prototype._getCorrectBufferLength = function (rows) {\n if (!this._hasScrollback) {\n return rows;\n }\n var correctBufferLength = rows + this._terminal.options.scrollback;\n return correctBufferLength > exports.MAX_BUFFER_SIZE ? exports.MAX_BUFFER_SIZE : correctBufferLength;\n };\n Buffer.prototype.fillViewportRows = function () {\n if (this._lines.length === 0) {\n var i = this._terminal.rows;\n while (i--) {\n this.lines.push(this._terminal.blankLine());\n }\n }\n };\n Buffer.prototype.clear = function () {\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n this.x = 0;\n this._lines = new CircularList_1.CircularList(this._getCorrectBufferLength(this._terminal.rows));\n this.scrollTop = 0;\n this.scrollBottom = this._terminal.rows - 1;\n this.setupTabStops();\n };\n Buffer.prototype.resize = function (newCols, newRows) {\n var newMaxLength = this._getCorrectBufferLength(newRows);\n if (newMaxLength > this._lines.maxLength) {\n this._lines.maxLength = newMaxLength;\n }\n if (this._lines.length > 0) {\n if (this._terminal.cols < newCols) {\n var ch = [this._terminal.defAttr, ' ', 1, 32];\n for (var i = 0; i < this._lines.length; i++) {\n while (this._lines.get(i).length < newCols) {\n this._lines.get(i).push(ch);\n }\n }\n }\n var addToY = 0;\n if (this._terminal.rows < newRows) {\n for (var y = this._terminal.rows; y < newRows; y++) {\n if (this._lines.length < newRows + this.ybase) {\n if (this.ybase > 0 && this._lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this._lines.push(this._terminal.blankLine(undefined, undefined, newCols));\n }\n }\n }\n }\n else {\n for (var y = this._terminal.rows; y > newRows; y--) {\n if (this._lines.length > newRows + this.ybase) {\n if (this._lines.length > this.ybase + this.y + 1) {\n this._lines.pop();\n }\n else {\n this.ybase++;\n Line truncated
"(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define('xtermjs-fit',[],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.fit = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction proposeGeometry(term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement);\n var parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));\n var parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')));\n var elementStyle = window.getComputedStyle(term.element);\n var elementPadding = {\n top: parseInt(elementStyle.getPropertyValue('padding-top')),\n bottom: parseInt(elementStyle.getPropertyValue('padding-bottom')),\n right: parseInt(elementStyle.getPropertyValue('padding-right')),\n left: parseInt(elementStyle.getPropertyValue('padding-left'))\n };\n var elementPaddingVer = elementPadding.top + elementPadding.bottom;\n var elementPaddingHor = elementPadding.right + elementPadding.left;\n var availableHeight = parentElementHeight - elementPaddingVer;\n var availableWidth = parentElementWidth - elementPaddingHor - term.viewport.scrollBarWidth;\n var geometry = {\n cols: Math.floor(availableWidth / term.renderer.dimensions.actualCellWidth),\n rows: Math.floor(availableHeight / term.renderer.dimensions.actualCellHeight)\n };\n return geometry;\n}\nexports.proposeGeometry = proposeGeometry;\nfunction fit(term) {\n var geometry = proposeGeometry(term);\n if (geometry) {\n if (term.rows !== geometry.rows || term.cols !== geometry.cols) {\n term.renderer.clear();\n term.resize(geometry.cols, geometry.rows);\n }\n }\n}\nexports.fit = fit;\nfunction apply(terminalConstructor) {\n terminalConstructor.prototype.proposeGeometry = function () {\n return proposeGeometry(this);\n };\n terminalConstructor.prototype.fit = function () {\n fit(this);\n };\n}\nexports.apply = apply;\n\n\n\n},{}]},{},[1])(1)\n});\n//# sourceMappingURL=fit.js.map\n;\n",
"define ('terminal/js/terminado',[\"xterm\", \"xtermjs-fit\"], function(Terminal, fit) {\n \"use strict\";\n function make_terminal(element, ws_url) {\n var ws = new WebSocket(ws_url);\n Terminal.applyAddon(fit);\n var term = new Terminal();\n ws.onopen = function(event) {\n term.on('data', function(data) {\n ws.send(JSON.stringify(['stdin', data]));\n });\n \n term.on('title', function(title) {\n document.title = title;\n });\n \n term.open(element);\n term.fit();\n // send the terminal size to the server.\n ws.send(JSON.stringify([\"set_size\", term.rows, term.cols,\n window.innerHeight, window.innerWidth]));\n\n ws.onmessage = function(event) {\n var json_msg = JSON.parse(event.data);\n switch(json_msg[0]) {\n case \"stdout\":\n term.write(json_msg[1]);\n break;\n case \"disconnect\":\n term.write(\"\\r\\n\\r\\n[CLOSED]\\r\\n\");\n break;\n }\n };\n };\n return {socket: ws, term: term};\n }\n\n return {make_terminal: make_terminal};\n});\n\n",
"// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nrequirejs([\n 'jquery',\n 'base/js/utils',\n 'base/js/page',\n 'auth/js/loginwidget',\n 'services/config',\n 'terminal/js/terminado',\n], function(\n $,\n utils,\n page,\n loginwidget,\n configmod,\n terminado\n ){\n \"use strict\";\n requirejs(['custom/custom'], function() {});\n page = new page.Page('div#header', 'div#site');\n\n var common_options = {\n base_url : utils.get_body_data(\"baseUrl\"),\n };\n\n var config = new configmod.ConfigSection('terminal', common_options);\n config.load();\n var common_config = new configmod.ConfigSection('common', common_options);\n common_config.load();\n\n // This makes the 'logout' button in the top right work.\n var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options);\n\n var base_url = utils.get_body_data('baseUrl').replace(/\\/?$/, '/');\n var ws_path = utils.get_body_data('wsPath');\n var ws_url = utils.get_body_data('wsUrl');\n if (!ws_url) {\n // trailing 's' in https will become wss for secure web sockets\n ws_url = location.protocol.replace('http', 'ws') + \"//\" + location.host;\n }\n ws_url = ws_url + base_url + ws_path;\n \n page.show_header();\n \n var terminal = terminado.make_terminal($(\"#terminado-container\")[0], ws_url);\n \n page.show_site();\n \n utils.load_extensions_from_config(config);\n utils.load_extensions_from_config(common_config);\n \n window.onresize = function() {\n terminal.term.fit();\n // send the new size to the server so that it can trigger a resize in the running process.\n terminal.socket.send(JSON.stringify([\"set_size\", terminal.term.rows, terminal.term.cols,\n $(window).height(), $(window).width()]));\n };\n\n // Expose terminal for fiddling with in the browser\n window.terminal = terminal;\n\n});\n\ndefine(\"terminal/js/main\", function(){});\n\n"
]
}
@@ -0,0 +1,38 @@
define (["xterm", "xtermjs-fit"], function(Terminal, fit) {
"use strict";
function make_terminal(element, ws_url) {
var ws = new WebSocket(ws_url);
Terminal.applyAddon(fit);
var term = new Terminal();
ws.onopen = function(event) {
term.on('data', function(data) {
ws.send(JSON.stringify(['stdin', data]));
});
term.on('title', function(title) {
document.title = title;
});
term.open(element);
term.fit();
// send the terminal size to the server.
ws.send(JSON.stringify(["set_size", term.rows, term.cols,
window.innerHeight, window.innerWidth]));
ws.onmessage = function(event) {
var json_msg = JSON.parse(event.data);
switch(json_msg[0]) {
case "stdout":
term.write(json_msg[1]);
break;
case "disconnect":
term.write("\r\n\r\n[CLOSED]\r\n");
break;
}
};
};
return {socket: ws, term: term};
}
return {make_terminal: make_terminal};
});