elkjs
Version:
Automatic graph layout based on Sugiyama's algorithm. Specialized for data flow diagrams and ports.
1,887 lines (1,863 loc) • 1.61 MB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],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.ELK = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/*******************************************************************************
* Copyright (c) 2017 Kiel University and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
var ELK = function () {
function ELK() {
var _this = this;
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$defaultLayoutOpt = _ref.defaultLayoutOptions,
defaultLayoutOptions = _ref$defaultLayoutOpt === undefined ? {} : _ref$defaultLayoutOpt,
_ref$algorithms = _ref.algorithms,
algorithms = _ref$algorithms === undefined ? ['layered', 'stress', 'mrtree', 'radial', 'force', 'disco', 'sporeOverlap', 'sporeCompaction', 'rectpacking'] : _ref$algorithms,
workerFactory = _ref.workerFactory,
workerUrl = _ref.workerUrl;
_classCallCheck(this, ELK);
this.defaultLayoutOptions = defaultLayoutOptions;
this.initialized = false;
// check valid worker construction possible
if (typeof workerUrl === 'undefined' && typeof workerFactory === 'undefined') {
throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");
}
var factory = workerFactory;
if (typeof workerUrl !== 'undefined' && typeof workerFactory === 'undefined') {
// use default Web Worker
factory = function factory(url) {
return new Worker(url);
};
}
// create the worker
var worker = factory(workerUrl);
if (typeof worker.postMessage !== 'function') {
throw new TypeError("Created worker does not provide" + " the required 'postMessage' function.");
}
// wrap the worker to return promises
this.worker = new PromisedWorker(worker);
// initially register algorithms
this.worker.postMessage({
cmd: 'register',
algorithms: algorithms
}).then(function (r) {
return _this.initialized = true;
}).catch(console.err);
}
_createClass(ELK, [{
key: 'layout',
value: function layout(graph) {
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref2$layoutOptions = _ref2.layoutOptions,
layoutOptions = _ref2$layoutOptions === undefined ? this.defaultLayoutOptions : _ref2$layoutOptions,
_ref2$logging = _ref2.logging,
logging = _ref2$logging === undefined ? false : _ref2$logging,
_ref2$measureExecutio = _ref2.measureExecutionTime,
measureExecutionTime = _ref2$measureExecutio === undefined ? false : _ref2$measureExecutio;
if (!graph) {
return Promise.reject(new Error("Missing mandatory parameter 'graph'."));
}
return this.worker.postMessage({
cmd: 'layout',
graph: graph,
layoutOptions: layoutOptions,
options: {
logging: logging,
measureExecutionTime: measureExecutionTime
}
});
}
}, {
key: 'knownLayoutAlgorithms',
value: function knownLayoutAlgorithms() {
return this.worker.postMessage({ cmd: 'algorithms' });
}
}, {
key: 'knownLayoutOptions',
value: function knownLayoutOptions() {
return this.worker.postMessage({ cmd: 'options' });
}
}, {
key: 'knownLayoutCategories',
value: function knownLayoutCategories() {
return this.worker.postMessage({ cmd: 'categories' });
}
}, {
key: 'terminateWorker',
value: function terminateWorker() {
this.worker.terminate();
}
}]);
return ELK;
}();
exports.default = ELK;
var PromisedWorker = function () {
function PromisedWorker(worker) {
var _this2 = this;
_classCallCheck(this, PromisedWorker);
if (worker === undefined) {
throw new Error("Missing mandatory parameter 'worker'.");
}
this.resolvers = {};
this.worker = worker;
this.worker.onmessage = function (answer) {
// why is this necessary?
setTimeout(function () {
_this2.receive(_this2, answer);
}, 0);
};
}
_createClass(PromisedWorker, [{
key: 'postMessage',
value: function postMessage(msg) {
var id = this.id || 0;
this.id = id + 1;
msg.id = id;
var self = this;
return new Promise(function (resolve, reject) {
// prepare the resolver
self.resolvers[id] = function (err, res) {
if (err) {
self.convertGwtStyleError(err);
reject(err);
} else {
resolve(res);
}
};
// post the message
self.worker.postMessage(msg);
});
}
}, {
key: 'receive',
value: function receive(self, answer) {
var json = answer.data;
var resolver = self.resolvers[json.id];
if (resolver) {
delete self.resolvers[json.id];
if (json.error) {
resolver(json.error);
} else {
resolver(null, json.data);
}
}
}
}, {
key: 'terminate',
value: function terminate() {
if (this.worker.terminate) {
this.worker.terminate();
}
}
}, {
key: 'convertGwtStyleError',
value: function convertGwtStyleError(err) {
if (!err) {
return;
}
// Somewhat flatten the way GWT stores nested exception(s)
var javaException = err['__java$exception'];
if (javaException) {
// Note that the property name of the nested exception is different
// in the non-minified ('cause') and the minified (not deterministic) version.
// Hence, the version below only works for the non-minified version.
// However, as the minified stack trace is not of much use anyway, one
// should switch the used version for debugging in such a case.
if (javaException.cause && javaException.cause.backingJsObject) {
err.cause = javaException.cause.backingJsObject;
this.convertGwtStyleError(err.cause);
}
delete err['__java$exception'];
}
}
}]);
return PromisedWorker;
}();
},{}],2:[function(require,module,exports){
(function (global){(function (){
'use strict';
// -------------- FAKE ELEMENTS GWT ASSUMES EXIST --------------
var $wnd;
if (typeof window !== 'undefined')
$wnd = window
else if (typeof global !== 'undefined')
$wnd = global // nodejs
else if (typeof self !== 'undefined')
$wnd = self // web worker
var $moduleName,
$moduleBase;
// -------------- WORKAROUND STRICT MODE, SEE #127 --------------
var g, i, o;
// -------------- GENERATED CODE --------------
function nb(){}
function xb(){}
function Fd(){}
function hh(){}
function lq(){}
function Nq(){}
function ir(){}
function Ws(){}
function Zw(){}
function jx(){}
function rx(){}
function sx(){}
function My(){}
function bA(){}
function mA(){}
function tA(){}
function aB(){}
function dB(){}
function jB(){}
function dC(){}
function keb(){}
function geb(){}
function oeb(){}
function iob(){}
function Job(){}
function Rob(){}
function apb(){}
function ipb(){}
function nrb(){}
function wrb(){}
function Brb(){}
function Prb(){}
function ltb(){}
function svb(){}
function xvb(){}
function zvb(){}
function $xb(){}
function Gzb(){}
function NAb(){}
function VAb(){}
function rBb(){}
function RBb(){}
function TBb(){}
function XBb(){}
function ZBb(){}
function _Bb(){}
function bCb(){}
function dCb(){}
function fCb(){}
function jCb(){}
function rCb(){}
function uCb(){}
function wCb(){}
function yCb(){}
function ACb(){}
function ECb(){}
function FEb(){}
function IEb(){}
function KEb(){}
function MEb(){}
function gFb(){}
function FFb(){}
function JFb(){}
function xGb(){}
function AGb(){}
function YGb(){}
function oHb(){}
function tHb(){}
function xHb(){}
function pIb(){}
function BJb(){}
function kLb(){}
function mLb(){}
function oLb(){}
function qLb(){}
function FLb(){}
function JLb(){}
function KMb(){}
function MMb(){}
function OMb(){}
function YMb(){}
function MNb(){}
function ONb(){}
function aOb(){}
function eOb(){}
function xOb(){}
function BOb(){}
function DOb(){}
function FOb(){}
function IOb(){}
function MOb(){}
function POb(){}
function UOb(){}
function ZOb(){}
function cPb(){}
function gPb(){}
function nPb(){}
function qPb(){}
function tPb(){}
function wPb(){}
function CPb(){}
function qQb(){}
function GQb(){}
function bRb(){}
function gRb(){}
function kRb(){}
function pRb(){}
function wRb(){}
function xSb(){}
function TSb(){}
function VSb(){}
function XSb(){}
function ZSb(){}
function _Sb(){}
function tTb(){}
function DTb(){}
function FTb(){}
function FXb(){}
function hXb(){}
function hWb(){}
function mWb(){}
function CVb(){}
function XXb(){}
function $Xb(){}
function bYb(){}
function lYb(){}
function FYb(){}
function XYb(){}
function aZb(){}
function SZb(){}
function ZZb(){}
function Z_b(){}
function j_b(){}
function j$b(){}
function b$b(){}
function f$b(){}
function n$b(){}
function K_b(){}
function V_b(){}
function b0b(){}
function l0b(){}
function X1b(){}
function _1b(){}
function x3b(){}
function r4b(){}
function w4b(){}
function A4b(){}
function E4b(){}
function I4b(){}
function M4b(){}
function o5b(){}
function q5b(){}
function w5b(){}
function A5b(){}
function E5b(){}
function h6b(){}
function j6b(){}
function l6b(){}
function q6b(){}
function v6b(){}
function y6b(){}
function G6b(){}
function K6b(){}
function N6b(){}
function P6b(){}
function R6b(){}
function b7b(){}
function f7b(){}
function j7b(){}
function n7b(){}
function C7b(){}
function H7b(){}
function J7b(){}
function L7b(){}
function N7b(){}
function P7b(){}
function a8b(){}
function c8b(){}
function e8b(){}
function g8b(){}
function i8b(){}
function m8b(){}
function Z8b(){}
function f9b(){}
function i9b(){}
function o9b(){}
function C9b(){}
function F9b(){}
function K9b(){}
function Q9b(){}
function aac(){}
function bac(){}
function eac(){}
function mac(){}
function pac(){}
function rac(){}
function tac(){}
function xac(){}
function Aac(){}
function Dac(){}
function Iac(){}
function Oac(){}
function Uac(){}
function Ucc(){}
function scc(){}
function ycc(){}
function Acc(){}
function Ccc(){}
function Ncc(){}
function Wcc(){}
function ydc(){}
function Adc(){}
function Gdc(){}
function Ldc(){}
function Zdc(){}
function fec(){}
function Dec(){}
function Gec(){}
function Kec(){}
function efc(){}
function jfc(){}
function nfc(){}
function Bfc(){}
function Ifc(){}
function Lfc(){}
function Rfc(){}
function Ufc(){}
function Zfc(){}
function cgc(){}
function egc(){}
function ggc(){}
function igc(){}
function kgc(){}
function Dgc(){}
function Hgc(){}
function Lgc(){}
function Ngc(){}
function Pgc(){}
function Vgc(){}
function Ygc(){}
function chc(){}
function ehc(){}
function ghc(){}
function ihc(){}
function mhc(){}
function rhc(){}
function uhc(){}
function whc(){}
function yhc(){}
function Ahc(){}
function Chc(){}
function Ghc(){}
function Nhc(){}
function Phc(){}
function Rhc(){}
function Thc(){}
function $hc(){}
function aic(){}
function cic(){}
function eic(){}
function jic(){}
function nic(){}
function pic(){}
function ric(){}
function vic(){}
function yic(){}
function Dic(){}
function Ric(){}
function Zic(){}
function bjc(){}
function djc(){}
function jjc(){}
function njc(){}
function rjc(){}
function tjc(){}
function zjc(){}
function Djc(){}
function Fjc(){}
function Ljc(){}
function Pjc(){}
function Rjc(){}
function fkc(){}
function Kkc(){}
function Mkc(){}
function Okc(){}
function Qkc(){}
function Skc(){}
function Ukc(){}
function Wkc(){}
function clc(){}
function elc(){}
function klc(){}
function mlc(){}
function olc(){}
function qlc(){}
function wlc(){}
function ylc(){}
function Alc(){}
function Jlc(){}
function Joc(){}
function poc(){}
function roc(){}
function toc(){}
function voc(){}
function Boc(){}
function Foc(){}
function Hoc(){}
function Loc(){}
function Noc(){}
function Poc(){}
function qnc(){}
function unc(){}
function upc(){}
function kpc(){}
function mpc(){}
function opc(){}
function qpc(){}
function ypc(){}
function Cpc(){}
function Mpc(){}
function Qpc(){}
function dqc(){}
function jqc(){}
function Aqc(){}
function Eqc(){}
function Gqc(){}
function Sqc(){}
function arc(){}
function lrc(){}
function zrc(){}
function Hrc(){}
function bsc(){}
function dsc(){}
function fsc(){}
function ksc(){}
function msc(){}
function Asc(){}
function Csc(){}
function Esc(){}
function Ksc(){}
function Nsc(){}
function Ssc(){}
function CCc(){}
function tGc(){}
function aHc(){}
function gHc(){}
function nIc(){}
function PJc(){}
function XKc(){}
function fLc(){}
function hLc(){}
function lLc(){}
function eNc(){}
function IOc(){}
function MOc(){}
function WOc(){}
function YOc(){}
function $Oc(){}
function cPc(){}
function iPc(){}
function mPc(){}
function oPc(){}
function qPc(){}
function sPc(){}
function wPc(){}
function APc(){}
function FPc(){}
function HPc(){}
function NPc(){}
function PPc(){}
function TPc(){}
function VPc(){}
function ZPc(){}
function _Pc(){}
function bQc(){}
function dQc(){}
function SQc(){}
function hRc(){}
function HRc(){}
function HSc(){}
function pSc(){}
function xSc(){}
function zSc(){}
function BSc(){}
function DSc(){}
function FSc(){}
function CTc(){}
function ITc(){}
function KTc(){}
function MTc(){}
function XTc(){}
function ZTc(){}
function jVc(){}
function lVc(){}
function zVc(){}
function IVc(){}
function KVc(){}
function KWc(){}
function uWc(){}
function xWc(){}
function AWc(){}
function QWc(){}
function UWc(){}
function qXc(){}
function KXc(){}
function OXc(){}
function SXc(){}
function $Xc(){}
function mYc(){}
function rYc(){}
function zYc(){}
function DYc(){}
function FYc(){}
function HYc(){}
function JYc(){}
function cZc(){}
function gZc(){}
function iZc(){}
function pZc(){}
function tZc(){}
function vZc(){}
function AZc(){}
function GZc(){}
function l_c(){}
function l1c(){}
function b1c(){}
function d1c(){}
function h1c(){}
function n1c(){}
function r1c(){}
function v1c(){}
function x1c(){}
function D1c(){}
function H1c(){}
function L1c(){}
function R1c(){}
function V1c(){}
function Z1c(){}
function Z0c(){}
function a0c(){}
function c0c(){}
function e0c(){}
function k0c(){}
function o0c(){}
function b2c(){}
function l2c(){}
function p2c(){}
function Y2c(){}
function _2c(){}
function A3c(){}
function F3c(){}
function I3c(){}
function K3c(){}
function M3c(){}
function Q3c(){}
function U3c(){}
function c5c(){}
function D5c(){}
function G5c(){}
function J5c(){}
function N5c(){}
function V5c(){}
function p6c(){}
function s6c(){}
function H6c(){}
function K6c(){}
function _7c(){}
function h8c(){}
function j8c(){}
function o8c(){}
function r8c(){}
function u8c(){}
function R8c(){}
function X8c(){}
function o9c(){}
function s9c(){}
function x9c(){}
function Qad(){}
function rcd(){}
function Xcd(){}
function vdd(){}
function Tdd(){}
function _dd(){}
function qed(){}
function sed(){}
function ved(){}
function Hed(){}
function Zed(){}
function bfd(){}
function ifd(){}
function Gfd(){}
function Ifd(){}
function Igd(){}
function agd(){}
function dgd(){}
function pgd(){}
function Hgd(){}
function Kgd(){}
function Mgd(){}
function Ogd(){}
function Qgd(){}
function Sgd(){}
function Ugd(){}
function Wgd(){}
function Ygd(){}
function $gd(){}
function ahd(){}
function chd(){}
function ehd(){}
function ghd(){}
function ihd(){}
function khd(){}
function mhd(){}
function ohd(){}
function qhd(){}
function shd(){}
function Shd(){}
function lkd(){}
function znd(){}
function Jpd(){}
function jrd(){}
function Mrd(){}
function Qrd(){}
function Urd(){}
function Yrd(){}
function Yud(){}
function eud(){}
function asd(){}
function Lsd(){}
function btd(){}
function dtd(){}
function jtd(){}
function otd(){}
function ztd(){}
function Xxd(){}
function $yd(){}
function rzd(){}
function Rzd(){}
function KAd(){}
function hCd(){}
function _Cd(){}
function _Sd(){}
function OSd(){}
function BDd(){}
function BId(){}
function JId(){}
function YHd(){}
function fLd(){}
function cPd(){}
function hQd(){}
function AQd(){}
function kUd(){}
function VUd(){}
function pVd(){}
function W$d(){}
function Z$d(){}
function a_d(){}
function i_d(){}
function v_d(){}
function y_d(){}
function f1d(){}
function L5d(){}
function v6d(){}
function b8d(){}
function e8d(){}
function h8d(){}
function k8d(){}
function n8d(){}
function q8d(){}
function t8d(){}
function w8d(){}
function z8d(){}
function X9d(){}
function _9d(){}
function Mae(){}
function cbe(){}
function ebe(){}
function hbe(){}
function kbe(){}
function nbe(){}
function qbe(){}
function tbe(){}
function wbe(){}
function zbe(){}
function Cbe(){}
function Fbe(){}
function Ibe(){}
function Lbe(){}
function Obe(){}
function Rbe(){}
function Ube(){}
function Xbe(){}
function $be(){}
function bce(){}
function ece(){}
function hce(){}
function kce(){}
function nce(){}
function qce(){}
function tce(){}
function wce(){}
function zce(){}
function Cce(){}
function Fce(){}
function Ice(){}
function Lce(){}
function Oce(){}
function Rce(){}
function Uce(){}
function Xce(){}
function $ce(){}
function bde(){}
function ede(){}
function hde(){}
function kde(){}
function nde(){}
function qde(){}
function tde(){}
function wde(){}
function Hie(){}
function rke(){}
function rne(){}
function Ene(){}
function Gne(){}
function Jne(){}
function Mne(){}
function Pne(){}
function Sne(){}
function Vne(){}
function Yne(){}
function _ne(){}
function yme(){}
function coe(){}
function foe(){}
function ioe(){}
function loe(){}
function ooe(){}
function roe(){}
function uoe(){}
function xoe(){}
function Aoe(){}
function Doe(){}
function Goe(){}
function Joe(){}
function Moe(){}
function Poe(){}
function Soe(){}
function Voe(){}
function Yoe(){}
function _oe(){}
function cpe(){}
function fpe(){}
function ipe(){}
function lpe(){}
function ope(){}
function rpe(){}
function upe(){}
function xpe(){}
function Ape(){}
function Dpe(){}
function Gpe(){}
function Jpe(){}
function Mpe(){}
function Ppe(){}
function Spe(){}
function Vpe(){}
function Ype(){}
function _pe(){}
function cqe(){}
function fqe(){}
function iqe(){}
function lqe(){}
function oqe(){}
function rqe(){}
function uqe(){}
function Tqe(){}
function sue(){}
function Cue(){}
function A2b(a){}
function J3d(a){}
function zl(){wb()}
function z7b(){s7b()}
function ZHb(){YHb()}
function fSb(){eSb()}
function vSb(){tSb()}
function PUb(){OUb()}
function AVb(){yVb()}
function RVb(){QVb()}
function fWb(){dWb()}
function N5b(){H5b()}
function $9b(){U9b()}
function Lcc(){Hcc()}
function pdc(){Zcc()}
function pec(){iec()}
function pGc(){nGc()}
function jGc(){gGc()}
function YGc(){SGc()}
function cGc(){_Fc()}
function NFc(){KFc()}
function xgc(){sgc()}
function xHc(){tHc()}
function pHc(){lHc()}
function IHc(){CHc()}
function XHc(){RHc()}
function boc(){Mnc()}
function yqc(){mqc()}
function Pzc(){Ozc()}
function ACc(){yCc()}
function aKc(){YJc()}
function FLc(){DLc()}
function DNc(){ANc()}
function TNc(){JNc()}
function iQc(){gQc()}
function WRc(){TRc()}
function C$c(){B$c()}
function J0c(){B0c()}
function x0c(){r0c()}
function j_c(){h_c()}
function N_c(){H_c()}
function V_c(){R_c()}
function E4c(){D4c()}
function a5c(){$4c()}
function v7c(){u7c()}
function Z7c(){X7c()}
function pcd(){ncd()}
function Lcd(){Kcd()}
function Vcd(){Tcd()}
function fUd(){TTd()}
function Bfd(){Afd()}
function jkd(){hkd()}
function vmd(){umd()}
function xnd(){vnd()}
function Hpd(){Fpd()}
function HYd(){lYd()}
function yAd(){qAd()}
function gke(){rue()}
function Yxb(a){uFb(a)}
function Yb(a){this.a=a}
function cc(a){this.a=a}
function df(a){this.a=a}
function kf(a){this.a=a}
function kj(a){this.a=a}
function qj(a){this.a=a}
function Lj(a){this.a=a}
function jh(a){this.a=a}
function th(a){this.a=a}
function Bh(a){this.a=a}
function Xh(a){this.a=a}
function Xn(a){this.a=a}
function Di(a){this.a=a}
function Ki(a){this.a=a}
function Ik(a){this.a=a}
function Qk(a){this.a=a}
function mp(a){this.a=a}
function Lp(a){this.a=a}
function iq(a){this.a=a}
function Eq(a){this.a=a}
function Vq(a){this.a=a}
function Or(a){this.a=a}
function $r(a){this.b=a}
function Aj(a){this.c=a}
function vu(a){this.a=a}
function vw(a){this.a=a}
function gw(a){this.a=a}
function lw(a){this.a=a}
function Iw(a){this.a=a}
function Nw(a){this.a=a}
function Sw(a){this.a=a}
function ex(a){this.a=a}
function fx(a){this.a=a}
function lx(a){this.a=a}
function my(a){this.a=a}
function qy(a){this.a=a}
function Oy(a){this.a=a}
function NB(a){this.a=a}
function XB(a){this.a=a}
function hC(a){this.a=a}
function vC(a){this.a=a}
function MB(){this.a=[]}
function HEb(a,b){a.a=b}
function E2b(a,b){a.a=b}
function F2b(a,b){a.b=b}
function PRb(a,b){a.b=b}
function RRb(a,b){a.b=b}
function QJb(a,b){a.j=b}
function hQb(a,b){a.g=b}
function iQb(a,b){a.i=b}
function _Tb(a,b){a.c=b}
function G2b(a,b){a.c=b}
function H2b(a,b){a.d=b}
function aUb(a,b){a.d=b}
function h3b(a,b){a.k=b}
function O3b(a,b){a.c=b}
function Tmc(a,b){a.c=b}
function Smc(a,b){a.a=b}
function DJc(a,b){a.a=b}
function EJc(a,b){a.f=b}
function NSc(a,b){a.a=b}
function OSc(a,b){a.b=b}
function PSc(a,b){a.d=b}
function QSc(a,b){a.i=b}
function RSc(a,b){a.o=b}
function SSc(a,b){a.r=b}
function yUc(a,b){a.a=b}
function zUc(a,b){a.b=b}
function q3c(a,b){a.e=b}
function r3c(a,b){a.f=b}
function s3c(a,b){a.g=b}
function Y9c(a,b){a.e=b}
function Z9c(a,b){a.f=b}
function kad(a,b){a.f=b}
function Ntd(a,b){a.a=b}
function Otd(a,b){a.b=b}
function BWd(a,b){a.n=b}
function $ee(a,b){a.a=b}
function _ee(a,b){a.c=b}
function ife(a,b){a.c=b}
function Efe(a,b){a.c=b}
function hfe(a,b){a.a=b}
function Dfe(a,b){a.a=b}
function jfe(a,b){a.d=b}
function Ffe(a,b){a.d=b}
function kfe(a,b){a.e=b}
function Gfe(a,b){a.e=b}
function lfe(a,b){a.g=b}
function Hfe(a,b){a.f=b}
function Ife(a,b){a.j=b}
function wme(a,b){a.a=b}
function Fme(a,b){a.a=b}
function xme(a,b){a.b=b}
function gmc(a){a.b=a.a}
function Lg(a){a.c=a.d.d}
function fgb(a){this.a=a}
function zgb(a){this.a=a}
function Xgb(a){this.a=a}
function Xkb(a){this.a=a}
function mkb(a){this.a=a}
function reb(a){this.a=a}
function Seb(a){this.a=a}
function bfb(a){this.a=a}
function Tfb(a){this.a=a}
function blb(a){this.a=a}
function glb(a){this.a=a}
function llb(a){this.a=a}
function Ulb(a){this.a=a}
function _lb(a){this.a=a}
function Plb(a){this.b=a}
function Ppb(a){this.b=a}
function xpb(a){this.b=a}
function mpb(a){this.a=a}
function Yqb(a){this.a=a}
function uqb(a){this.c=a}
function Anb(a){this.c=a}
function zwb(a){this.c=a}
function Dkb(a){this.d=a}
function brb(a){this.a=a}
function Frb(a){this.a=a}
function hsb(a){this.a=a}
function ctb(a){this.a=a}
function cxb(a){this.a=a}
function axb(a){this.a=a}
function exb(a){this.a=a}
function gxb(a){this.a=a}
function wub(a){this.a=a}
function zAb(a){this.a=a}
function JAb(a){this.a=a}
function LAb(a){this.a=a}
function PAb(a){this.a=a}
function VBb(a){this.a=a}
function lCb(a){this.a=a}
function nCb(a){this.a=a}
function pCb(a){this.a=a}
function CCb(a){this.a=a}
function GCb(a){this.a=a}
function bDb(a){this.a=a}
function dDb(a){this.a=a}
function fDb(a){this.a=a}
function uDb(a){this.a=a}
function $Db(a){this.a=a}
function aEb(a){this.a=a}
function eEb(a){this.a=a}
function OEb(a){this.a=a}
function SEb(a){this.a=a}
function SFb(a){this.a=a}
function HFb(a){this.a=a}
function NFb(a){this.a=a}
function WGb(a){this.a=a}
function HJb(a){this.a=a}
function PJb(a){this.a=a}
function kNb(a){this.a=a}
function tOb(a){this.a=a}
function APb(a){this.a=a}
function IQb(a){this.a=a}
function bTb(a){this.a=a}
function dTb(a){this.a=a}
function wTb(a){this.a=a}
function GWb(a){this.a=a}
function UWb(a){this.a=a}
function WWb(a){this.a=a}
function fXb(a){this.a=a}
function jXb(a){this.a=a}
function M0b(a){this.a=a}
function r1b(a){this.a=a}
function D1b(a){this.e=a}
function T3b(a){this.a=a}
function W3b(a){this.a=a}
function _3b(a){this.a=a}
function c4b(a){this.a=a}
function s5b(a){this.a=a}
function u5b(a){this.a=a}
function y5b(a){this.a=a}
function C5b(a){this.a=a}
function Q5b(a){this.a=a}
function S5b(a){this.a=a}
function U5b(a){this.a=a}
function W5b(a){this.a=a}
function l7b(a){this.a=a}
function p7b(a){this.a=a}
function k8b(a){this.a=a}
function L8b(a){this.a=a}
function Rac(a){this.a=a}
function Xac(a){this.a=a}
function $ac(a){this.a=a}
function bbc(a){this.a=a}
function Cdc(a){this.a=a}
function Edc(a){this.a=a}
function Ehc(a){this.a=a}
function khc(a){this.a=a}
function Ihc(a){this.a=a}
function qfc(a){this.a=a}
function tfc(a){this.a=a}
function Wfc(a){this.a=a}
function Fic(a){this.a=a}
function Vic(a){this.a=a}
function fjc(a){this.a=a}
function pjc(a){this.a=a}
function ckc(a){this.a=a}
function hkc(a){this.a=a}
function Ykc(a){this.a=a}
function $kc(a){this.a=a}
function alc(a){this.a=a}
function glc(a){this.a=a}
function ilc(a){this.a=a}
function slc(a){this.a=a}
function Clc(a){this.a=a}
function xoc(a){this.a=a}
function zoc(a){this.a=a}
function spc(a){this.a=a}
function Vqc(a){this.a=a}
function Xqc(a){this.a=a}
function Gsc(a){this.a=a}
function Isc(a){this.a=a}
function JGc(a){this.a=a}
function NGc(a){this.a=a}
function MHc(a){this.a=a}
function JIc(a){this.a=a}
function fJc(a){this.a=a}
function BJc(a){this.a=a}
function dJc(a){this.c=a}
function Trc(a){this.b=a}
function eKc(a){this.a=a}
function IKc(a){this.a=a}
function KKc(a){this.a=a}
function MKc(a){this.a=a}
function yLc(a){this.a=a}
function HMc(a){this.a=a}
function LMc(a){this.a=a}
function PMc(a){this.a=a}
function TMc(a){this.a=a}
function XMc(a){this.a=a}
function ZMc(a){this.a=a}
function aNc(a){this.a=a}
function jNc(a){this.a=a}
function aPc(a){this.a=a}
function gPc(a){this.a=a}
function kPc(a){this.a=a}
function yPc(a){this.a=a}
function CPc(a){this.a=a}
function JPc(a){this.a=a}
function RPc(a){this.a=a}
function XPc(a){this.a=a}
function mRc(a){this.a=a}
function xTc(a){this.a=a}
function CWc(a){this.a=a}
function EWc(a){this.a=a}
function IWc(a){this.a=a}
function OWc(a){this.a=a}
function dXc(a){this.a=a}
function gXc(a){this.a=a}
function EXc(a){this.a=a}
function WXc(a){this.a=a}
function YXc(a){this.a=a}
function aYc(a){this.a=a}
function cYc(a){this.a=a}
function eYc(a){this.a=a}
function iYc(a){this.a=a}
function i0c(a){this.a=a}
function g0c(a){this.a=a}
function P1c(a){this.a=a}
function Sad(a){this.a=a}
function Uad(a){this.a=a}
function Wad(a){this.a=a}
function Yad(a){this.a=a}
function cbd(a){this.a=a}
function ydd(a){this.a=a}
function Kdd(a){this.a=a}
function Mdd(a){this.a=a}
function _ed(a){this.a=a}
function dfd(a){this.a=a}
function Kfd(a){this.a=a}
function prd(a){this.a=a}
function $rd(a){this.a=a}
function csd(a){this.a=a}
function Usd(a){this.a=a}
function Vtd(a){this.a=a}
function wud(a){this.a=a}
function Rud(a){this.f=a}
function LEd(a){this.a=a}
function UEd(a){this.a=a}
function VEd(a){this.a=a}
function WEd(a){this.a=a}
function XEd(a){this.a=a}
function YEd(a){this.a=a}
function ZEd(a){this.a=a}
function $Ed(a){this.a=a}
function _Ed(a){this.a=a}
function aFd(a){this.a=a}
function gFd(a){this.a=a}
function iFd(a){this.a=a}
function jFd(a){this.a=a}
function kFd(a){this.a=a}
function lFd(a){this.a=a}
function nFd(a){this.a=a}
function qFd(a){this.a=a}
function wFd(a){this.a=a}
function xFd(a){this.a=a}
function zFd(a){this.a=a}
function AFd(a){this.a=a}
function BFd(a){this.a=a}
function CFd(a){this.a=a}
function DFd(a){this.a=a}
function MFd(a){this.a=a}
function OFd(a){this.a=a}
function QFd(a){this.a=a}
function SFd(a){this.a=a}
function uGd(a){this.a=a}
function QGd(a){this.a=a}
function jGd(a){this.b=a}
function YOd(a){this.a=a}
function ePd(a){this.a=a}
function kPd(a){this.a=a}
function qPd(a){this.a=a}
function IPd(a){this.a=a}
function w$d(a){this.a=a}
function e_d(a){this.a=a}
function Q_d(a){this.b=a}
function c1d(a){this.a=a}
function c2d(a){this.a=a}
function l5d(a){this.a=a}
function I9d(a){this.a=a}
function L6d(a){this.c=a}
function t7d(a){this.e=a}
function pae(a){this.a=a}
function xae(a){this.a=a}
function Zde(a){this.a=a}
function Sde(a){this.d=a}
function mee(a){this.a=a}
function uje(a){this.a=a}
function Bte(a){this.a=a}
function Wse(a){this.e=a}
function Xsd(){this.a=0}
function Tsb(){akb(this)}
function bnb(){Pmb(this)}
function cHb(){bHb(this)}
function I2b(){A2b(this)}
function s2d(){this.c=d2d}
function Prc(a,b){a.b+=b}
function Uje(a,b){b.Wb(a)}
function UC(a){return a.a}
function nC(a){return a.a}
function BC(a){return a.a}
function TB(a){return a.a}
function _B(a){return a.a}
function Adb(a){return a.e}
function gC(){return null}
function MC(){return null}
function leb(){MId();OId()}
function qMb(a){a.b.Of(a.e)}
function A$b(a){a.b=new Ri}
function A8b(a,b){a.b=b-a.b}
function x8b(a,b){a.a=b-a.a}
function ZEb(a,b){a.push(b)}
function bFb(a,b){a.sort(b)}
function Q5c(a,b){b.jd(a.a)}
function Voc(a,b){Q3b(b,a)}
function tp(a,b,c){a.Yd(c,b)}
function Ss(a,b){a.e=b;b.b=a}
function im(a){_l();this.a=a}
function xq(a){_l();this.a=a}
function Gq(a){_l();this.a=a}
function Xq(a){tm();this.a=a}
function gA(a){fA();eA.le(a)}
function vA(){vA=geb;new Tsb}
function xz(){mz.call(this)}
function Ceb(){mz.call(this)}
function ueb(){xz.call(this)}
function yeb(){xz.call(this)}
function Hfb(){xz.call(this)}
function _fb(){xz.call(this)}
function cgb(){xz.call(this)}
function Ngb(){xz.call(this)}
function jib(){xz.call(this)}
function Jrb(){xz.call(this)}
function Srb(){xz.call(this)}
function Dvb(){xz.call(this)}
function Ied(){xz.call(this)}
function R1d(){this.a=this}
function k1d(){this.Bb|=256}
function vWb(){this.b=new Et}
function aFb(a,b){a.length=b}
function dyb(a,b){Rmb(a.a,b)}
function jNb(a,b){LKb(a.c,b)}
function qRc(a,b){Ysb(a.b,b)}
function VOd(a,b){UNd(a.a,b)}
function WOd(a,b){VNd(a.a,b)}
function eZd(a,b){qvd(a.e,b)}
function Cke(a){bge(a.c,a.b)}
function uj(a,b){a.kc().Nb(b)}
function Ufb(a){this.a=Zfb(a)}
function _sb(){this.a=new Tsb}
function $Ab(){this.a=new Tsb}
function xAb(){this.a=new dzb}
function gyb(){this.a=new bnb}
function BIb(){this.a=new bnb}
function GIb(){this.a=new bnb}
function wIb(){this.a=new pIb}
function gJb(){this.a=new DIb}
function TTb(){this.a=new DTb}
function jGb(){this.a=new fGb}
function qGb(){this.a=new kGb}
function q_b(){this.a=new bnb}
function E_b(){this.a=new bnb}
function EZb(){this.a=new bnb}
function J$b(){this.a=new bnb}
function YNb(){this.d=new bnb}
function lXb(){this.a=new RWb}
function y_b(){this.a=new _sb}
function k5b(){this.a=new Tsb}
function E0b(){this.b=new Tsb}
function jHc(){this.b=new bnb}
function ZNc(){this.e=new bnb}
function ahc(){this.a=new boc}
function UQc(){this.d=new bnb}
function uRc(){tRc.call(this)}
function BRc(){tRc.call(this)}
function VOc(){bnb.call(this)}
function web(){ueb.call(this)}
function Fyb(){gyb.call(this)}
function fKb(){RJb.call(this)}
function N$b(){J$b.call(this)}
function P2b(){I2b.call(this)}
function T2b(){P2b.call(this)}
function z3b(){I2b.call(this)}
function C3b(){z3b.call(this)}
function cUc(){aUc.call(this)}
function hUc(){aUc.call(this)}
function mUc(){aUc.call(this)}
function Hdd(){Ddd.call(this)}
function ACd(){$yd.call(this)}
function PCd(){$yd.call(this)}
function Ejd(){Yub.call(this)}
function LQd(){wQd.call(this)}
function lRd(){wQd.call(this)}
function MSd(){Tsb.call(this)}
function VSd(){Tsb.call(this)}
function eTd(){Tsb.call(this)}
function mXd(){HWd.call(this)}
function i1d(){_sb.call(this)}
function A1d(){k1d.call(this)}
function q4d(){dWd.call(this)}
function O5d(){Tsb.call(this)}
function R5d(){dWd.call(this)}
function lae(){Tsb.call(this)}
function Cae(){Tsb.call(this)}
function ome(){kUd.call(this)}
function Hme(){ome.call(this)}
function Nme(){kUd.call(this)}
function Gre(){Tqe.call(this)}
function aUc(){this.a=new _sb}
function nZc(){this.a=new Tsb}
function DZc(){this.a=new bnb}
function Ddd(){this.a=new Tsb}
function Oqd(){this.a=new Yub}
function Oed(){this.j=new bnb}
function obd(){this.a=new nbd}
function wQd(){this.a=new AQd}
function R5c(){this.a=new V5c}
function wb(){wb=geb;vb=new xb}
function Wk(){Wk=geb;Vk=new Xk}
function kl(){kl=geb;jl=new ll}
function ll(){Qk.call(this,'')}
function Xk(){Qk.call(this,'')}
function Dd(a){yd.call(this,a)}
function Hd(a){yd.call(this,a)}
function xh(a){th.call(this,a)}
function $h(a){Wc.call(this,a)}
function Qi(a){Wc.call(this,a)}
function wi(a){$h.call(this,a)}
function Sp(a){$h.call(this,a)}
function Js(a){$h.call(this,a)}
function Jp(a){Xo.call(this,a)}
function Qp(a){Xo.call(this,a)}
function dq(a){ho.call(this,a)}
function Fv(a){uv.call(this,a)}
function aw(a){Tr.call(this,a)}
function cw(a){Tr.call(this,a)}
function _w(a){Tr.call(this,a)}
function Mx(a){Gn.call(this,a)}
function Nx(a){Mx.call(this,a)}
function yz(a){nz.call(this,a)}
function aC(a){yz.call(this,a)}
function uC(){vC.call(this,{})}
function cC(){cC=geb;bC=new dC}
function zs(){zs=geb;ys=new As}
function Az(){Az=geb;zz=new nb}
function $z(){$z=geb;Zz=new bA}
function $A(){$A=geb;ZA=new aB}
function Ovb(a){Kvb();this.a=a}
function FKc(a){jKc();this.a=a}
function zud(a){nud();this.f=a}
function Bud(a){nud();this.f=a}
function Cde(a){KMd();this.a=a}
function Lyb(a){a.b=null;a.c=0}
function kz(a,b){a.e=b;hz(a,b)}
function NYb(a,b){a.a=b;PYb(a)}
function cLb(a,b,c){a.a[b.g]=c}
function zsd(a,b,c){Hsd(c,a,b)}
function shc(a,b){Xmc(b.i,a.n)}
function HCc(a,b){ICc(a).Cd(b)}
function yw(a,b){a.a.ec().Mc(b)}
function ns(a,b){return a.g-b.g}
function AUb(a,b){return a*a/b}
function Heb(a){return uFb(a),a}
function Kfb(a){return uFb(a),a}
function Mfb(a){return uFb(a),a}
function JC(a){return new hC(a)}
function LC(a){return new OC(a)}
function shb(a){return uFb(a),a}
function Chb(a){return uFb(a),a}
function teb(a){yz.call(this,a)}
function veb(a){yz.call(this,a)}
function zeb(a){yz.call(this,a)}
function Aeb(a){nz.call(this,a)}
function Ifb(a){yz.call(this,a)}
function agb(a){yz.call(this,a)}
function dgb(a){yz.call(this,a)}
function Mgb(a){yz.call(this,a)}
function Ogb(a){yz.call(this,a)}
function kib(a){yz.call(this,a)}
function Jed(a){yz.call(this,a)}
function Ked(a){yz.call(this,a)}
function CDd(a){yz.call(this,a)}
function Mle(a){yz.call(this,a)}
function Lqe(a){yz.call(this,a)}
function mob(a){uFb(a);this.a=a}
function yYb(a){sYb(a);return a}
function Nnb(a){Snb(a,a.length)}
function nmb(a){return a.b==a.c}
function Vyb(a){return !!a&&a.b}
function gLb(a){return !!a&&a.k}
function hLb(a){return !!a&&a.j}
function F_b(a,b,c){a.c.Ef(b,c)}
function Ts(a,b){a.be(b);b.ae(a)}
function Fy(a){_l();this.a=Qb(a)}
function Gb(){this.a=WD(Qb(pve))}
function jc(){throw Adb(new jib)}
function jn(){throw Adb(new jib)}
function Hh(){throw Adb(new jib)}
function Xi(){throw Adb(new jib)}
function Xj(){throw Adb(new jib)}
function Yj(){throw Adb(new jib)}
function Qz(){Qz=geb;!!(fA(),eA)}
function Qhb(){reb.call(this,'')}
function Rhb(){reb.call(this,'')}
function bib(){reb.call(this,'')}
function cib(){reb.call(this,'')}
function eib(a){veb.call(this,a)}
function xeb(a){veb.call(this,a)}
function Vgb(a){agb.call(this,a)}
function Lqb(a){xpb.call(this,a)}
function Sqb(a){Lqb.call(this,a)}
function irb(a){Upb.call(this,a)}
function pc(a){qc.call(this,a,0)}
function Ri(){Si.call(this,12,3)}
function WC(a,b){return xfb(a,b)}
function cFb(a,b){return dD(a,b)}
function Reb(a,b){return a.a-b.a}
function afb(a,b){return a.a-b.a}
function Wgb(a,b){return a.a-b.a}
function pC(b,a){return a in b.a}
function Vvb(a){return a.a?a.b:0}
function cwb(a){return a.a?a.b:0}
function Fxb(a,b,c){b.Cd(a.a[c])}
function Kxb(a,b,c){b.Pe(a.a[c])}
function uKb(a,b){a.b=new sjd(b)}
function QGb(a,b){a.b=b;return a}
function RGb(a,b){a.c=b;return a}
function SGb(a,b){a.f=b;return a}
function TGb(a,b){a.g=b;return a}
function yJb(a,b){a.a=b;return a}
function zJb(a,b){a.f=b;return a}
function AJb(a,b){a.k=b;return a}
function WNb(a,b){a.a=b;return a}
function XNb(a,b){a.e=b;return a}
function BYb(a,b){a.e=b;return a}
function CYb(a,b){a.f=b;return a}
function BRb(a,b){a.b=true;a.d=b}
function WNc(a,b){return a.b-b.b}
function KSc(a,b){return a.g-b.g}
function pmc(a,b){return a?0:b-1}
function qKc(a,b){return a?0:b-1}
function pKc(a,b){return a?b-1:0}
function uVc(a,b){return a.s-b.s}
function Xed(a,b){return b.rg(a)}
function Xfd(a,b){a.b=b;return a}
function Wfd(a,b){a.a=b;return a}
function Yfd(a,b){a.c=b;return a}
function Zfd(a,b){a.d=b;return a}
function $fd(a,b){a.e=b;return a}
function _fd(a,b){a.f=b;return a}
function mgd(a,b){a.a=b;return a}
function ngd(a,b){a.b=b;return a}
function ogd(a,b){a.c=b;return a}
function Khd(a,b){a.c=b;return a}
function Jhd(a,b){a.b=b;return a}
function Lhd(a,b){a.d=b;return a}
function Mhd(a,b){a.e=b;return a}
function Nhd(a,b){a.f=b;return a}
function Ohd(a,b){a.g=b;return a}
function Phd(a,b){a.a=b;return a}
function Qhd(a,b){a.i=b;return a}
function Rhd(a,b){a.j=b;return a}
function coc(a,b){Mnc();P3b(b,a)}
function bbd(a,b,c){_ad(a.a,b,c)}
function Fjd(a){Zub.call(this,a)}
function TRb(a){SRb.call(this,a)}
function pLc(a){CIc.call(this,a)}
function ILc(a){CIc.call(this,a)}
function gLd(a){ZHd.call(this,a)}
function DPd(a){xPd.call(this,a)}
function FPd(a){xPd.call(this,a)}
function x2b(){y2b.call(this,'')}
function pjd(){this.a=0;this.b=0}
function ATc(){this.b=0;this.a=0}
function lXd(a,b){a.b=0;bWd(a,b)}
function Kqd(a,b){a.k=b;return a}
function Lqd(a,b){a.j=b;return a}
function vfe(a,b){a.c=b;a.b=true}
function Etb(){Etb=geb;Dtb=Gtb()}
function bvd(){bvd=geb;avd=OAd()}
function dvd(){dvd=geb;cvd=aCd()}
function MId(){MId=geb;LId=ygd()}
function jTd(){jTd=geb;iTd=Qae()}
function Ole(){Ole=geb;Nle=vne()}
function Qle(){Qle=geb;Ple=Cne()}
function mfb(a){return a.e&&a.e()}
function FD(a){return a.l|a.m<<22}
function Oc(a,b){return a.c._b(b)}
function En(a,b){return Wv(a.b,b)}
function Vd(a){return !a?null:a.d}
function Vv(a){return !a?null:a.g}
function $v(a){return !a?null:a.i}
function nfb(a){lfb(a);return a.o}
function Khb(a,b){a.a+=b;return a}
function Lhb(a,b){a.a+=b;return a}
function Ohb(a,b){a.a+=b;return a}
function Uhb(a,b){a.a+=b;return a}
function _wb(a,b){while(a.Bd(b));}
function atb(a){this.a=new Usb(a)}
function $tb(){throw Adb(new jib)}
function qpb(){throw Adb(new jib)}
function rpb(){throw Adb(new jib)}
function spb(){throw Adb(new jib)}
function vpb(){throw Adb(new jib)}
function Opb(){throw Adb(new jib)}
function yAb(a){this.a=new ezb(a)}
function H2c(){this.a=new Wed(s0)}
function TVc(){this.b=new Wed(H$)}
function l6c(){this.a=new Wed(V0)}
function $ad(){this.b=new Wed(I1)}
function nbd(){this.b=new Wed(I1)}
function T2c(a){this.a=0;this.b=a}
function Bib(a){tib();vib(this,a)}
function QDb(a){LCb(a);return a.a}
function dvb(a){return a.b!=a.d.c}
function AMc(a,b){return a.d[b.p]}
function ued(a,b){return ned(a,b)}
function $Eb(a,b,c){a.splice(b,c)}
function ixb(a,b){while(a.Re(b));}
function NKb(a){a.c?MKb(a):OKb(a)}
function mQd(){throw Adb(new jib)}
function nQd(){throw Adb(new jib)}
function oQd(){throw Adb(new jib)}
function pQd(){throw Adb(new jib)}
function qQd(){throw Adb(new jib)}
function rQd(){throw Adb(new jib)}
function sQd(){throw Adb(new jib)}
function tQd(){throw Adb(new jib)}
function uQd(){throw Adb(new jib)}
function vQd(){throw Adb(new jib)}
function zue(){throw Adb(new Dvb)}
function Aue(){throw Adb(new Dvb)}
function oue(a){this.a=new Dte(a)}
function Dte(a){Cte(this,a,sse())}
function cve(a){return !a||bve(a)}
function Cqe(a){return xqe[a]!=-1}
function Yz(){Nz!=0&&(Nz=0);Pz=-1}
function beb(){_db==null&&(_db=[])}
function eg(a,b){zf.call(this,a,b)}
function gg(a,b){eg.call(this,a,b)}
function Nj(a,b){this.a=a;this.b=b}
function hk(a,b){this.a=a;this.b=b}
function nk(a,b){this.a=a;this.b=b}
function pk(a,b){this.a=a;this.b=b}
function xk(a,b){this.a=a;this.b=b}
function zk(a,b){this.a=a;this.b=b}
function Kk(a,b){this.a=a;this.b=b}
function ne(a,b){this.e=a;this.d=b}
function Hf(a,b){this.b=a;this.c=b}
function cp(a,b){this.b=a;this.a=b}
function Cp(a,b){this.b=a;this.a=b}
function qr(a,b){this.b=a;this.a=b}
function Rr(a,b){this.b=a;this.a=b}
function vr(a,b){this.a=a;this.b=b}
function su(a,b){this.a=a;this.b=b}
function Hu(a,b){this.a=a;this.f=b}
function gp(a,b){this.g=a;this.i=b}
function qs(a,b){this.f=a;this.g=b}
function Gv(a,b){this.b=a;this.c=b}
function Wc(a){Lb(a.dc());this.c=a}
function Ex(a,b){this.a=a;this.b=b}
function ey(a,b){this.a=a;this.b=b}
function pv(a){this.a=RD(Qb(a),15)}
function uv(a){this.a=RD(Qb(a),15)}
function nw(a){this.a=RD(Qb(a),85)}
function rf(a){this.b=RD(Qb(a),85)}
function Tr(a){this.b=RD(Qb(a),51)}
function uB(){this.q=new $wnd.Date}
function CC(a,b){this.a=a;this.b=b}
function Bt(a,b){return Ujb(a.b,b)}
function tpb(a,b){return a.b.Hc(b)}
function upb(a,b){return a.b.Ic(b)}
function wpb(a,b){return a.b.Qc(b)}
function Pqb(a,b){return a.b.Hc(b)}
function pqb(a,b){return a.c.uc(b)}
function rqb(a,b){return pb(a.c,b)}
function Zsb(a,b){return a.a._b(b)}
function Xp(a,b){return a>b&&b<hwe}
function bkb(a){return a.f.c+a.i.c}
function IC(a){return WB(),a?VB:UB}
function Usb(a){ckb.call(this,a,0)}
function dzb(){ezb.call(this,null)}
function Osb(a){this.c=a;Lsb(this)}
function Yub(){Lub(this);Xub(this)}
function gib(){gib=geb;fib=new oeb}
function Qob(){Qob=geb;Pob=new Rob}
function Tvb(){Tvb=geb;Svb=new Xvb}
function bwb(){bwb=geb;awb=new dwb}
function SAb(){SAb=geb;RAb=new VAb}
function rDb(){NCb.call(this,null)}
function xDb(){xDb=geb;wDb=new KEb}
function FDb(a,b){LCb(a);a.a.Nb(b)}
function sAb(a,b){return a.a.Xc(b)}
function tAb(a,b){return a.a.Yc(b)}
function uAb(a,b){return a.a.$c(b)}
function vAb(a,b){return a.a._c(b)}
function JBb(a,b){return a.Gc(b),a}
function KBb(a,b){return ye(a,b),a}
function m_d(a,b){pLd(xYd(a.a),b)}
function r_d(a,b){pLd(xYd(a.a),b)}
function EBb(a,b){a.Gc(b);return a}
function hGb(a,b){a.a.f=b;return a}
function nGb(a,b){a.a.d=b;return a}
function oGb(a,b){a.a.g=b;return a}
function pGb(a,b){a.a.j=b;return a}
function sIb(a,b){a.a.a=b;return a}
function tIb(a,b){a.a.d=b;return a}
function uIb(a,b){a.a.e=b;return a}
function vIb(a,b){a.a.g=b;return a}
function fJb(a,b){a.a.f=b;return a}
function KJb(a){a.b=false;return a}
function wGb(){wGb=geb;vGb=new xGb}
function VRb(){VRb=geb;URb=new WRb}
function zXb(){zXb=geb;yXb=new FXb}
function kYb(){kYb=geb;jYb=new lYb}
function pYb(){pYb=geb;oYb=new QYb}
function NZb(){NZb=geb;MZb=new SZb}
function g0b(){g0b=geb;f0b=new l0b}
function i1b(){i1b=geb;h1b=new X1b}
function s7b(){s7b=geb;r7b=new C7b}
function H5b(){H5b=geb;G5b=new pjd}
function Hcc(){Hcc=geb;Gcc=new Ncc}
function Wjc(){Wjc=geb;Vjc=new Jlc}
function mqc(){mqc=geb;lqc=new Aqc}
function GCc(){GCc=geb;FCc=new Yrd}
function sbd(){sbd=geb;rbd=new ubd}
function Cbd(){Cbd=geb;Bbd=new Dbd}
function _cd(){_cd=geb;$cd=new cdd}
function GGc(){yGc();this.c=new Ri}
function ubd(){qs.call(this,DBe,0)}
function Mfd(a,b,c){$jb(a.d,b.f,c)}
function bNb(a,b,c,d){aNb(a,d,b,c)}
function V6b(a,b,c,d){$6b(d,a,b,c)}
function vcc(a,b,c,d){wcc(d,a,b,c)}
function Dgd(a,b){dub(a.c.c,b.b,b)}
function Cgd(a,b){dub(a.c.b,b.c,b)}
function BYc(a){return a.e.b+a.f.b}
function AYc(a){return a.e.a+a.f.a}
function N1d(a){return a.b?a.b:a.a}
function yTc(a){return (a.c+a.a)/2}
function b2d(a,b){return GA(a.a,b)}
function rfd(a,b){a.a=b.g;return a}
function hTd(){hTd=geb;gTd=new Cae}
function cTd(){cTd=geb;bTd=new eTd}
function lud(){lud=geb;kud=new Yud}
function $Sd(){$Sd=geb;ZSd=new _Sd}
function TSd(){TSd=geb;SSd=new VSd}
function YSd(){YSd=geb;XSd=new O5d}
function PRd(){PRd=geb;ORd=new Tsb}
function N2d(){N2d=geb;M2d=new Uhe}
function j3d(){j3d=geb;i3d=new Yhe}
function Gie(){Gie=geb;Fie=new Hie}
function nke(){nke=geb;mke=new rke}
function uue(){uue=geb;tue=new Cue}
function Tae(){Tae=geb;Rae=new bnb}
function _v(a){return RD(a,44).ld()}
function Akb(a){return a.b<a.d.gc()}
function meb(b,a){return a.split(b)}
function Idb(a,b){return Ddb(a,b)>0}
function Ldb(a,b){return Ddb(a,b)<0}
function Urb(a,b){return Bsb(a.a,b)}
function Beb(a,b){oz.call(this,a,b)}
function Qx(a){Px();ho.call(this,a)}
function Lnb(a,b){Pnb(a,a.length,b)}
function Mnb(a,b){Rnb(a,a.length,b)}
function Ktb(a,b){return a.a.get(b)}
function bub(a,b){return Ujb(a.e,b)}
function Zxb(a){return uFb(a),false}
function zw(a){this.a=RD(Qb(a),229)}
function $wb(a){Swb.call(this,a,21)}
function dAb(a,b){qs.call(this,a,b)}
function yBb(a,b){qs.call(this,a,b)}
function ssb(a,b){this.b=a;this.a=b}
function xlb(a,b){this.d=a;this.e=b}
function jEb(a,b){this.a=a;this.b=b}
function pEb(a,b){this.a=a;this.b=b}
function vEb(a,b){this.a=a;this.b=b}
function BEb(a,b){this.a=a;this.b=b}
function TFb(a,b){this.a=a;this.b=b}
function QEb(a,b){this.b=a;this.a=b}
function sHb(a,b){this.b=a;this.a=b}
function EHb(a,b){qs.call(this,a,b)}
function MHb(a,b){qs.call(this,a,b)}
function jIb(a,b){qs.call(this,a,b)}
function $Jb(a,b){qs.call(this,a,b)}
function FKb(a,b){qs.call(this,a,b)}
function wLb(a,b){qs.call(this,a,b)}
function nOb(a,b){qs.call(this,a,b)}
function kPb(a,b){this.b=a;this.a=b}
function JPb(a,b){qs.call(this,a,b)}
function fRb(a,b){this.b=a;this.a=b}
function JRb(a,b){qs.call(this,a,b)}
function OTb(a,b){this.b=a;this.a=b}
function UUb(a,b){qs.call(this,a,b)}
function BWb(a,b){qs.call(this,a,b)}
function tXb(a,b){qs.call(this,a,b)}
function XEb(a,b,c){a.splice(b,0,c)}
function pr(a,b,c){a.Mb(c)&&b.Cd(c)}
function lEb(a,b,c){b.Pe(a.a.Ye(c))}
function rEb(a,b,c){b.Dd(a.a.Ze(c))}
function xEb(a,b,c){b.Cd(a.a.Kb(c))}
function eYb(a,b){return Csb(a.c,b)}
function cGb(a,b){return Csb(a.e,b)}
function qZb(a,b){qs.call(this,a,b)}
function V$b(a,b){qs.call(this,a,b)}
function s3b(a,b){qs.call(this,a,b)}
function Q8b(a,b){qs.call(this,a,b)}
function icc(a,b){qs.call(this,a,b)}
function xec(a,b){qs.call(this,a,b)}
function gic(a,b){this.a=a;this.b=b}
function Xic(a,b){this.a=a;this.b=b}
function h4b(a,b){this.a=a;this.b=b}
function vjc(a,b){this.a=a;this.b=b}
function xjc(a,b){this.a=a;this.b=b}
function Hjc(a,b){this.a=a;this.b=b}
function hjc(a,b){this.b=a;this.a=b}
function Jjc(a,b){this.b=a;this.a=b}
function _Yb(a,b){this.b=a;this.a=b}
function eZb(a,b){this.c=a;this.d=b}
function Q1b(a,b){this.e=a;this.d=b}
function Tjc(a,b){this.a=a;this.b=b}
function ulc(a,b){this.a=a;this.b=b}
function Elc(a,b){this.a=a;this.b=b}
function fqc(a,b){this.b=a;this.a=b}
function smc(a,b){this.b=b;this.c=a}
function fnc(a,b){qs.call(this,a,b)}
function Cnc(a,b){qs.call(this,a,b)}
function koc(a,b){qs.call(this,a,b)}
function ktc(a,b){qs.call(this,a,b)}
function ctc(a,b){qs.call(this,a,b)}
function utc(a,b){qs.call(this,a,b)}
function Ftc(a,b){qs.call(this,a,b)}
function Rtc(a,b){qs.call(this,a,b)}
function _tc(a,b){qs.call(this,a,b)}
function iuc(a,b){qs.call(this,a,b)}
function vuc(a,b){qs.call(this,a,b)}
function Duc(a,b){qs.call(this,a,b)}
function Puc(a,b){qs.call(this,a,b)}
function _uc(a,b){qs.call(this,a,b)}
function pvc(a,b){qs.call(this,a,b)}
function yvc(a,b){qs.call(this,a,b)}
function Hvc(a,b){qs.call(this,a,b)}
function Pvc(a,b){qs.call(this,a,b)}
function dxc(a,b){qs.call(this,a,b)}
function bDc(a,b){qs.call(this,a,b)}
function nDc(a,b){qs.call(this,a,b)}
function yDc(a,b){qs.call(this,a,b)}
function LDc(a,b){qs.call(this,a,b)}
function bEc(a,b){qs.call(this,a,b)}
function lEc(a,b){qs.call(this,a,b)}
function tEc(a,b){qs.call(this,a,b)}
function CEc(a,b){qs.call(this,a,b)}
function LEc(a,b){qs.call(this,a,b)}
function UEc(a,b){qs.call(this,a,b)}
function mFc(a,b){qs.call(this,a,b)}
function vFc(a,b){qs.call(this,a,b)}
function EFc(a,b){qs.call(this,a,b)}
function SKc(a,b){qs.call(this,a,b)}
function cNc(a,b){this.b=a;this.a=b}
function tNc(a,b){qs.call(this,a,b)}
function QOc(a,b){this.a=a;this.b=b}
function ePc(a,b){this.a=a;this.b=b}
function LPc(a,b){this.a=a;this.b=b}
function xQc(a,b){qs.call(this,a,b)}
function FQc(a,b){qs.call(this,a,b)}
function MQc(a,b){this.a=a;this.b=b}
function FMc(a,b){dMc();return b!=a}
function Uvb(a){sFb(a.a);return a.b}
function qYb(a){rYb(a,a.c);return a}
function Itb(){Etb();return new Dtb}
function _ec(){Rec();this.a=new e6b}
function lSc(){dSc();this.a=new _sb}
function aRc(){WQc();this.b=new _sb}
function xRc(a,b){this.b=a;this.d=b}
function nVc(a,b){this.a=a;this.b=b}
function pVc(a,b){this.a=a;this.b=b}
function GWc(a,b){this.a=a;this.b=b}
function IXc(a,b){this.b=a;this.a=b}
function gTc(a,b){qs.call(this,a,b)}
function eVc(a,b){qs.call(this,a,b)}
function $Vc(a,b){qs.call(this,a,b)}
function XYc(a,b){qs.call(this,a,b)}
function MZc(a,b){qs.call(this,