j1-template 2021.1.10 → 2021.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/error_pages/HTTP204.html +3 -0
- data/assets/error_pages/HTTP400.html +3 -0
- data/assets/error_pages/HTTP401.html +3 -0
- data/assets/error_pages/HTTP403.html +3 -0
- data/assets/error_pages/HTTP404.html +3 -0
- data/assets/error_pages/HTTP500.html +3 -0
- data/assets/error_pages/HTTP501.html +3 -0
- data/assets/error_pages/HTTP502.html +3 -0
- data/assets/error_pages/HTTP503.html +3 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +18 -8
- data/assets/themes/j1/adapter/js/j1.js +93 -39
- data/assets/themes/j1/adapter/js/navigator.js +5 -2
- data/assets/themes/j1/adapter/js/themer.js +137 -92
- data/assets/themes/j1/core/js/template.js +24 -4
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +24 -4
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/resources.yml +0 -4
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +2 -7
- data/assets/themes/j1/adapter/js/themer.1.js +0 -326
- data/assets/themes/j1/modules/util/js/js.cookie.js +0 -163
- data/assets/themes/j1/modules/util/js/lite-url.js +0 -203
- data/assets/themes/j1/modules/util/js/lite-url.min.js +0 -7
- data/assets/themes/j1/modules/util/js/platform.js +0 -1260
@@ -249,7 +249,6 @@ j1.adapter['navigator'] = (function (j1, window) {
|
|
249
249
|
var themes_count;
|
250
250
|
var max_count = 100;
|
251
251
|
|
252
|
-
|
253
252
|
navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
|
254
253
|
navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
|
255
254
|
navMenuConfig = $.extend({}, {{nav_menu_options | replace: '=>', ':' }});
|
@@ -339,10 +338,14 @@ j1.adapter['navigator'] = (function (j1, window) {
|
|
339
338
|
logText = 'theme switcher: enabled';
|
340
339
|
logger.info(logText);
|
341
340
|
|
342
|
-
//
|
341
|
+
// detect j1 user state cookie
|
343
342
|
user_state_detected = j1.existsCookie(cookie_user_state_name);
|
343
|
+
|
344
|
+
|
344
345
|
if (user_state_detected) {
|
345
346
|
user_state = j1.readCookie(cookie_user_state_name);
|
347
|
+
} else {
|
348
|
+
logger.error('cookie not found: j1.user.state');
|
346
349
|
}
|
347
350
|
|
348
351
|
// jadams, 2021-07-03: wait until navigator CORE get finished
|
@@ -114,6 +114,7 @@ j1.adapter['themer'] = (function (j1, window) {
|
|
114
114
|
var _this;
|
115
115
|
var logger;
|
116
116
|
var logText;
|
117
|
+
var cookie_written;
|
117
118
|
|
118
119
|
var cssExtension = (environment === 'production')
|
119
120
|
? '.min.css'
|
@@ -125,6 +126,16 @@ j1.adapter['themer'] = (function (j1, window) {
|
|
125
126
|
var default_theme_css_name = default_theme_name.toLowerCase().replace(' ', '-');
|
126
127
|
var default_theme_css = '{{asset_path}}/{{theme_base}}/' + default_theme_css_name + '/bootstrap' + cssExtension;
|
127
128
|
|
129
|
+
var interval_count = 0;
|
130
|
+
var max_count = themerOptions.retries;
|
131
|
+
|
132
|
+
var j1Cookies;
|
133
|
+
var gaCookies;
|
134
|
+
|
135
|
+
var url;
|
136
|
+
var baseUrl;
|
137
|
+
var error_page;
|
138
|
+
|
128
139
|
// ---------------------------------------------------------------------------
|
129
140
|
// helper functions
|
130
141
|
// ---------------------------------------------------------------------------
|
@@ -152,105 +163,139 @@ j1.adapter['themer'] = (function (j1, window) {
|
|
152
163
|
// -----------------------------------------------------------------------
|
153
164
|
// globals
|
154
165
|
// -----------------------------------------------------------------------
|
155
|
-
_this
|
156
|
-
|
166
|
+
_this = j1.adapter.themer;
|
167
|
+
url = new liteURL(window.location.href);
|
168
|
+
baseUrl = url.origin;
|
169
|
+
error_page = url.origin + '/204.html';
|
170
|
+
j1Cookies = j1.findCookie('j1');
|
171
|
+
gaCookies = j1.findCookie('_ga');
|
172
|
+
logger = log4javascript.getLogger('j1.adapter.themer');
|
157
173
|
|
158
174
|
// initialize state flag
|
159
175
|
_this.state = 'started';
|
160
176
|
logger.info('state: ' + _this.getState());
|
161
177
|
|
162
|
-
//
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
178
|
+
// jadams, 2021-07-11: added dependecy on the user state cookie
|
179
|
+
// Found timing issues testing mobile devices (iPad)
|
180
|
+
var dependencies_met_user_state_available = setInterval (function () {
|
181
|
+
user_state_detected = j1.existsCookie(cookie_names.user_state);
|
182
|
+
|
183
|
+
// counter how often the check should be done for the existence
|
184
|
+
// of the user state cookie
|
185
|
+
interval_count += 1;
|
186
|
+
if (user_state_detected) {
|
187
|
+
user_state = j1.readCookie(cookie_names.user_state);
|
188
|
+
user_consent = j1.readCookie(cookie_names.user_consent);
|
189
|
+
|
190
|
+
logger.info('cookie ' + cookie_names.user_state + ' successfully loaded after: ' + interval_count * 25 + ' ms');
|
191
|
+
|
192
|
+
// initial theme data
|
193
|
+
if (user_state.theme_css === '') {
|
194
|
+
user_state.theme_name = default_theme_name;
|
195
|
+
user_state.theme_css = default_theme_css;
|
196
|
+
user_state.theme_author = default_theme_author;
|
197
|
+
user_state.theme_author_url = default_theme_author_url;
|
198
|
+
}
|
199
|
+
|
200
|
+
styleLoaded = styleSheetLoaded(user_state.theme_css);
|
201
|
+
theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
|
202
|
+
|
203
|
+
// check cookie consistency
|
204
|
+
if (Object.keys(user_state).length > 2) {
|
205
|
+
// loading theme CSS file except on UNO
|
206
|
+
if (!user_state.theme_name.includes('Uno') || !styleLoaded) {
|
207
|
+
$('head').append(theme_css_html);
|
208
|
+
}
|
209
|
+
} else {
|
210
|
+
logger.fatal('inconsistent state detected for cookie: ' + cookie_names.user_state);
|
211
|
+
}
|
212
|
+
|
213
|
+
// set the theme switcher state
|
214
|
+
user_state.theme_switcher = themerOptions.enabled;
|
215
|
+
|
216
|
+
// jadams, 2021-07-11: unclear why the cookie consent is checked here
|
217
|
+
if (!user_consent.analyses || !user_consent.personalization) {
|
218
|
+
// expire state cookie to session
|
219
|
+
cookie_written = j1.writeCookie({
|
220
|
+
name: cookie_names.user_state,
|
221
|
+
data: user_state,
|
222
|
+
samesite: 'Strict'
|
223
|
+
});
|
224
|
+
if (!cookie_written) {
|
225
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
226
|
+
}
|
227
|
+
} else {
|
228
|
+
cookie_written = j1.writeCookie({
|
229
|
+
name: cookie_names.user_state,
|
230
|
+
data: user_state,
|
231
|
+
samesite: 'Strict',
|
232
|
+
expires: 365
|
233
|
+
});
|
234
|
+
if (!cookie_written) {
|
235
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
236
|
+
}
|
237
|
+
}
|
238
|
+
|
239
|
+
if (themerOptions.enabled) {
|
240
|
+
// enable BS ThemeSwitcher
|
241
|
+
logger.info('themes detected as: enabled');
|
242
|
+
logger.info('theme is being initialized: ' + user_state.theme_name);
|
243
|
+
|
244
|
+
/* eslint-disable */
|
245
|
+
// load list of remote themes
|
246
|
+
$('#remote_themes').bootstrapThemeSwitcher.defaults = {
|
247
|
+
debug: themerOptions.debug,
|
248
|
+
saveToCookie: themerOptions.saveToCookie,
|
249
|
+
cssThemeLink: themerOptions.cssThemeLink,
|
250
|
+
cookieThemeName: themerOptions.cookieThemeName,
|
251
|
+
cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
|
252
|
+
cookieThemeCss: themerOptions.cookieThemeCss,
|
253
|
+
cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
|
254
|
+
cookieExpiration: themerOptions.cookieExpiration,
|
255
|
+
cookiePath: themerOptions.cookiePath,
|
256
|
+
defaultCssFile: themerOptions.defaultCssFile,
|
257
|
+
bootswatchApiUrl: themerOptions.bootswatchApiUrl,
|
258
|
+
bootswatchApiVersion: themerOptions.bootswatchApiVersion,
|
259
|
+
loadFromBootswatch: themerOptions.loadFromBootswatch,
|
260
|
+
localFeed: themerOptions.localThemes,
|
261
|
+
excludeBootswatch: themerOptions.excludeBootswatch,
|
262
|
+
includeBootswatch: themerOptions.includeBootswatch,
|
263
|
+
skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
|
264
|
+
};
|
265
|
+
/* eslint-enable */
|
266
|
+
|
267
|
+
logger.info('theme loaded: ' + user_state.theme_name);
|
268
|
+
logger.info('theme css file: ' + user_state.theme_css);
|
269
|
+
_this.setState('finished');
|
270
|
+
logger.info('state: ' + _this.getState());
|
271
|
+
logger.info('module initialized successfully');
|
272
|
+
} else {
|
273
|
+
_this.setState('finished');
|
274
|
+
logger.info('state: ' + _this.getState());
|
275
|
+
logger.info('themes detected as: disabled');
|
276
|
+
}
|
277
|
+
clearInterval(dependencies_met_user_state_available);
|
278
|
+
} else {
|
279
|
+
logger.info('wait for cookie to be loaded: ' + cookie_names.user_state);
|
280
|
+
}
|
281
|
+
if (interval_count > max_count) {
|
282
|
+
logger.error('interval max count loading cookie reached: ' + interval_count);
|
283
|
+
logger.error('check failed after: ' + interval_count * 25 + ' ms');
|
284
|
+
logger.fatal('loading cookie failed: ' + cookie_names.user_state);
|
285
|
+
|
286
|
+
// for development only
|
287
|
+
if (environment === 'development') {
|
288
|
+
gaCookies.forEach(item => console.log('cookieConsent: ' + item));
|
289
|
+
j1Cookies.forEach(item => console.log('cookieConsent: ' + item));
|
250
290
|
}
|
251
|
-
|
291
|
+
|
292
|
+
// jadams, 2021-07-13: display error page instead to continue
|
293
|
+
//
|
294
|
+
logger.warn('redirect to error page');
|
295
|
+
window.location.href = error_page;
|
296
|
+
clearInterval(dependencies_met_user_state_available);
|
252
297
|
}
|
253
|
-
}, 25); // END
|
298
|
+
}, 25); // END dependencies_met_user_state_available
|
254
299
|
}, // END init
|
255
300
|
|
256
301
|
// -------------------------------------------------------------------------
|
@@ -1,18 +1,38 @@
|
|
1
|
-
!function(e){var
|
1
|
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/assets/themes/j1/core/js",n(n.s=1)}([function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){window.Cookies=n(2),window.log4javascript=n(3),window.liteURL=n(4),window.platform=n(5),window.j1.adapter=n(7),window.j1.core=n(8),window.j1.core.navigator=n(9),window.j1.core.asciidoctor=n(10),window.j1.core.scrollSmooth=n(11),window.j1.anime=n(12);n(13),n(19)},function(e,t,n){var r,o;
|
2
|
+
/*!
|
3
|
+
* JavaScript Cookie v2.2.1
|
4
|
+
* https://github.com/js-cookie/js-cookie
|
5
|
+
*
|
6
|
+
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
|
7
|
+
* Released under the MIT license
|
8
|
+
*/!function(a){if(void 0===(o="function"==typeof(r=a)?r.call(t,n,t,e):r)||(e.exports=o),!0,e.exports=a(),!!0){var i=window.Cookies,s=window.Cookies=a();s.noConflict=function(){return window.Cookies=i,s}}}((function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function o(){}function a(t,n,a){if("undefined"!=typeof document){"number"==typeof(a=e({path:"/"},o.defaults,a)).expires&&(a.expires=new Date(1*new Date+864e5*a.expires)),a.expires=a.expires?a.expires.toUTCString():"";try{var i=JSON.stringify(n);/^[\{\[]/.test(i)&&(n=i)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var s="";for(var l in a)a[l]&&(s+="; "+l,!0!==a[l]&&(s+="="+a[l].split(";")[0]));return document.cookie=t+"="+n+s}}function i(e,n){if("undefined"!=typeof document){for(var o={},a=document.cookie?document.cookie.split("; "):[],i=0;i<a.length;i++){var s=a[i].split("="),l=s.slice(1).join("=");n||'"'!==l.charAt(0)||(l=l.slice(1,-1));try{var c=t(s[0]);if(l=(r.read||r)(l,c)||t(l),n)try{l=JSON.parse(l)}catch(e){}if(o[c]=l,e===c)break}catch(e){}}return e?o[e]:o}}return o.set=a,o.get=function(e){return i(e,!1)},o.getJSON=function(e){return i(e,!0)},o.remove=function(t,n){a(t,"",e(n,{expires:-1}))},o.defaults={},o.withConverter=n,o}((function(){}))}))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__,factory;factory=function(){function isUndefined(e){return void 0===e}function EventSupport(){}Array.prototype.push||(Array.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)this[this.length]=arguments[e];return this.length}),Array.prototype.shift||(Array.prototype.shift=function(){if(this.length>0){for(var e=this[0],t=0,n=this.length-1;t<n;t++)this[t]=this[t+1];return this.length=this.length-1,e}}),Array.prototype.splice||(Array.prototype.splice=function(e,t){var n=this.slice(e+t),r=this.slice(e,e+t);this.length=e;for(var o=[],a=0,i=arguments.length;a<i;a++)o[a]=arguments[a];var s=o.length>2?n=o.slice(2).concat(n):n;for(a=0,i=s.length;a<i;a++)this.push(s[a]);return r}),EventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(e){if(e instanceof Array){this.eventTypes=e,this.eventListeners={};for(var t=0,n=this.eventTypes.length;t<n;t++)this.eventListeners[this.eventTypes[t]]=[]}else handleError("log4javascript.EventSupport ["+this+"]: setEventTypes: eventTypes parameter must be an Array")},addEventListener:function(e,t){"function"==typeof t?(array_contains(this.eventTypes,e)||handleError("log4javascript.EventSupport ["+this+"]: addEventListener: no event called '"+e+"'"),this.eventListeners[e].push(t)):handleError("log4javascript.EventSupport ["+this+"]: addEventListener: listener must be a function")},removeEventListener:function(e,t){"function"==typeof t?(array_contains(this.eventTypes,e)||handleError("log4javascript.EventSupport ["+this+"]: removeEventListener: no event called '"+e+"'"),array_remove(this.eventListeners[e],t)):handleError("log4javascript.EventSupport ["+this+"]: removeEventListener: listener must be a function")},dispatchEvent:function(e,t){if(array_contains(this.eventTypes,e))for(var n=this.eventListeners[e],r=0,o=n.length;r<o;r++)n[r](this,e,t);else handleError("log4javascript.EventSupport ["+this+"]: dispatchEvent: no event called '"+e+"'")}};var applicationStartDate=new Date,uniqueId="log4javascript_"+applicationStartDate.getTime()+"_"+Math.floor(1e8*Math.random()),emptyFunction=function(){},newLine="\r\n",pageLoaded=!1;function Log4JavaScript(){}Log4JavaScript.prototype=new EventSupport;var log4javascript=new Log4JavaScript;function toStr(e){return e&&e.toString?e.toString():String(e)}function getExceptionMessage(e){return e.message?e.message:e.description?e.description:toStr(e)}function getUrlFileName(e){var t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return e.substr(t+1)}function getExceptionStringRep(e){if(e){var t="Exception: "+getExceptionMessage(e);try{e.lineNumber&&(t+=" on line number "+e.lineNumber),e.fileName&&(t+=" in file "+getUrlFileName(e.fileName))}catch(e){logLog.warn("Unable to obtain file and line information for error")}return showStackTraces&&e.stack&&(t+=newLine+"Stack trace:"+newLine+e.stack),t}return null}function bool(e){return Boolean(e)}function trim(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}function splitIntoLines(e){return e.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")}log4javascript.version="1.4.13",log4javascript.edition="log4javascript";var urlEncode=void 0!==window.encodeURIComponent?function(e){return encodeURIComponent(e)}:function(e){return escape(e).replace(/\+/g,"%2B").replace(/"/g,"%22").replace(/'/g,"%27").replace(/\//g,"%2F").replace(/=/g,"%3D")};function array_remove(e,t){for(var n=-1,r=0,o=e.length;r<o;r++)if(e[r]===t){n=r;break}return n>=0&&(e.splice(n,1),!0)}function array_contains(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]==t)return!0;return!1}function extractBooleanFromParam(e,t){return isUndefined(e)?t:bool(e)}function extractStringFromParam(e,t){return isUndefined(e)?t:String(e)}function extractIntFromParam(e,t){if(isUndefined(e))return t;try{var n=parseInt(e,10);return isNaN(n)?t:n}catch(n){return logLog.warn("Invalid int param "+e,n),t}}function extractFunctionFromParam(e,t){return"function"==typeof e?e:t}function isError(e){return e instanceof Error}Function.prototype.apply||(Function.prototype.apply=function(obj,args){var methodName="__apply__";void 0!==obj[methodName]&&(methodName+=String(Math.random()).substr(2)),obj[methodName]=this;for(var argsStrings=[],i=0,len=args.length;i<len;i++)argsStrings[i]="args["+i+"]";var script="obj."+methodName+"("+argsStrings.join(",")+")",returnValue=eval(script);return delete obj[methodName],returnValue}),Function.prototype.call||(Function.prototype.call=function(e){for(var t=[],n=1,r=arguments.length;n<r;n++)t[n-1]=arguments[n];return this.apply(e,t)});var logLog={quietMode:!1,debugMessages:[],setQuietMode:function(e){this.quietMode=bool(e)},numberOfErrors:0,alertAllErrors:!1,setAlertAllErrors:function(e){this.alertAllErrors=e},debug:function(e){this.debugMessages.push(e)},displayDebug:function(){alert(this.debugMessages.join(newLine))},warn:function(e,t){},error:function(e,t){if((1==++this.numberOfErrors||this.alertAllErrors)&&!this.quietMode){var n="log4javascript error: "+e;t&&(n+=newLine+newLine+"Original error: "+getExceptionStringRep(t)),alert(n)}}};function handleError(e,t){logLog.error(e,t),log4javascript.dispatchEvent("error",{message:e,exception:t})}log4javascript.logLog=logLog,log4javascript.setEventTypes(["load","error"]),log4javascript.handleError=handleError;var enabled=!("undefined"!=typeof log4javascript_disabled&&log4javascript_disabled);log4javascript.setEnabled=function(e){enabled=bool(e)},log4javascript.isEnabled=function(){return enabled};var useTimeStampsInMilliseconds=!0;log4javascript.setTimeStampsInMilliseconds=function(e){useTimeStampsInMilliseconds=bool(e)},log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds},log4javascript.evalInScope=function(expr){return eval(expr)};var showStackTraces=!1;log4javascript.setShowStackTraces=function(e){showStackTraces=bool(e)};var Level=function(e,t){this.level=e,this.name=t};function Timer(e,t){this.name=e,this.level=isUndefined(t)?Level.INFO:t,this.start=new Date}Level.prototype={toString:function(){return this.name},equals:function(e){return this.level==e.level},isGreaterOrEqual:function(e){return this.level>=e.level}},Level.ALL=new Level(Number.MIN_VALUE,"ALL"),Level.TRACE=new Level(1e4,"TRACE"),Level.DEBUG=new Level(2e4,"DEBUG"),Level.INFO=new Level(3e4,"INFO"),Level.WARN=new Level(4e4,"WARN"),Level.ERROR=new Level(5e4,"ERROR"),Level.FATAL=new Level(6e4,"FATAL"),Level.OFF=new Level(Number.MAX_VALUE,"OFF"),log4javascript.Level=Level,Timer.prototype.getElapsedTime=function(){return(new Date).getTime()-this.start.getTime()};var anonymousLoggerName="[anonymous]",defaultLoggerName="[default]",nullLoggerName="[null]",rootLoggerName="root";function Logger(e){this.name=e,this.parent=null,this.children=[];var t=[],n=null,r=this.name===rootLoggerName,o=this.name===nullLoggerName,a=null,i=!1;this.addChild=function(e){this.children.push(e),e.parent=this,e.invalidateAppenderCache()};var s=!0;this.getAdditivity=function(){return s},this.setAdditivity=function(e){var t=s!=e;s=e,t&&this.invalidateAppenderCache()},this.addAppender=function(e){o?handleError("Logger.addAppender: you may not add an appender to the null logger"):e instanceof log4javascript.Appender?array_contains(t,e)||(t.push(e),e.setAddedToLogger(this),this.invalidateAppenderCache()):handleError("Logger.addAppender: appender supplied ('"+toStr(e)+"') is not a subclass of Appender")},this.removeAppender=function(e){array_remove(t,e),e.setRemovedFromLogger(this),this.invalidateAppenderCache()},this.removeAllAppenders=function(){var e=t.length;if(e>0){for(var n=0;n<e;n++)t[n].setRemovedFromLogger(this);t.length=0,this.invalidateAppenderCache()}},this.getEffectiveAppenders=function(){if(null===a||i){var e=r||!this.getAdditivity()?[]:this.parent.getEffectiveAppenders();a=e.concat(t),i=!1}return a},this.invalidateAppenderCache=function(){i=!0;for(var e=0,t=this.children.length;e<t;e++)this.children[e].invalidateAppenderCache()},this.log=function(e,t){if(enabled&&e.isGreaterOrEqual(this.getEffectiveLevel())){var n,r=t.length-1,o=t[r];t.length>1&&isError(o)&&(n=o,r--);for(var a=[],i=0;i<=r;i++)a[i]=t[i];var s=new LoggingEvent(this,new Date,e,a,n);this.callAppenders(s)}},this.callAppenders=function(e){for(var t=this.getEffectiveAppenders(),n=0,r=t.length;n<r;n++)t[n].doAppend(e)},this.setLevel=function(e){r&&null===e?handleError("Logger.setLevel: you cannot set the level of the root logger to null"):e instanceof Level?n=e:handleError("Logger.setLevel: level supplied to logger "+this.name+" is not an instance of log4javascript.Level")},this.getLevel=function(){return n},this.getEffectiveLevel=function(){for(var e=this;null!==e;e=e.parent){var t=e.getLevel();if(null!==t)return t}},this.group=function(e,t){if(enabled)for(var n=this.getEffectiveAppenders(),r=0,o=n.length;r<o;r++)n[r].group(e,t)},this.groupEnd=function(){if(enabled)for(var e=this.getEffectiveAppenders(),t=0,n=e.length;t<n;t++)e[t].groupEnd()};var l={};this.time=function(e,t){enabled&&(isUndefined(e)?handleError("Logger.time: a name for the timer must be supplied"):!t||t instanceof Level?l[e]=new Timer(e,t):handleError("Logger.time: level supplied to timer "+e+" is not an instance of log4javascript.Level"))},this.timeEnd=function(e){if(enabled)if(isUndefined(e))handleError("Logger.timeEnd: a name for the timer must be supplied");else if(l[e]){var t=l[e],n=t.getElapsedTime();this.log(t.level,["Timer "+toStr(e)+" completed in "+n+"ms"]),delete l[e]}else logLog.warn("Logger.timeEnd: no timer found with name "+e)},this.assert=function(e){if(enabled&&!e){for(var t=[],n=1,r=arguments.length;n<r;n++)t.push(arguments[n]);(t=t.length>0?t:["Assertion Failure"]).push(newLine),t.push(e),this.log(Level.ERROR,t)}},this.toString=function(){return"Logger["+this.name+"]"}}Logger.prototype={trace:function(){this.log(Level.TRACE,arguments)},debug:function(){this.log(Level.DEBUG,arguments)},info:function(){this.log(Level.INFO,arguments)},warn:function(){this.log(Level.WARN,arguments)},error:function(){this.log(Level.ERROR,arguments)},fatal:function(){this.log(Level.FATAL,arguments)},isEnabledFor:function(e){return e.isGreaterOrEqual(this.getEffectiveLevel())},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE)},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG)},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO)},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN)},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR)},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL)}},Logger.prototype.trace.isEntryPoint=!0,Logger.prototype.debug.isEntryPoint=!0,Logger.prototype.info.isEntryPoint=!0,Logger.prototype.warn.isEntryPoint=!0,Logger.prototype.error.isEntryPoint=!0,Logger.prototype.fatal.isEntryPoint=!0;var loggers={},loggerNames=[],ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG,rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL),log4javascript.getRootLogger=function(){return rootLogger},log4javascript.getLogger=function(e){if("string"!=typeof e&&(e=anonymousLoggerName,logLog.warn("log4javascript.getLogger: non-string logger name "+toStr(e)+" supplied, returning anonymous logger")),e==rootLoggerName&&handleError("log4javascript.getLogger: root logger may not be obtained by name"),!loggers[e]){var t=new Logger(e);loggers[e]=t,loggerNames.push(e);var n,r=e.lastIndexOf(".");if(r>-1){var o=e.substring(0,r);n=log4javascript.getLogger(o)}else n=rootLogger;n.addChild(t)}return loggers[e]};var defaultLogger=null;log4javascript.getDefaultLogger=function(){return defaultLogger||(defaultLogger=createDefaultLogger()),defaultLogger};var nullLogger=null;log4javascript.getNullLogger=function(){return nullLogger||(nullLogger=new Logger(nullLoggerName)).setLevel(Level.OFF),nullLogger},log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL),loggers={}};var LoggingEvent=function(e,t,n,r,o){this.logger=e,this.timeStamp=t,this.timeStampInMilliseconds=t.getTime(),this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1e3),this.milliseconds=this.timeStamp.getMilliseconds(),this.level=n,this.messages=r,this.exception=o};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):""},getCombinedMessages:function(){return 1==this.messages.length?this.messages[0]:this.messages.join(newLine)},toString:function(){return"LoggingEvent["+this.level+"]"}},log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:"logger",timeStampKey:"timestamp",millisecondsKey:"milliseconds",levelKey:"level",messageKey:"message",exceptionKey:"exception",urlKey:"url"},loggerKey:"logger",timeStampKey:"timestamp",millisecondsKey:"milliseconds",levelKey:"level",messageKey:"message",exceptionKey:"exception",urlKey:"url",batchHeader:"",batchFooter:"",batchSeparator:"",returnsPostData:!1,overrideTimeStampsSetting:!1,useTimeStampsInMilliseconds:null,format:function(){handleError("Layout.format: layout supplied has no format() method")},ignoresThrowable:function(){handleError("Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method")},getContentType:function(){return"text/plain"},allowBatching:function(){return!0},setTimeStampsInMilliseconds:function(e){this.overrideTimeStampsSetting=!0,this.useTimeStampsInMilliseconds=bool(e)},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds},getTimeStampValue:function(e){return this.isTimeStampsInMilliseconds()?e.timeStampInMilliseconds:e.timeStampInSeconds},getDataValues:function(e,t){var n=[[this.loggerKey,e.logger.name],[this.timeStampKey,this.getTimeStampValue(e)],[this.levelKey,e.level.name],[this.urlKey,window.location.href],[this.messageKey,t?e.getCombinedMessages():e.messages]];if(this.isTimeStampsInMilliseconds()||n.push([this.millisecondsKey,e.milliseconds]),e.exception&&n.push([this.exceptionKey,getExceptionStringRep(e.exception)]),this.hasCustomFields())for(var r=0,o=this.customFields.length;r<o;r++){var a=this.customFields[r].value;"function"==typeof a&&(a=a(this,e)),n.push([this.customFields[r].name,a])}return n},setKeys:function(e,t,n,r,o,a,i){this.loggerKey=extractStringFromParam(e,this.defaults.loggerKey),this.timeStampKey=extractStringFromParam(t,this.defaults.timeStampKey),this.levelKey=extractStringFromParam(n,this.defaults.levelKey),this.messageKey=extractStringFromParam(r,this.defaults.messageKey),this.exceptionKey=extractStringFromParam(o,this.defaults.exceptionKey),this.urlKey=extractStringFromParam(a,this.defaults.urlKey),this.millisecondsKey=extractStringFromParam(i,this.defaults.millisecondsKey)},setCustomField:function(e,t){for(var n=!1,r=0,o=this.customFields.length;r<o;r++)this.customFields[r].name===e&&(this.customFields[r].value=t,n=!0);n||this.customFields.push({name:e,value:t})},hasCustomFields:function(){return this.customFields.length>0},formatWithException:function(e){var t=this.format(e);return e.exception&&this.ignoresThrowable()&&(t+=e.getThrowableStrRep()),t},toString:function(){handleError("Layout.toString: all layouts must override this method")}},log4javascript.Layout=Layout;var Appender=function(){},SimpleDateFormat;function SimpleLayout(){this.customFields=[]}function NullLayout(){this.customFields=[]}function XmlLayout(e){this.combineMessages=extractBooleanFromParam(e,!0),this.customFields=[]}function escapeNewLines(e){return e.replace(/\r\n|\r|\n/g,"\\r\\n")}function JsonLayout(e,t){this.readable=extractBooleanFromParam(e,!1),this.combineMessages=extractBooleanFromParam(t,!0),this.batchHeader=this.readable?"["+newLine:"[",this.batchFooter=this.readable?"]"+newLine:"]",this.batchSeparator=this.readable?","+newLine:",",this.setKeys(),this.colon=this.readable?": ":":",this.tab=this.readable?"\t":"",this.lineBreak=this.readable?newLine:"",this.customFields=[]}function HttpPostDataLayout(){this.setKeys(),this.customFields=[],this.returnsPostData=!0}function formatObjectExpansion(e,t,n){var r=[];return function e(t,n,o){var a,i,s,l,c,u,d;function p(e){for(var t=splitIntoLines(e),n=1,r=t.length;n<r;n++)t[n]=o+t[n];return t.join(newLine)}if(o||(o=""),null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return p(t);if("object"==typeof t&&array_contains(r,t)){try{u=toStr(t)}catch(e){u="Error formatting property. Details: "+getExceptionStringRep(e)}return u+" [already expanded]"}if(t instanceof Array&&n>0){for(r.push(t),u="["+newLine,s=n-1,l=o+" ",c=[],a=0,i=t.length;a<i;a++)try{d=e(t[a],s,l),c.push(l+d)}catch(e){c.push(l+"Error formatting array member. Details: "+getExceptionStringRep(e))}return u+=c.join(","+newLine)+newLine+o+"]"}if("[object Date]"==Object.prototype.toString.call(t))return t.toString();if("object"==typeof t&&n>0){for(a in r.push(t),u="{"+newLine,s=n-1,l=o+" ",c=[],t)try{d=e(t[a],s,l),c.push(l+a+": "+d)}catch(e){c.push(l+a+": Error formatting property. Details: "+getExceptionStringRep(e))}return u+=c.join(","+newLine)+newLine+o+"}"}return p(toStr(t))}(e,t,n)}function PatternLayout(e){this.pattern=e||PatternLayout.DEFAULT_CONVERSION_PATTERN,this.customFields=[]}function AlertAppender(){}function BrowserConsoleAppender(){}Appender.prototype=new EventSupport,Appender.prototype.layout=new PatternLayout,Appender.prototype.threshold=Level.ALL,Appender.prototype.loggers=[],Appender.prototype.doAppend=function(e){enabled&&e.level.level>=this.threshold.level&&this.append(e)},Appender.prototype.append=function(e){},Appender.prototype.setLayout=function(e){e instanceof Layout?this.layout=e:handleError("Appender.setLayout: layout supplied to "+this.toString()+" is not a subclass of Layout")},Appender.prototype.getLayout=function(){return this.layout},Appender.prototype.setThreshold=function(e){e instanceof Level?this.threshold=e:handleError("Appender.setThreshold: threshold supplied to "+this.toString()+" is not a subclass of Level")},Appender.prototype.getThreshold=function(){return this.threshold},Appender.prototype.setAddedToLogger=function(e){this.loggers.push(e)},Appender.prototype.setRemovedFromLogger=function(e){array_remove(this.loggers,e)},Appender.prototype.group=emptyFunction,Appender.prototype.groupEnd=emptyFunction,Appender.prototype.toString=function(){handleError("Appender.toString: all appenders must override this method")},log4javascript.Appender=Appender,SimpleLayout.prototype=new Layout,SimpleLayout.prototype.format=function(e){return e.level.name+" - "+e.getCombinedMessages()},SimpleLayout.prototype.ignoresThrowable=function(){return!0},SimpleLayout.prototype.toString=function(){return"SimpleLayout"},log4javascript.SimpleLayout=SimpleLayout,NullLayout.prototype=new Layout,NullLayout.prototype.format=function(e){return e.messages},NullLayout.prototype.ignoresThrowable=function(){return!0},NullLayout.prototype.formatWithException=function(e){var t=e.messages,n=e.exception;return n?t.concat([n]):t},NullLayout.prototype.toString=function(){return"NullLayout"},log4javascript.NullLayout=NullLayout,XmlLayout.prototype=new Layout,XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages},XmlLayout.prototype.getContentType=function(){return"text/xml"},XmlLayout.prototype.escapeCdata=function(e){return e.replace(/\]\]>/,"]]>]]><![CDATA[")},XmlLayout.prototype.format=function(e){var t,n,r=this;function o(e){return e="string"==typeof e?e:toStr(e),"<log4javascript:message><![CDATA["+r.escapeCdata(e)+"]]></log4javascript:message>"}var a='<log4javascript:event logger="'+e.logger.name+'" timestamp="'+this.getTimeStampValue(e)+'"';if(this.isTimeStampsInMilliseconds()||(a+=' milliseconds="'+e.milliseconds+'"'),a+=' level="'+e.level.name+'">'+newLine,this.combineMessages)a+=o(e.getCombinedMessages());else{for(a+="<log4javascript:messages>"+newLine,t=0,n=e.messages.length;t<n;t++)a+=o(e.messages[t])+newLine;a+="</log4javascript:messages>"+newLine}if(this.hasCustomFields())for(t=0,n=this.customFields.length;t<n;t++)a+='<log4javascript:customfield name="'+this.customFields[t].name+'"><![CDATA['+this.customFields[t].value.toString()+"]]></log4javascript:customfield>"+newLine;return e.exception&&(a+="<log4javascript:exception><![CDATA["+getExceptionStringRep(e.exception)+"]]></log4javascript:exception>"+newLine),a+="</log4javascript:event>"+newLine+newLine},XmlLayout.prototype.ignoresThrowable=function(){return!1},XmlLayout.prototype.toString=function(){return"XmlLayout"},log4javascript.XmlLayout=XmlLayout,JsonLayout.prototype=new Layout,JsonLayout.prototype.isReadable=function(){return this.readable},JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages},JsonLayout.prototype.format=function(e){var t,n,r=this,o=this.getDataValues(e,this.combineMessages),a="{"+this.lineBreak;function i(e,t,n){var o,a=typeof e;if(e instanceof Date)o=String(e.getTime());else if(n&&e instanceof Array){o="["+r.lineBreak;for(var s=0,l=e.length;s<l;s++){var c=t+r.tab;o+=c+i(e[s],c,!1),s<e.length-1&&(o+=","),o+=r.lineBreak}o+=t+"]"}else o="number"!==a&&"boolean"!==a?'"'+escapeNewLines(toStr(e).replace(/\"/g,'\\"'))+'"':e;return o}for(t=0,n=o.length-1;t<=n;t++)a+=this.tab+'"'+o[t][0]+'"'+this.colon+i(o[t][1],this.tab,!0),t<n&&(a+=","),a+=this.lineBreak;return a+="}"+this.lineBreak},JsonLayout.prototype.ignoresThrowable=function(){return!1},JsonLayout.prototype.toString=function(){return"JsonLayout"},JsonLayout.prototype.getContentType=function(){return"application/json"},log4javascript.JsonLayout=JsonLayout,HttpPostDataLayout.prototype=new Layout,HttpPostDataLayout.prototype.allowBatching=function(){return!1},HttpPostDataLayout.prototype.format=function(e){for(var t=this.getDataValues(e),n=[],r=0,o=t.length;r<o;r++){var a=t[r][1]instanceof Date?String(t[r][1].getTime()):t[r][1];n.push(urlEncode(t[r][0])+"="+urlEncode(a))}return n.join("&")},HttpPostDataLayout.prototype.ignoresThrowable=function(e){return!1},HttpPostDataLayout.prototype.toString=function(){return"HttpPostDataLayout"},log4javascript.HttpPostDataLayout=HttpPostDataLayout,function(){var e=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/,t=["January","February","March","April","May","June","July","August","September","October","November","December"],n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r={G:0,y:3,M:4,w:2,W:2,D:2,d:2,F:2,E:1,a:0,H:2,k:2,K:2,h:2,m:2,s:2,S:2,Z:5},o=function(e,t,n){var r=new Date(e,t,n,0,0,0);return r.setMilliseconds(0),r};Date.prototype.getDifference=function(e){return this.getTime()-e.getTime()},Date.prototype.isBefore=function(e){return this.getTime()<e.getTime()},Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())},Date.prototype.getTimeSince=function(e){return this.getUTCTime()-e.getUTCTime()},Date.prototype.getPreviousSunday=function(){var e=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0),t=new Date(e.getTime()-864e5*this.getDay());return o(t.getFullYear(),t.getMonth(),t.getDate())},Date.prototype.getWeekInYear=function(e){isUndefined(this.minimalDaysInFirstWeek)&&(e=1);var t=this.getPreviousSunday(),n=o(this.getFullYear(),0,1),r=t.isBefore(n)?0:1+Math.floor(t.getTimeSince(n)/6048e5);return 7-n.getDay()<e&&r--,r},Date.prototype.getWeekInMonth=function(e){isUndefined(this.minimalDaysInFirstWeek)&&(e=1);var t=this.getPreviousSunday(),n=o(this.getFullYear(),this.getMonth(),1),r=t.isBefore(n)?0:1+Math.floor(t.getTimeSince(n)/6048e5);return 7-n.getDay()>=e&&r++,r},Date.prototype.getDayInYear=function(){var e=o(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(e)/864e5)},(SimpleDateFormat=function(e){this.formatString=e}).prototype.setMinimalDaysInFirstWeek=function(e){this.minimalDaysInFirstWeek=e},SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?1:this.minimalDaysInFirstWeek};var a=function(e,t){for(;e.length<t;)e="0"+e;return e},i=function(e,t,n){return t>=4?e:e.substr(0,Math.max(n,t))},s=function(e,t){return a(""+e,t)};SimpleDateFormat.prototype.format=function(o){for(var l,c="",u=this.formatString;l=e.exec(u);){var d=l[1],p=l[2],h=l[3],g=l[4];if(d)c+="''"==d?"'":d.substring(1,d.length-1);else if(h);else if(g)c+=g;else if(p){var m=p.charAt(0),f=p.length,v="";switch(m){case"G":v="AD";break;case"y":v=o.getFullYear();break;case"M":v=o.getMonth();break;case"w":v=o.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case"W":v=o.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case"D":v=o.getDayInYear();break;case"d":v=o.getDate();break;case"F":v=1+Math.floor((o.getDate()-1)/7);break;case"E":v=n[o.getDay()];break;case"a":v=o.getHours()>=12?"PM":"AM";break;case"H":v=o.getHours();break;case"k":v=o.getHours()||24;break;case"K":v=o.getHours()%12;break;case"h":v=o.getHours()%12||12;break;case"m":v=o.getMinutes();break;case"s":v=o.getSeconds();break;case"S":v=o.getMilliseconds();break;case"Z":v=o.getTimezoneOffset()}switch(r[m]){case 0:c+=i(v,f,2);break;case 1:c+=i(v,f,3);break;case 2:c+=s(v,f);break;case 3:c+=f<=3?(""+v).substr(2,2):s(v,f);break;case 4:c+=f>=3?i(t[v],f,f):s(v+1,f);break;case 5:var y=v>0?"-":"+",b=Math.abs(v),w=""+Math.floor(b/60),C=""+b%60;c+=y+(w=a(w,2))+(C=a(C,2))}}u=u.substr(l.index+l[0].length)}return c}}(),log4javascript.SimpleDateFormat=SimpleDateFormat,PatternLayout.TTCC_CONVERSION_PATTERN="%r %p %c - %m%n",PatternLayout.DEFAULT_CONVERSION_PATTERN="%m%n",PatternLayout.ISO8601_DATEFORMAT="yyyy-MM-dd HH:mm:ss,SSS",PatternLayout.DATETIME_DATEFORMAT="dd MMM yyyy HH:mm:ss,SSS",PatternLayout.ABSOLUTETIME_DATEFORMAT="HH:mm:ss,SSS",PatternLayout.prototype=new Layout,PatternLayout.prototype.format=function(e){for(var t,n=/%(-?[0-9]+)?(\.?[0-9]+)?([acdfmMnpr%])(\{([^\}]+)\})?|([^%]+)/,r="",o=this.pattern;t=n.exec(o);){var a=t[0],i=t[1],s=t[2],l=t[3],c=t[5],u=t[6];if(u)r+=""+u;else{var d,p="";switch(l){case"a":case"m":var h=0;c&&(h=parseInt(c,10),isNaN(h)&&(handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character '"+l+"' - should be a number"),h=0));for(var g="a"===l?e.messages[0]:e.messages,m=0,f=g.length;m<f;m++)m>0&&" "!==p.charAt(p.length-1)&&(p+=" "),p+=0===h?g[m]:formatObjectExpansion(g[m],h);break;case"c":var v=e.logger.name;if(c){var y=parseInt(c,10),b=e.logger.name.split(".");p=y>=b.length?v:b.slice(b.length-y).join(".")}else p=v;break;case"d":var w=PatternLayout.ISO8601_DATEFORMAT;c&&("ISO8601"==(w=c)?w=PatternLayout.ISO8601_DATEFORMAT:"ABSOLUTE"==w?w=PatternLayout.ABSOLUTETIME_DATEFORMAT:"DATE"==w&&(w=PatternLayout.DATETIME_DATEFORMAT)),p=new SimpleDateFormat(w).format(e.timeStamp);break;case"f":if(this.hasCustomFields()){var C=0;c&&(C=parseInt(c,10),isNaN(C)?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - should be a number"):0===C?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - must be greater than zero"):C>this.customFields.length?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - there aren't that many custom fields"):C-=1);var x=this.customFields[C].value;"function"==typeof x&&(x=x(this,e)),p=x}break;case"n":p=newLine;break;case"p":p=e.level.name;break;case"r":p=""+e.timeStamp.getDifference(applicationStartDate);break;case"%":p="%";break;default:p=a}if(s){d=parseInt(s.substr(1),10);var E=p.length;d<E&&(p=p.substring(E-d,E))}if(i)if("-"==i.charAt(0))for(d=parseInt(i.substr(1),10);p.length<d;)p+=" ";else for(d=parseInt(i,10);p.length<d;)p=" "+p;r+=p}o=o.substr(t.index+t[0].length)}return r},PatternLayout.prototype.ignoresThrowable=function(){return!0},PatternLayout.prototype.toString=function(){return"PatternLayout"},log4javascript.PatternLayout=PatternLayout,AlertAppender.prototype=new Appender,AlertAppender.prototype.layout=new SimpleLayout,AlertAppender.prototype.append=function(e){alert(this.getLayout().formatWithException(e))},AlertAppender.prototype.toString=function(){return"AlertAppender"},log4javascript.AlertAppender=AlertAppender,BrowserConsoleAppender.prototype=new log4javascript.Appender,BrowserConsoleAppender.prototype.layout=new NullLayout,BrowserConsoleAppender.prototype.threshold=Level.DEBUG,BrowserConsoleAppender.prototype.append=function(e){var t,n=this,r=function(t){var r=n.getLayout().formatWithException(e);return"string"==typeof r?t?r:[r]:t?r.join(" "):r},o=window.console;o&&o.log?"function"==typeof o[t=o.debug&&Level.DEBUG.isGreaterOrEqual(e.level)?"debug":o.info&&Level.INFO.equals(e.level)?"info":o.warn&&Level.WARN.equals(e.level)?"warn":o.error&&e.level.isGreaterOrEqual(Level.ERROR)?"error":"log"].apply?o[t].apply(o,r(!1)):o[t](r(!0)):"undefined"!=typeof opera&&opera.postError&&opera.postError(r(!0))},BrowserConsoleAppender.prototype.group=function(e){window.console&&window.console.group&&window.console.group(e)},BrowserConsoleAppender.prototype.groupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},BrowserConsoleAppender.prototype.toString=function(){return"BrowserConsoleAppender"},log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest},xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],withCredentialsSupported=!1,getXmlHttp=function(e){for(var t,n=null,r=0,o=xmlHttpFactories.length;r<o;r++){t=xmlHttpFactories[r];try{return n=t(),withCredentialsSupported=t==xhrFactory&&"withCredentials"in n,getXmlHttp=t,n}catch(e){}}e?e():handleError("getXmlHttp: unable to obtain XMLHttpRequest object")},ConsoleAppender;function isHttpRequestSuccessful(e){return isUndefined(e.status)||0===e.status||e.status>=200&&e.status<300||1223==e.status}function AjaxAppender(e,t){var n=this,r=!0;e||(handleError("AjaxAppender: URL must be specified in constructor"),r=!1);var o=this.defaults.timed,a=this.defaults.waitForResponse,i=this.defaults.batchSize,s=this.defaults.timerInterval,l=this.defaults.requestSuccessCallback,c=this.defaults.failCallback,u=this.defaults.postVarName,d=this.defaults.sendAllOnUnload,p=this.defaults.contentType,h=null,g=[],m=[],f=[],v=!1,y=!1;function b(e){return!y||(handleError("AjaxAppender: configuration option '"+e+"' may not be set after the appender has been initialized"),!1)}function w(){var e;if(r&&enabled)if(v=!0,a)m.length>0?S(x(e=m.shift()),w):(v=!1,o&&E());else{for(;e=m.shift();)S(x(e));v=!1,o&&E()}}function C(){var e=!1;if(r&&enabled){for(var t,s=n.getLayout().allowBatching()?i:1,l=[];t=g.shift();)l.push(t),g.length>=s&&(m.push(l),l=[]);l.length>0&&m.push(l),e=m.length>0,a=!1,o=!1,w()}return e}function x(e){for(var t,r=[],o="";t=e.shift();)r.push(n.getLayout().formatWithException(t));return o=1==e.length?r.join(""):n.getLayout().batchHeader+r.join(n.getLayout().batchSeparator)+n.getLayout().batchFooter,p==n.defaults.contentType&&((o=n.getLayout().returnsPostData?o:urlEncode(u)+"="+urlEncode(o)).length>0&&(o+="&"),o+="layout="+urlEncode(n.getLayout().toString())),o}function E(){window.setTimeout(w,s)}function L(){var e="AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled";handleError(e),r=!1,c&&c(e)}function S(n,o){try{var a=getXmlHttp(L);if(r){a.onreadystatechange=function(){if(4==a.readyState){if(isHttpRequestSuccessful(a))l&&l(a),o&&o(a);else{var t="AjaxAppender.append: XMLHttpRequest request to URL "+e+" returned status code "+a.status;handleError(t),c&&c(t)}a.onreadystatechange=emptyFunction,a=null}},a.open("POST",e,!0),t&&withCredentialsSupported&&(a.withCredentials=!0);try{for(var i,s=0;i=f[s++];)a.setRequestHeader(i.name,i.value);a.setRequestHeader("Content-Type",p)}catch(e){var u="AjaxAppender.append: your browser's XMLHttpRequest implementation does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled";return handleError(u),r=!1,void(c&&c(u))}a.send(n)}}catch(t){var d="AjaxAppender.append: error sending log message to "+e;handleError(d,t),r=!1,c&&c(d+". Details: "+getExceptionStringRep(t))}}this.getSessionId=function(){return h},this.setSessionId=function(e){h=extractStringFromParam(e,null),this.layout.setCustomField("sessionid",h)},this.setLayout=function(e){b("layout")&&(this.layout=e,null!==h&&this.setSessionId(h))},this.isTimed=function(){return o},this.setTimed=function(e){b("timed")&&(o=bool(e))},this.getTimerInterval=function(){return s},this.setTimerInterval=function(e){b("timerInterval")&&(s=extractIntFromParam(e,s))},this.isWaitForResponse=function(){return a},this.setWaitForResponse=function(e){b("waitForResponse")&&(a=bool(e))},this.getBatchSize=function(){return i},this.setBatchSize=function(e){b("batchSize")&&(i=extractIntFromParam(e,i))},this.isSendAllOnUnload=function(){return d},this.setSendAllOnUnload=function(e){b("sendAllOnUnload")&&(d=extractBooleanFromParam(e,d))},this.setRequestSuccessCallback=function(e){l=extractFunctionFromParam(e,l)},this.setFailCallback=function(e){c=extractFunctionFromParam(e,c)},this.getPostVarName=function(){return u},this.setPostVarName=function(e){b("postVarName")&&(u=extractStringFromParam(e,u))},this.getHeaders=function(){return f},this.addHeader=function(e,t){"content-type"==e.toLowerCase()?p=t:f.push({name:e,value:t})},this.sendAll=w,this.sendAllRemaining=C,this.append=function(e){if(r){y||function(){if(y=!0,d){var e=window.onbeforeunload;window.onbeforeunload=function(){e&&e(),C()}}o&&E()}(),g.push(e);var t=this.getLayout().allowBatching()?i:1;if(g.length>=t){for(var n,s=[];n=g.shift();)s.push(n);m.push(s),o||a&&(!a||v)||w()}}}}function setCookie(e,t,n,r){var o;if(r=r?"; path="+r:"",n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),o="; expires="+a.toGMTString()}else o="";document.cookie=escape(e)+"="+escape(t)+o+r}function getCookie(e){for(var t=escape(e)+"=",n=document.cookie.split(";"),r=0,o=n.length;r<o;r++){for(var a=n[r];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return unescape(a.substring(t.length,a.length))}return null}function getBaseUrl(){for(var e=document.getElementsByTagName("script"),t=0,n=e.length;t<n;++t)if(-1!=e[t].src.indexOf("log4javascript")){var r=e[t].src.lastIndexOf("/");return-1==r?"":e[t].src.substr(0,r+1)}return null}function isLoaded(e){try{return bool(e.loaded)}catch(e){return!1}}function padWithSpaces(e,t){if(e.length<t){for(var n=[],r=Math.max(0,t-e.length),o=0;o<r;o++)n[o]=" ";e+=n.join("")}return e}function createDefaultLogger(){var e=log4javascript.getLogger(defaultLoggerName),t=new log4javascript.PopUpAppender;return e.addAppender(t),e}if(AjaxAppender.prototype=new Appender,AjaxAppender.prototype.defaults={waitForResponse:!1,timed:!1,timerInterval:1e3,batchSize:1,sendAllOnUnload:!1,requestSuccessCallback:null,failCallback:null,postVarName:"data",contentType:"application/x-www-form-urlencoded"},AjaxAppender.prototype.layout=new HttpPostDataLayout,AjaxAppender.prototype.toString=function(){return"AjaxAppender"},log4javascript.AjaxAppender=AjaxAppender,function(){var e=[],t=1;function n(e,t,n,r,o){this.create(!1,null,e,t,n,r,o,this.defaults.focusPopUp)}function r(e,t,n,r,o,a){this.create(!0,e,t,n,r,o,a,!1)}(ConsoleAppender=function(){}).prototype=new Appender,ConsoleAppender.prototype.create=function(n,r,o,a,i,s,l,c){var u=this,d=!1,p=!1,h=!1,g=!1,m=[],f=!0,v=t++;a=extractBooleanFromParam(a,this.defaults.initiallyMinimized),o=extractBooleanFromParam(o,this.defaults.lazyInit),i=extractBooleanFromParam(i,this.defaults.useDocumentWrite);var y=this.defaults.newestMessageAtTop,b=this.defaults.scrollToLatestMessage;s=s||this.defaults.width,l=l||this.defaults.height;var w,C,x,E,L,S=this.defaults.maxMessages,T=this.defaults.showCommandLine,M=this.defaults.commandLineObjectExpansionDepth,A=this.defaults.showHideButton,I=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var k=n?"InPageAppender":"PopUpAppender",D=function(e){return!p||(handleError(k+": configuration option '"+e+"' may not be set after the appender has been initialized"),!1)},N=function(){return h&&f&&!g};this.isNewestMessageAtTop=function(){return y},this.setNewestMessageAtTop=function(e){y=bool(e),N()&&E().setNewestAtTop(y)},this.isScrollToLatestMessage=function(){return b},this.setScrollToLatestMessage=function(e){b=bool(e),N()&&E().setScrollToLatest(b)},this.getWidth=function(){return s},this.setWidth=function(e){D("width")&&(s=extractStringFromParam(e,s))},this.getHeight=function(){return l},this.setHeight=function(e){D("height")&&(l=extractStringFromParam(e,l))},this.getMaxMessages=function(){return S},this.setMaxMessages=function(e){S=extractIntFromParam(e,S),N()&&E().setMaxMessages(S)},this.isShowCommandLine=function(){return T},this.setShowCommandLine=function(e){T=bool(e),N()&&E().setShowCommandLine(T)},this.isShowHideButton=function(){return A},this.setShowHideButton=function(e){A=bool(e),N()&&E().setShowHideButton(A)},this.isShowCloseButton=function(){return I},this.setShowCloseButton=function(e){I=bool(e),N()&&E().setShowCloseButton(I)},this.getCommandLineObjectExpansionDepth=function(){return M},this.setCommandLineObjectExpansionDepth=function(e){M=extractIntFromParam(e,M)};var R=a;function O(e,t){this.loggingEvent=e,this.levelName=e.level.name,this.formattedMessage=t}function F(e,t){this.name=e,this.initiallyExpanded=t}function P(){}this.isInitiallyMinimized=function(){return a},this.setInitiallyMinimized=function(e){D("initiallyMinimized")&&(a=bool(e),R=a)},this.isUseDocumentWrite=function(){return i},this.setUseDocumentWrite=function(e){D("useDocumentWrite")&&(i=bool(e))},O.prototype.append=function(){E().log(this.levelName,this.formattedMessage)},F.prototype.append=function(){E().group(this.name,this.initiallyExpanded)},P.prototype.append=function(){E().groupEnd()};var $=function(){x(),d?g&&ee&&C():w(),x()&&j()};this.append=function(e){if(f){var t=u.getLayout().formatWithException(e);m.push(new O(e,t)),$()}},this.group=function(e,t){f&&(m.push(new F(e,t)),$())},this.groupEnd=function(){f&&(m.push(new P),$())};var j=function(){for(;m.length>0;)m.shift().append();c&&E().focus()};this.setAddedToLogger=function(e){this.loggers.push(e),enabled&&!o&&w()},this.clear=function(){N()&&E().clearLog(),m.length=0},this.focus=function(){N()&&E().focus()},this.focusCommandLine=function(){N()&&E().focusCommandLine()},this.focusSearch=function(){N()&&E().focusSearch()};var B=window;this.getCommandWindow=function(){return B},this.setCommandWindow=function(e){B=e},this.executeLastCommand=function(){N()&&E().evalLastCommand()};var _=new PatternLayout("%m");this.getCommandLayout=function(){return _},this.setCommandLayout=function(e){_=e},this.evalCommandAndAppend=function(e){var t={appendResult:!0,isError:!1},n="";try{var r,o;!B.eval&&B.execScript&&B.execScript("null");var a={};for(o=0,len=H.length;o<len;o++)a[H[o][0]]=H[o][1];var i=[],s=function(e){i.push([e,B[e]])};s("appender"),B.appender=u,s("commandReturnValue"),B.commandReturnValue=t,s("commandLineFunctionsHash"),B.commandLineFunctionsHash=a;var l=function(e){s(e),B[e]=function(){return this.commandLineFunctionsHash[e](u,arguments,t)}};for(o=0,len=H.length;o<len;o++)l(H[o][0]);for(B===window&&B.execScript?(s("evalExpr"),s("result"),window.evalExpr=e,B.execScript("window.result=eval(window.evalExpr);"),r=window.result):r=B.eval(e),n=isUndefined(r)?r:formatObjectExpansion(r,M),o=0,len=i.length;o<len;o++)B[i[o][0]]=i[o][1]}catch(e){n="Error evaluating command: "+getExceptionStringRep(e),t.isError=!0}if(t.appendResult){var c=">>> "+e;isUndefined(n)||(c+=newLine+n);var d=t.isError?Level.ERROR:Level.INFO,p=new LoggingEvent(null,new Date,d,[c],null),h=this.getLayout();this.setLayout(_),this.append(p),this.setLayout(h)}};var H=e.concat([]);this.addCommandLineFunction=function(e,t){H.push([e,t])},this.storeCommandHistory=function(e){setCookie("log4javascriptCommandHistory",e.join(","))};var W=function(e){var t=['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">','<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">',"<head>","<title>log4javascript</title>",'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',"\x3c!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work --\x3e",'<meta http-equiv="X-UA-Compatible" content="IE=7" />','<script type="text/javascript">var isIe = false, isIePre7 = false;<\/script>','\x3c!--[if IE]><script type="text/javascript">isIe = true<\/script><![endif]--\x3e','\x3c!--[if lt IE 7]><script type="text/javascript">isIePre7 = true<\/script><![endif]--\x3e','<script type="text/javascript">',"//<![CDATA[","var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}","function LogItem(){}","LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}","this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}","this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}","if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}","if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}",'LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="separator";this.mainDiv.innerHTML=" ";}',"SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}","Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}",'this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement("div"));this.contentDiv.id=this.isWrapped?"log_wrapped":"log_unwrapped";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement("div");this.mainDiv.className="group";this.headingDiv=this.mainDiv.appendChild(document.createElement("div"));this.headingDiv.className="groupheading";this.expander=this.headingDiv.appendChild(document.createElement("span"));this.expander.className="expander unselectable greyedout";this.expander.unselectable=true;var expanderText=this.group.expanded?"-":"+";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(" "+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement("div"));var contentCssClass=this.group.expanded?"expanded":"collapsed";this.contentDiv.className="groupcontent "+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass="expanded";oldCssClass="collapsed";expanderText="-";}else{newCssClass="collapsed";oldCssClass="expanded";expanderText="+";}',"replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}",'while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,"greyedout");}else{addClass(this.expander,"greyedout");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML="";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}',"Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}","this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}","this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}","this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}","this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}","if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}",'LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML="";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?"searchnonmatch":"searchmatch";var newCssClass=isMatch?"searchmatch":"searchnonmatch";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,"searchmatch");removeClass(this.mainDiv,"searchnonmatch");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className="logentry wrapped "+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML="";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="logentry unwrapped "+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement("pre"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className="unwrapped";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="logentry nonielogentry "+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement("span"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}',"LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}",'LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\r\\n/g,"\\r");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\r\\n/g,"\\r");}',"for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}",'this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,"searchterm","span");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,"searchterm","span");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,"searchterm","span");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}',"return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}","LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}",'GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split("&"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split("=");if(nameValueBits[0]=="log4javascript_domain"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$("log");if(isIePre7){addClass(logMainContainer,"oldIe");}','rootGroup=new Group("root",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$("command").value="";$("command").autocomplete="off";$("command").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value="";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$("command").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$("command").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}',"break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}","break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}","break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}",'appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($("enableLogging").checked);}',"function setLoggingEnabled(enable){loggingEnabled=enable;}","var appender=null;function setAppender(appenderParam){appender=appenderParam;}",'function setShowCloseButton(showCloseButton){$("closeButton").style.display=showCloseButton?"inline":"none";}','function setShowHideButton(showHideButton){$("hideButton").style.display=showHideButton?"inline":"none";}',"var newestAtTop=false;function LogItemContentReverser(){}","LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}","matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}","currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}",'$("newestAtTop").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$("newestAtTop").checked;setNewestAtTop(isNewestAtTop);}',"var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}",'$("scrollToLatest").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$("scrollToLatest").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!="undefined"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}',"var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}","var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}",'var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$("commandLine").style.display=showCommandLine?"block":"none";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$("command").focus();}}','function focusSearch(){if(loaded){$("searchBox").focus();}}',"function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}","return items;}","function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}","loggingEnabled=loggingReallyEnabled;}","function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}","logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}","function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}","if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}","displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}","if(scrollToLatest){doScrollToLatest();}","unrenderedLogItemsExist=false;}","function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}","var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}","logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}","return false;}",'function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded==="undefined")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}',"logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}","function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}","function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}","function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}","function hide(){if(appender&&mainWindowExists()){appender.hide();}}",'var mainWindow=window;var windowId="log4javascriptConsoleWindow_"+new Date().getTime()+"_"+(""+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}',"function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}","function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}","return false;}",'var logLevels=["TRACE","DEBUG","INFO","WARN","ERROR","FATAL"];function getCheckBox(logLevel){return $("switch_"+logLevel);}','function getIeWrappedLogContainer(){return $("log_wrapped");}','function getIeUnwrappedLogContainer(){return $("log_unwrapped");}',"function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}","updateSearchFromFilters();}",'function toggleAllLevels(){var turnOn=$("switch_ALL").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox("ALL").checked=false;return;}}','getCheckBox("ALL").checked=true;}',"function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}",'function toggleWrap(){var enable=$("wrap").checked;if(enable){addClass(logMainContainer,"wrap");}else{removeClass(logMainContainer,"wrap");}',"refreshCurrentMatch();}","var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}","searchTimer=setTimeout(doSearch,500);}","function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}","Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}","return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}","return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}","for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}","return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}","for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}",'return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag="<span class=\\"searchterm\\">";var searchTermReplacementEndTag="<"+"/span>";var preTagName=isIe?"pre":"span";var preStartTag="<"+preTagName+" class=\\"pre\\">";var preEndTag="<"+"/"+preTagName+">";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?"g":"gi";var capturingRegex=new RegExp("("+this.searchRegex.source+")",flags);var rnd=(""+Math.random()).substr(2);var startToken="%%s"+rnd+"%%";var endToken="%%e"+rnd+"%%";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+"$1"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent="";wrappedLogEntryContent="";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+',"preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+","matchedText+searchTermReplacementEndTag;}","startIndex=endTokenIndex+endToken.length;}",'logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent="";wrappedLogEntryContent="";var searchTermReplacementLength=searchTermReplacementStartTag.length+',"this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+","preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+","matchedText+searchTermReplacementEndTag;}","startIndex=searchIndex+searchTermLength;}","var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}","logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}","return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}","var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}","for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}","if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}","setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&¤tEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}","return y;}",'function scrollIntoView(el){var logContainer=logMainContainer;if(!$("wrap").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}',"var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}","function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}","this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}",'Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,"currentmatch");addClass(this.spanInWrappedDiv,"currentmatch");var elementToScroll=$("wrap").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,"currentmatch");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,"currentmatch");removeClass(this.spanInWrappedDiv,"currentmatch");}else{removeClass(this.spanInMainDiv,"currentmatch");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$("searchBox");var searchTerm=searchBox.value;var isRegex=$("searchRegex").checked;var isCaseSensitive=$("searchCaseSensitive").checked;var i;if(searchTerm===""){$("searchReset").disabled=true;$("searchNav").style.display="none";removeClass(document.body,"searching");removeClass(searchBox,"hasmatches");removeClass(searchBox,"nomatches");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$("searchReset").disabled=false;$("searchNav").style.display="block";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,"g"):new RegExp(searchTerm,"gi");regexValid=true;replaceClass(searchBox,"validregex","invalidregex");searchBox.title="Valid regex";}catch(ex){regexValid=false;replaceClass(searchBox,"invalidregex","validregex");searchBox.title="Invalid regex: "+(ex.message?ex.message:(ex.description?ex.description:"unknown error"));return;}}else{searchBox.title="";removeClass(searchBox,"validregex");removeClass(searchBox,"invalidregex");}','addClass(document.body,"searching");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}',"setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}","function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}","var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}","function refreshCurrentMatch(){if(currentSearch&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}",'function displayMatches(){replaceClass($("searchBox"),"hasmatches","nomatches");$("searchBox").title=""+currentSearch.matches.length+" matches found";$("searchNav").style.display="block";setLogContainerHeight();}','function displayNoMatches(){replaceClass($("searchBox"),"nomatches","hasmatches");$("searchBox").title="No matches found";$("searchNav").style.display="none";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable=="undefined")?!$("searchDisable").checked:enable;$("searchBox").disabled=!enable;$("searchReset").disabled=!enable;$("searchRegex").disabled=!enable;$("searchNext").disabled=!enable;$("searchPrevious").disabled=!enable;$("searchCaseSensitive").disabled=!enable;$("searchNav").style.display=(enable&&($("searchBox").value!=="")&¤tSearch&¤tSearch.hasVisibleMatches())?"block":"none";if(enable){removeClass($("search"),"greyedout");addClass(document.body,"searching");if($("searchHighlight").checked){addClass(logMainContainer,"searchhighlight");}else{removeClass(logMainContainer,"searchhighlight");}','if($("searchFilter").checked){addClass(logMainContainer,"searchfilter");}else{removeClass(logMainContainer,"searchfilter");}','$("searchDisable").checked=!enable;}else{addClass($("search"),"greyedout");removeClass(document.body,"searching");removeClass(logMainContainer,"searchhighlight");removeClass(logMainContainer,"searchfilter");}',"setLogContainerHeight();}",'function toggleSearchFilter(){var enable=$("searchFilter").checked;if(enable){addClass(logMainContainer,"searchfilter");}else{removeClass(logMainContainer,"searchfilter");}',"refreshCurrentMatch();}",'function toggleSearchHighlight(){var enable=$("searchHighlight").checked;if(enable){addClass(logMainContainer,"searchhighlight");}else{removeClass(logMainContainer,"searchhighlight");}}','function clearSearch(){$("searchBox").value="";doSearch();}','function searchNext(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm("Reached the end of the page. Start from the top?")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm("Reached the start of the page. Continue from the bottom?")){setCurrentMatchIndex(previousMatchIndex);}}}',"function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}",'function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=" "+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(" ");return array_contains(classNames,cssClass);}',"return false;}",'function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(" ");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(" ");}}',"function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}","function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}","return matches;}","function $(id){return document.getElementById(id);}","function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}","node=node.parentNode;}","return false;}","function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}","currentNode=currentNode.parentNode;}","return true;}",'function escapeHtml(str){return str.replace(/&/g,"&").replace(/[<]/g,"<").replace(/>/g,">");}',"function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}","return 0;}","function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}","return 0;}",'function getToolBarsHeight(){return $("switches").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$("commandLine").offsetHeight;}',"return height;}",'function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$("body").style.height=getWindowHeight()+"px";logMainContainer.style.height=""+','Math.max(0,windowHeight-getChromeHeight())+"px";}}','function setCommandInputWidth(){if(showCommandLine){$("command").style.width=""+Math.max(0,$("commandLineContainer").offsetWidth-','($("evaluateButton").offsetWidth+13))+"px";}}',"window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}","return this.length;};}","if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}","if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}","this.length=this.length-1;return firstItem;}};}","if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}","var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}","return itemsDeleted;};}","function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}","if(index>=0){arr.splice(index,1);return index;}else{return false;}}","function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}","array.length=array.length-numberToRemove;}","return array;}","function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}","return false;}","function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}",'return""+ex;}',"function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}","input.focus();}",'function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!="undefined"){evt.cancelBubble=true;}}',"function getEvent(evt){return evt?evt:event;}","function getTarget(evt){return evt.target?evt.target:evt.srcElement;}",'function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case"mouseover":return evt.fromElement;case"mouseout":return evt.toElement;default:return evt.srcElement;}}}',"function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}",'function evalCommandLine(){var expr=$("command").value;evalCommand(expr);$("command").value="";}',"function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}",'var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=">>> "+expr+"\\r\\n";try{log("INFO",prefix+eval(expr));}catch(ex){log("ERROR",prefix+"Error: "+getErrorMessage(ex));}}',"if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}","currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}","//]]>","<\/script>",'<style type="text/css">',"body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}","</style>","</head>",'<body id="body">','<div id="switchesContainer">','<div id="switches">','<div id="levels" class="toolbar">',"Filters:",'<input type="checkbox" id="switch_TRACE" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide trace messages" /><label for="switch_TRACE" id="label_TRACE">trace</label>','<input type="checkbox" id="switch_DEBUG" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide debug messages" /><label for="switch_DEBUG" id="label_DEBUG">debug</label>','<input type="checkbox" id="switch_INFO" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide info messages" /><label for="switch_INFO" id="label_INFO">info</label>','<input type="checkbox" id="switch_WARN" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide warn messages" /><label for="switch_WARN" id="label_WARN">warn</label>','<input type="checkbox" id="switch_ERROR" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide error messages" /><label for="switch_ERROR" id="label_ERROR">error</label>','<input type="checkbox" id="switch_FATAL" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide fatal messages" /><label for="switch_FATAL" id="label_FATAL">fatal</label>','<input type="checkbox" id="switch_ALL" onclick="toggleAllLevels(); applyFilters()" checked="checked" title="Show/hide all messages" /><label for="switch_ALL" id="label_ALL">all</label>',"</div>",'<div id="search" class="toolbar">','<label for="searchBox" class="searchboxlabel">Search:</label> <input type="text" id="searchBox" onclick="toggleSearchEnabled(true)" onkeyup="scheduleSearch()" size="20" />','<input type="button" id="searchReset" disabled="disabled" value="Reset" onclick="clearSearch()" class="button" title="Reset the search" />','<input type="checkbox" id="searchRegex" onclick="doSearch()" title="If checked, search is treated as a regular expression" /><label for="searchRegex">Regex</label>','<input type="checkbox" id="searchCaseSensitive" onclick="doSearch()" title="If checked, search is case sensitive" /><label for="searchCaseSensitive">Match case</label>','<input type="checkbox" id="searchDisable" onclick="toggleSearchEnabled()" title="Enable/disable search" /><label for="searchDisable" class="alwaysenabled">Disable</label>','<div id="searchNav">','<input type="button" id="searchNext" disabled="disabled" value="Next" onclick="searchNext()" class="button" title="Go to the next matching log entry" />','<input type="button" id="searchPrevious" disabled="disabled" value="Previous" onclick="searchPrevious()" class="button" title="Go to the previous matching log entry" />','<input type="checkbox" id="searchFilter" onclick="toggleSearchFilter()" title="If checked, non-matching log entries are filtered out" /><label for="searchFilter">Filter</label>','<input type="checkbox" id="searchHighlight" onclick="toggleSearchHighlight()" title="Highlight matched search terms" /><label for="searchHighlight" class="alwaysenabled">Highlight all</label>',"</div>","</div>",'<div id="options" class="toolbar">',"Options:",'<input type="checkbox" id="enableLogging" onclick="toggleLoggingEnabled()" checked="checked" title="Enable/disable logging" /><label for="enableLogging" id="enableLoggingLabel">Log</label>','<input type="checkbox" id="wrap" onclick="toggleWrap()" title="Enable / disable word wrap" /><label for="wrap" id="wrapLabel">Wrap</label>','<input type="checkbox" id="newestAtTop" onclick="toggleNewestAtTop()" title="If checked, causes newest messages to appear at the top" /><label for="newestAtTop" id="newestAtTopLabel">Newest at the top</label>','<input type="checkbox" id="scrollToLatest" onclick="toggleScrollToLatest()" checked="checked" title="If checked, window automatically scrolls to a new message when it is added" /><label for="scrollToLatest" id="scrollToLatestLabel">Scroll to latest</label>','<input type="button" id="clearButton" value="Clear" onclick="clearLog()" class="button" title="Clear all log messages" />','<input type="button" id="hideButton" value="Hide" onclick="hide()" class="hidden button" title="Hide the console" />','<input type="button" id="closeButton" value="Close" onclick="closeWindow()" class="hidden button" title="Close the window" />',"</div>","</div>","</div>",'<div id="log" class="TRACE DEBUG INFO WARN ERROR FATAL"></div>','<div id="commandLine" class="toolbar">','<div id="commandLineContainer">','<input type="text" id="command" title="Enter a JavaScript command here and hit return or press \'Evaluate\'" />','<input type="button" id="evaluateButton" value="Evaluate" class="button" title="Evaluate the command" onclick="evalCommandLine()" />',"</div>","</div>","</body>","</html>",""];e.open();for(var n=0,r=t.length;n<r;n++)e.writeln(t[n]);e.close()};this.setEventTypes(["load","unload"]);var U=function(){var e=E();e.setAppender(u),e.setNewestAtTop(y),e.setScrollToLatest(b),e.setMaxMessages(S),e.setShowCommandLine(T),e.setShowHideButton(A),e.setShowCloseButton(I),e.setMainWindow(window);var t=getCookie("log4javascriptCommandHistory");t&&(e.commandHistory=t.split(","),e.currentCommandIndex=e.commandHistory.length),u.dispatchEvent("load",{win:e})};this.unload=function(){logLog.debug("unload "+this+", caller: "+this.unload.caller),g||(logLog.debug("really doing unload "+this),g=!0,h=!1,p=!1,u.dispatchEvent("unload",{}))};var G=function(e,t,n,r){var o=setInterval((function(){try{g&&clearInterval(o),e(E())&&(clearInterval(o),n())}catch(e){clearInterval(o),f=!1,handleError(r,e)}}),t)},q=function(){var e=document.domain!=location.hostname;return i?"":getBaseUrl()+"console.html"+(e?"?log4javascript_domain="+escape(document.domain):"")};if(n){var V=null,K=[];this.addCssProperty=function(e,t){D("cssProperties")&&K.push([e,t])};var z,X=!1,J=uniqueId+"_InPageAppender_"+v;this.hide=function(){d&&p&&(N()&&E().$("command").blur(),z.style.display="none",R=!0)},this.show=function(){d&&(p?(z.style.display="block",this.setShowCommandLine(T),R=!1):X||C(!0))},this.isVisible=function(){return!R&&!g},this.close=function(e){g||e&&!confirm("This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?")||(z.parentNode.removeChild(z),this.unload())},L=function(){var e="InPageAppender.open: unable to create console iframe";function t(){try{a||u.show(),U(),h=!0,j()}catch(t){f=!1,handleError(e,t)}}function n(){try{var n=function(e){return isLoaded(e)};i&&W(E().document),n(E())?t():G(n,100,t,e)}catch(t){f=!1,handleError(e,t)}}R=!1,(z=V.appendChild(document.createElement("div"))).style.width=s,z.style.height=l,z.style.border="solid gray 1px";for(var r=0,o=K.length;r<o;r++)z.style[K[r][0]]=K[r][1];var c=i?"":" src='"+q()+"'";z.innerHTML="<iframe id='"+J+"' name='"+J+"' width='100%' height='100%' frameborder='0'"+c+" scrolling='no'></iframe>",g=!1;var d=function(e){try{return bool(e)&&bool(e.document)}catch(e){return!1}};d(E())?n():G(d,100,n,e),p=!0},C=function(e){if(e||!a){var t=function(){if(r)try{var e=document.getElementById(r);1==e.nodeType&&(V=e),L()}catch(e){handleError("InPageAppender.init: invalid container element '"+r+"' supplied",e)}else(V=document.createElement("div")).style.position="fixed",V.style.left="0",V.style.right="0",V.style.bottom="0",document.body.appendChild(V),u.addCssProperty("borderWidth","1px 0 0 0"),u.addCssProperty("zIndex",1e6),L()};pageLoaded&&r&&r.appendChild?(V=r,L()):pageLoaded?t():log4javascript.addEventListener("load",t),X=!0}},w=function(){C(),d=!0},E=function(){var e=window.frames[J];if(e)return e},x=function(){return!(!f||g)&&(p&&!h&&E()&&isLoaded(E())&&(h=!0),h)}}else{var Y,Q=u.defaults.useOldPopUp,Z=u.defaults.complainAboutPopUpBlocking,ee=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return Q},this.setUseOldPopUp=function(e){D("useOldPopUp")&&(Q=bool(e))},this.isComplainAboutPopUpBlocking=function(){return Z},this.setComplainAboutPopUpBlocking=function(e){D("complainAboutPopUpBlocking")&&(Z=bool(e))},this.isFocusPopUp=function(){return c},this.setFocusPopUp=function(e){c=bool(e)},this.isReopenWhenClosed=function(){return ee},this.setReopenWhenClosed=function(e){ee=bool(e)},this.close=function(){logLog.debug("close "+this);try{Y.close(),this.unload()}catch(e){}},this.hide=function(){logLog.debug("hide "+this),N()&&this.close()},this.show=function(){logLog.debug("show "+this),p||L()},this.isVisible=function(){return x()},L=function(){var e="width="+s+",height="+l+",status,resizable",t="";try{var n=window.frameElement;n&&(t="_"+n.tagName+"_"+(n.name||n.id||""))}catch(e){t="_inaccessibleParentFrame"}var r="PopUp_"+location.host.replace(/[^a-z0-9]/gi,"_")+"_"+v+t;Q&&i||(r=r+"_"+uniqueId);var o=function(e){if(g)return!0;try{return bool(e)&&e.closed}catch(e){}return!1},a=function(){g||u.unload()};function c(){E().setCloseIfOpenerCloses(!Q||!i),U(),h=!0,j(),G(o,500,a,"PopUpAppender.checkPopUpClosed: error checking pop-up window")}try{Y=window.open(q(),r,e),g=!1,p=!0,Y&&Y.document?i&&Q&&isLoaded(Y)?(Y.mainPageReloaded(),c()):(i&&W(Y.document),isLoaded(Y)?c():G((function(e){return bool(e)&&isLoaded(e)}),100,c,"PopUpAppender.init: unable to create console window")):(f=!1,logLog.warn("PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender"),Z&&handleError("log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging."))}catch(e){handleError("PopUpAppender.init: error creating pop-up",e)}},C=function(){a||L()},w=function(){C(),d=!0},E=function(){return Y},x=function(){if(f&&!isUndefined(Y)&&!g){if(Y.closed||h&&isUndefined(Y.closed))return u.unload(),logLog.debug("PopUpAppender: pop-up closed"),!1;!h&&isLoaded(Y)&&(h=!0)}return f&&h&&!g}}this.getConsoleWindow=E},ConsoleAppender.addGlobalCommandLineFunction=function(t,n){e.push([t,n])},n.prototype=new ConsoleAppender,n.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),initiallyMinimized:!1,focusPopUp:!1,lazyInit:!0,useOldPopUp:!0,complainAboutPopUpBlocking:!0,newestMessageAtTop:!1,scrollToLatestMessage:!0,width:"600",height:"400",reopenWhenClosed:!1,maxMessages:null,showCommandLine:!0,commandLineObjectExpansionDepth:1,showHideButton:!1,showCloseButton:!0,useDocumentWrite:!0},n.prototype.toString=function(){return"PopUpAppender"},log4javascript.PopUpAppender=n,r.prototype=new ConsoleAppender,r.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),initiallyMinimized:!1,lazyInit:!0,newestMessageAtTop:!1,scrollToLatestMessage:!0,width:"100%",height:"220px",maxMessages:null,showCommandLine:!0,commandLineObjectExpansionDepth:1,showHideButton:!1,showCloseButton:!1,showLogEntryDeleteButtons:!0,useDocumentWrite:!0},r.prototype.toString=function(){return"InPageAppender"},log4javascript.InPageAppender=r,log4javascript.InlineAppender=r}(),function(){function e(e){var t=0;for(var n in e)t=Math.max(toStr(n).length,t);var r=[];for(n in e){var o,a=" "+padWithSpaces(toStr(n),t+2);try{o=splitIntoLines(toStr(e[n])).join(padWithSpaces(newLine,t+6))}catch(e){o="[Error obtaining property. Details: "+getExceptionMessage(e)+"]"}r.push(a+o)}return r.join(newLine)}var t=1,n=3,r=4,o=9,a=11,i=["script","pre"],s=["br","img","hr","param","link","area","input","col","base","meta"];function l(e,c,u,d,p){var h,g,m,f,v;function y(e){for(var t=e.style.cssText.split(";"),n="",r=0,o=t.length;r<o;r++){var a=t[r].split(":"),i=[];/^\s*$/.test(a[0])||i.push(trim(a[0]).toLowerCase()+":"+trim(a[1])),n=i.join(";")}return n}if("string"!=typeof u&&(u=""),d=!!d,p=!!p,!(c=void 0===c||!!c)||e.nodeType==a){for(h="",g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u+" ");return h}switch(e.nodeType){case t:var b=e.tagName.toLowerCase();h=d?newLine+u:"",h+="<";var w=(v=e).prefix?v.prefix:v.outerHTML&&new RegExp("<([^:]+):"+v.tagName+"[^>]*>","i").test(v.outerHTML)?RegExp.$1.toLowerCase():"",C=!!w;for(C&&(h+=w+":"),h+=b,g=0,m=e.attributes.length;g<m;g++){var x=e.attributes[g];x.specified&&null!==x.nodeValue&&"style"!==x.nodeName.toLowerCase()&&"string"==typeof x.nodeValue&&0!==x.nodeName.indexOf("_moz")&&(h+=" "+x.nodeName.toLowerCase()+'="',h+=x.nodeValue.toString().replace(/&/g,"&").replace(/</g,"<").replace(/"/g,"""),h+='"')}if(e.style.cssText&&""!==y(e)&&(h+=' style="'+y(e)+'"'),array_contains(s,b)||C&&!e.hasChildNodes())h+="/>";else{h+=">";var E=!(1===e.childNodes.length&&e.childNodes[0].nodeType===n),L=array_contains(i,b);for(g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u+" ",E,L);var S="</"+b+">";h+=E?newLine+u+S:S}return h;case n:if((f=e).nodeType==n&&/^[ \t\r\n]*$/.test(f.nodeValue))h="";else{if(p)h=e.nodeValue;else{var T=splitIntoLines(trim(e.nodeValue)),M=[];for(g=0,m=T.length;g<m;g++)M[g]=trim(T[g]);h=M.join(newLine+u)}d&&(h=newLine+u+h)}return h;case r:return"<![CDATA["+e.nodeValue+"]]>"+newLine;case o:for(h="",g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u);return h;default:return""}}ConsoleAppender.addGlobalCommandLineFunction("$",(function(e,t,n){return document.getElementById(t[0])})),ConsoleAppender.addGlobalCommandLineFunction("dir",(function(t,n,r){for(var o=[],a=0,i=n.length;a<i;a++)o[a]=e(n[a]);return o.join(newLine+newLine)})),ConsoleAppender.addGlobalCommandLineFunction("dirxml",(function(e,t,n){for(var r=[],o=0,a=t.length;o<a;o++)r[o]=l(t[o]);return r.join(newLine+newLine)})),ConsoleAppender.addGlobalCommandLineFunction("cd",(function(e,t,n){var r,o;return 0===t.length||""===t[0]?(r=window,o="Command line set to run in main window"):t[0].window==t[0]?(r=t[0],o="Command line set to run in frame '"+t[0].name+"'"):(r=window.frames[t[0]])?o="Command line set to run in frame '"+t[0]+"'":(n.isError=!0,o="Frame '"+t[0]+"' does not exist",r=e.getCommandWindow()),e.setCommandWindow(r),o})),ConsoleAppender.addGlobalCommandLineFunction("clear",(function(e,t,n){n.appendResult=!1,e.clear()})),ConsoleAppender.addGlobalCommandLineFunction("keys",(function(e,t,n){var r=[];for(var o in t[0])r.push(o);return r})),ConsoleAppender.addGlobalCommandLineFunction("values",(function(e,t,n){var r=[];for(var o in t[0])try{r.push(t[0][o])}catch(e){logLog.warn("values(): Unable to obtain value for key "+o+". Details: "+getExceptionMessage(e))}return r})),ConsoleAppender.addGlobalCommandLineFunction("expansionDepth",(function(e,t,n){var r=parseInt(t[0],10);return isNaN(r)||r<0?(n.isError=!0,t[0]+" is not a valid expansion depth"):(e.setCommandLineObjectExpansionDepth(r),"Object expansion depth set to "+r)}))}(),log4javascript.setDocumentReady=function(){pageLoaded=!0,log4javascript.dispatchEvent("load",{})},window.addEventListener)window.addEventListener("load",log4javascript.setDocumentReady,!1);else if(window.attachEvent)window.attachEvent("onload",log4javascript.setDocumentReady);else{var oldOnload=window.onload;"function"!=typeof window.onload?window.onload=log4javascript.setDocumentReady:window.onload=function(e){oldOnload&&oldOnload(e),log4javascript.setDocumentReady()}}return log4javascript},void 0===(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof(__WEBPACK_AMD_DEFINE_FACTORY__=factory)?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},function(e,t,n){
|
9
|
+
/**
|
10
|
+
* lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.
|
11
|
+
* @version v1.0.5
|
12
|
+
* @link https://github.com/sadams/lite-url
|
13
|
+
* @license BSD-3-Clause
|
14
|
+
*/
|
15
|
+
(function(){"use strict";function n(e,t,n){var r=e.split(t);return n(r.shift(),r.join(t))}function r(e){var t={hash:"",host:"",hostname:"",origin:"",pathname:"",protocol:"",search:"",password:"",username:"",port:""};return n(e,"#",(function(e,r){r&&(t.hash=r?"#"+r:""),n(e,"?",(function(e,r){r&&(t.search="?"+r),e&&n(e,"//",(function(e,r){t.protocol=e,n(r,"/",(function(e,r){t.pathname="/"+(r||""),(t.protocol||e)&&(t.origin=t.protocol+"//"+e),n(e,"@",(function(e,r){if(r){var o=e.split(":");t.username=o[0],t.password=o[1]}else r=e;t.host=r,n(r,":",(function(e,n){t.hostname=e,n&&(t.port=n)}))}))}))}))}))})),t.href=t.origin+t.pathname+t.search+t.hash,t}function o(e){var t={},n=e.search;if(n){var r=(n=n.replace(new RegExp("\\?"),"")).split("&");for(var o in r)if(r.hasOwnProperty(o)&&r[o]){var a=r[o].split("=");t[a[0]]=a[1]}}return t}function a(e){var t=i[e];return void 0!==t||((t=r(e)).params=o(t),i[e]=t),t}var i={};return a.changeQueryParser=function(e){o=e},e.exports&&(t=e.exports=a),t.liteURL=a,a}).call(this)},function(e,t,n){(function(e,r){var o;
|
16
|
+
/*!
|
17
|
+
* Platform.js v1.3.6
|
18
|
+
* Copyright 2014-2020 Benjamin Tan
|
19
|
+
* Copyright 2011-2013 John-David Dalton
|
20
|
+
* Available under MIT license
|
21
|
+
*/(function(){"use strict";var a={function:!0,object:!0},i=a[typeof window]&&window||this,s=a[typeof t]&&t,l=a[typeof e]&&e&&!e.nodeType&&e,c=s&&l&&"object"==typeof r&&r;!c||c.global!==c&&c.window!==c&&c.self!==c||(i=c);var u=Math.pow(2,53)-1,d=/\bOpera/,p=Object.prototype,h=p.hasOwnProperty,g=p.toString;function m(e){return(e=String(e)).charAt(0).toUpperCase()+e.slice(1)}function f(e){return e=C(e),/^(?:webOS|i(?:OS|P))/.test(e)?e:m(e)}function v(e,t){for(var n in e)h.call(e,n)&&t(e[n],n,e)}function y(e){return null==e?m(e):g.call(e).slice(8,-1)}function b(e){return String(e).replace(/([ -])(?!$)/g,"$1?")}function w(e,t){var n=null;return function(e,t){var n=-1,r=e?e.length:0;if("number"==typeof r&&r>-1&&r<=u)for(;++n<r;)t(e[n],n,e);else v(e,t)}(e,(function(r,o){n=t(n,r,o,e)})),n}function C(e){return String(e).replace(/^ +| +$/g,"")}var x=function e(t){var n=i,r=t&&"object"==typeof t&&"String"!=y(t);r&&(n=t,t=null);var o=n.navigator||{},a=o.userAgent||"";t||(t=a);var s,l,c,u,p,h=r?!!o.likeChrome:/\bChrome\b/.test(t)&&!/internal|\n/i.test(g.toString()),m=r?"Object":"ScriptBridgingProxyObject",x=r?"Object":"Environment",E=r&&n.java?"JavaPackage":y(n.java),L=r?"Object":"RuntimeObject",S=/\bJava/.test(E)&&n.java,T=S&&y(n.environment)==x,M=S?"a":"α",A=S?"b":"β",I=n.document||{},k=n.operamini||n.opera,D=d.test(D=r&&k?k["[[Class]]"]:y(k))?D:k=null,N=t,R=[],O=null,F=t==a,P=F&&k&&"function"==typeof k.version&&k.version(),$=w([{label:"EdgeHTML",pattern:"Edge"},"Trident",{label:"WebKit",pattern:"AppleWebKit"},"iCab","Presto","NetFront","Tasman","KHTML","Gecko"],(function(e,n){return e||RegExp("\\b"+(n.pattern||b(n))+"\\b","i").exec(t)&&(n.label||n)})),j=function(e){return w(e,(function(e,n){return e||RegExp("\\b"+(n.pattern||b(n))+"\\b","i").exec(t)&&(n.label||n)}))}(["Adobe AIR","Arora","Avant Browser","Breach","Camino","Electron","Epiphany","Fennec","Flock","Galeon","GreenBrowser","iCab","Iceweasel","K-Meleon","Konqueror","Lunascape","Maxthon",{label:"Microsoft Edge",pattern:"(?:Edge|Edg|EdgA|EdgiOS)"},"Midori","Nook Browser","PaleMoon","PhantomJS","Raven","Rekonq","RockMelt",{label:"Samsung Internet",pattern:"SamsungBrowser"},"SeaMonkey",{label:"Silk",pattern:"(?:Cloud9|Silk-Accelerated)"},"Sleipnir","SlimBrowser",{label:"SRWare Iron",pattern:"Iron"},"Sunrise","Swiftfox","Vivaldi","Waterfox","WebPositive",{label:"Yandex Browser",pattern:"YaBrowser"},{label:"UC Browser",pattern:"UCBrowser"},"Opera Mini",{label:"Opera Mini",pattern:"OPiOS"},"Opera",{label:"Opera",pattern:"OPR"},"Chromium","Chrome",{label:"Chrome",pattern:"(?:HeadlessChrome)"},{label:"Chrome Mobile",pattern:"(?:CriOS|CrMo)"},{label:"Firefox",pattern:"(?:Firefox|Minefield)"},{label:"Firefox for iOS",pattern:"FxiOS"},{label:"IE",pattern:"IEMobile"},{label:"IE",pattern:"MSIE"},"Safari"]),B=W([{label:"BlackBerry",pattern:"BB10"},"BlackBerry",{label:"Galaxy S",pattern:"GT-I9000"},{label:"Galaxy S2",pattern:"GT-I9100"},{label:"Galaxy S3",pattern:"GT-I9300"},{label:"Galaxy S4",pattern:"GT-I9500"},{label:"Galaxy S5",pattern:"SM-G900"},{label:"Galaxy S6",pattern:"SM-G920"},{label:"Galaxy S6 Edge",pattern:"SM-G925"},{label:"Galaxy S7",pattern:"SM-G930"},{label:"Galaxy S7 Edge",pattern:"SM-G935"},"Google TV","Lumia","iPad","iPod","iPhone","Kindle",{label:"Kindle Fire",pattern:"(?:Cloud9|Silk-Accelerated)"},"Nexus","Nook","PlayBook","PlayStation Vita","PlayStation","TouchPad","Transformer",{label:"Wii U",pattern:"WiiU"},"Wii","Xbox One",{label:"Xbox 360",pattern:"Xbox"},"Xoom"]),_=function(e){return w(e,(function(e,n,r){return e||(n[B]||n[/^[a-z]+(?: +[a-z]+\b)*/i.exec(B)]||RegExp("\\b"+b(r)+"(?:\\b|\\w*\\d)","i").exec(t))&&r}))}({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,"Kindle Fire":1},Asus:{Transformer:1},"Barnes & Noble":{Nook:1},BlackBerry:{PlayBook:1},Google:{"Google TV":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,"Xbox One":1},Motorola:{Xoom:1},Nintendo:{"Wii U":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{"Galaxy S":1,"Galaxy S2":1,"Galaxy S3":1,"Galaxy S4":1},Sony:{PlayStation:1,"PlayStation Vita":1},Xiaomi:{Mi:1,Redmi:1}}),H=function(e){return w(e,(function(e,n){var r=n.pattern||b(n);return!e&&(e=RegExp("\\b"+r+"(?:/[\\d.]+|[ \\w.]*)","i").exec(t))&&(e=function(e,t,n){var r={"10.0":"10",6.4:"10 Technical Preview",6.3:"8.1",6.2:"8",6.1:"Server 2008 R2 / 7","6.0":"Server 2008 / Vista",5.2:"Server 2003 / XP 64-bit",5.1:"XP",5.01:"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return t&&n&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\d.]+$/.exec(e)])&&(e="Windows "+r),e=String(e),t&&n&&(e=e.replace(RegExp(t,"i"),n)),e=f(e.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0])}(e,r,n.label||n)),e}))}(["Windows Phone","KaiOS","Android","CentOS",{label:"Chrome OS",pattern:"CrOS"},"Debian",{label:"DragonFly BSD",pattern:"DragonFly"},"Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Tizen","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "]);function W(e){return w(e,(function(e,n){var r=n.pattern||b(n);return!e&&(e=RegExp("\\b"+r+" *\\d+[.\\w_]*","i").exec(t)||RegExp("\\b"+r+" *\\w+-[\\w]*","i").exec(t)||RegExp("\\b"+r+"(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)","i").exec(t))&&((e=String(n.label&&!RegExp(r,"i").test(n.label)?n.label:e).split("/"))[1]&&!/[\d.]+/.test(e[0])&&(e[0]+=" "+e[1]),n=n.label||n,e=f(e[0].replace(RegExp(r,"i"),n).replace(RegExp("; *(?:"+n+"[_-])?","i")," ").replace(RegExp("("+n+")[-_.]?(\\w)","i"),"$1 $2"))),e}))}function U(e){return w(e,(function(e,n){return e||(RegExp(n+"(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)","i").exec(t)||0)[1]||null}))}if($&&($=[$]),/\bAndroid\b/.test(H)&&!B&&(s=/\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(t))&&(B=C(s[1]).replace(/^[a-z]{2}-[a-z]{2};\s*/i,"")||null),_&&!B?B=W([_]):_&&B&&(B=B.replace(RegExp("^("+b(_)+")[-_.\\s]","i"),_+" ").replace(RegExp("^("+b(_)+")[-_.]?(\\w)","i"),_+" $2")),(s=/\bGoogle TV\b/.exec(B))&&(B=s[0]),/\bSimulator\b/i.test(t)&&(B=(B?B+" ":"")+"Simulator"),"Opera Mini"==j&&/\bOPiOS\b/.test(t)&&R.push("running in Turbo/Uncompressed mode"),"IE"==j&&/\blike iPhone OS\b/.test(t)?(_=(s=e(t.replace(/like iPhone OS/,""))).manufacturer,B=s.product):/^iP/.test(B)?(j||(j="Safari"),H="iOS"+((s=/ OS ([\d_]+)/i.exec(t))?" "+s[1].replace(/_/g,"."):"")):"Konqueror"==j&&/^Linux\b/i.test(H)?H="Kubuntu":_&&"Google"!=_&&(/Chrome/.test(j)&&!/\bMobile Safari\b/i.test(t)||/\bVita\b/.test(B))||/\bAndroid\b/.test(H)&&/^Chrome/.test(j)&&/\bVersion\//i.test(t)?(j="Android Browser",H=/\bAndroid\b/.test(H)?H:"Android"):"Silk"==j?(/\bMobi/i.test(t)||(H="Android",R.unshift("desktop mode")),/Accelerated *= *true/i.test(t)&&R.unshift("accelerated")):"UC Browser"==j&&/\bUCWEB\b/.test(t)?R.push("speed mode"):"PaleMoon"==j&&(s=/\bFirefox\/([\d.]+)\b/.exec(t))?R.push("identifying as Firefox "+s[1]):"Firefox"==j&&(s=/\b(Mobile|Tablet|TV)\b/i.exec(t))?(H||(H="Firefox OS"),B||(B=s[1])):!j||(s=!/\bMinefield\b/i.test(t)&&/\b(?:Firefox|Safari)\b/.exec(j))?(j&&!B&&/[\/,]|^[^(]+?\)/.test(t.slice(t.indexOf(s+"/")+8))&&(j=null),(s=B||_||H)&&(B||_||/\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(H))&&(j=/[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(H)?H:s)+" Browser")):"Electron"==j&&(s=(/\bChrome\/([\d.]+)\b/.exec(t)||0)[1])&&R.push("Chromium "+s),P||(P=U(["(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)","Version",b(j),"(?:Firefox|Minefield|NetFront)"])),(s=("iCab"==$&&parseFloat(P)>3?"WebKit":/\bOpera\b/.test(j)&&(/\bOPR\b/.test(t)?"Blink":"Presto"))||/\b(?:Midori|Nook|Safari)\b/i.test(t)&&!/^(?:Trident|EdgeHTML)$/.test($)&&"WebKit"||!$&&/\bMSIE\b/i.test(t)&&("Mac OS"==H?"Tasman":"Trident")||"WebKit"==$&&/\bPlayStation\b(?! Vita\b)/i.test(j)&&"NetFront")&&($=[s]),"IE"==j&&(s=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(t)||0)[1])?(j+=" Mobile",H="Windows Phone "+(/\+$/.test(s)?s:s+".x"),R.unshift("desktop mode")):/\bWPDesktop\b/i.test(t)?(j="IE Mobile",H="Windows Phone 8.x",R.unshift("desktop mode"),P||(P=(/\brv:([\d.]+)/.exec(t)||0)[1])):"IE"!=j&&"Trident"==$&&(s=/\brv:([\d.]+)/.exec(t))&&(j&&R.push("identifying as "+j+(P?" "+P:"")),j="IE",P=s[1]),F){if(u="global",p=null!=(c=n)?typeof c[u]:"number",/^(?:boolean|number|string|undefined)$/.test(p)||"object"==p&&!c[u])y(s=n.runtime)==m?(j="Adobe AIR",H=s.flash.system.Capabilities.os):y(s=n.phantom)==L?(j="PhantomJS",P=(s=s.version||null)&&s.major+"."+s.minor+"."+s.patch):"number"==typeof I.documentMode&&(s=/\bTrident\/(\d+)/i.exec(t))?(P=[P,I.documentMode],(s=+s[1]+4)!=P[1]&&(R.push("IE "+P[1]+" mode"),$&&($[1]=""),P[1]=s),P="IE"==j?String(P[1].toFixed(1)):P[0]):"number"==typeof I.documentMode&&/^(?:Chrome|Firefox)\b/.test(j)&&(R.push("masking as "+j+" "+P),j="IE",P="11.0",$=["Trident"],H="Windows");else if(S&&(N=(s=S.lang.System).getProperty("os.arch"),H=H||s.getProperty("os.name")+" "+s.getProperty("os.version")),T){try{P=n.require("ringo/engine").version.join("."),j="RingoJS"}catch(e){(s=n.system)&&s.global.system==n.system&&(j="Narwhal",H||(H=s[0].os||null))}j||(j="Rhino")}else"object"==typeof n.process&&!n.process.browser&&(s=n.process)&&("object"==typeof s.versions&&("string"==typeof s.versions.electron?(R.push("Node "+s.versions.node),j="Electron",P=s.versions.electron):"string"==typeof s.versions.nw&&(R.push("Chromium "+P,"Node "+s.versions.node),j="NW.js",P=s.versions.nw)),j||(j="Node.js",N=s.arch,H=s.platform,P=(P=/[\d.]+/.exec(s.version))?P[0]:null));H=H&&f(H)}if(P&&(s=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(P)||/(?:alpha|beta)(?: ?\d)?/i.exec(t+";"+(F&&o.appMinorVersion))||/\bMinefield\b/i.test(t)&&"a")&&(O=/b/i.test(s)?"beta":"alpha",P=P.replace(RegExp(s+"\\+?$"),"")+("beta"==O?A:M)+(/\d+\+?/.exec(s)||"")),"Fennec"==j||"Firefox"==j&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(H))j="Firefox Mobile";else if("Maxthon"==j&&P)P=P.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(B))"Xbox 360"==B&&(H=null),"Xbox 360"==B&&/\bIEMobile\b/.test(t)&&R.unshift("mobile mode");else if(!/^(?:Chrome|IE|Opera)$/.test(j)&&(!j||B||/Browser|Mobi/.test(j))||"Windows CE"!=H&&!/Mobi/i.test(t))if("IE"==j&&F)try{null===n.external&&R.unshift("platform preview")}catch(e){R.unshift("embedded")}else(/\bBlackBerry\b/.test(B)||/\bBB10\b/.test(t))&&(s=(RegExp(B.replace(/ +/g," *")+"/([.\\d]+)","i").exec(t)||0)[1]||P)?(H=((s=[s,/BB10/.test(t)])[1]?(B=null,_="BlackBerry"):"Device Software")+" "+s[0],P=null):this!=v&&"Wii"!=B&&(F&&k||/Opera/.test(j)&&/\b(?:MSIE|Firefox)\b/i.test(t)||"Firefox"==j&&/\bOS X (?:\d+\.){2,}/.test(H)||"IE"==j&&(H&&!/^Win/.test(H)&&P>5.5||/\bWindows XP\b/.test(H)&&P>8||8==P&&!/\bTrident\b/.test(t)))&&!d.test(s=e.call(v,t.replace(d,"")+";"))&&s.name&&(s="ing as "+s.name+((s=s.version)?" "+s:""),d.test(j)?(/\bIE\b/.test(s)&&"Mac OS"==H&&(H=null),s="identify"+s):(s="mask"+s,j=D?f(D.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(s)&&(H=null),F||(P=null)),$=["Presto"],R.push(s));else j+=" Mobile";(s=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(t)||0)[1])&&(s=[parseFloat(s.replace(/\.(\d)$/,".0$1")),s],"Safari"==j&&"+"==s[1].slice(-1)?(j="WebKit Nightly",O="alpha",P=s[1].slice(0,-1)):P!=s[1]&&P!=(s[2]=(/\bSafari\/([\d.]+\+?)/i.exec(t)||0)[1])||(P=null),s[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(t)||0)[1],537.36==s[0]&&537.36==s[2]&&parseFloat(s[1])>=28&&"WebKit"==$&&($=["Blink"]),F&&(h||s[1])?($&&($[1]="like Chrome"),s=s[1]||((s=s[0])<530?1:s<532?2:s<532.05?3:s<533?4:s<534.03?5:s<534.07?6:s<534.1?7:s<534.13?8:s<534.16?9:s<534.24?10:s<534.3?11:s<535.01?12:s<535.02?"13+":s<535.07?15:s<535.11?16:s<535.19?17:s<536.05?18:s<536.1?19:s<537.01?20:s<537.11?"21+":s<537.13?23:s<537.18?24:s<537.24?25:s<537.36?26:"Blink"!=$?"27":"28")):($&&($[1]="like Safari"),s=(s=s[0])<400?1:s<500?2:s<526?3:s<533?4:s<534?"4+":s<535?5:s<537?6:s<538?7:s<601?8:s<602?9:s<604?10:s<606?11:s<608?12:"12"),$&&($[1]+=" "+(s+="number"==typeof s?".x":/[.+]/.test(s)?"":"+")),"Safari"==j&&(!P||parseInt(P)>45)?P=s:"Chrome"==j&&/\bHeadlessChrome/i.test(t)&&R.unshift("headless")),"Opera"==j&&(s=/\bzbov|zvav$/.exec(H))?(j+=" ",R.unshift("desktop mode"),"zvav"==s?(j+="Mini",P=null):j+="Mobile",H=H.replace(RegExp(" *"+s+"$"),"")):"Safari"==j&&/\bChrome\b/.exec($&&$[1])?(R.unshift("desktop mode"),j="Chrome Mobile",P=null,/\bOS X\b/.test(H)?(_="Apple",H="iOS 4.3+"):H=null):/\bSRWare Iron\b/.test(j)&&!P&&(P=U("Chrome")),P&&0==P.indexOf(s=/[\d.]+$/.exec(H))&&t.indexOf("/"+s+"-")>-1&&(H=C(H.replace(s,""))),H&&-1!=H.indexOf(j)&&!RegExp(j+" OS").test(H)&&(H=H.replace(RegExp(" *"+b(j)+" *"),"")),$&&!/\b(?:Avant|Nook)\b/.test(j)&&(/Browser|Lunascape|Maxthon/.test(j)||"Safari"!=j&&/^iOS/.test(H)&&/\bSafari\b/.test($[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(j)&&$[1])&&(s=$[$.length-1])&&R.push(s),R.length&&(R=["("+R.join("; ")+")"]),_&&B&&B.indexOf(_)<0&&R.push("on "+_),B&&R.push((/^on /.test(R[R.length-1])?"":"on ")+B),H&&(s=/ ([\d.+]+)$/.exec(H),l=s&&"/"==H.charAt(H.length-s[0].length-1),H={architecture:32,family:s&&!l?H.replace(s[0],""):H,version:s?s[1]:null,toString:function(){var e=this.version;return this.family+(e&&!l?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(s=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(N))&&!/\bi686\b/i.test(N)?(H&&(H.architecture=64,H.family=H.family.replace(RegExp(" *"+s),"")),j&&(/\bWOW64\b/i.test(t)||F&&/\w(?:86|32)$/.test(o.cpuClass||o.platform)&&!/\bWin64; x64\b/i.test(t))&&R.unshift("32-bit")):H&&/^OS X/.test(H.family)&&"Chrome"==j&&parseFloat(P)>=39&&(H.architecture=64),t||(t=null);var G={};return G.description=t,G.layout=$&&$[0],G.manufacturer=_,G.name=j,G.prerelease=O,G.product=B,G.ua=t,G.version=j&&P,G.os=H||{architecture:null,family:null,version:null,toString:function(){return"null"}},G.parse=e,G.toString=function(){return this.description||""},G.version&&R.unshift(P),G.name&&R.unshift(j),H&&j&&(H!=String(H).split(" ")[0]||H!=j.split(" ")[0]&&!B)&&R.push(B?"("+H+")":"on "+H),R.length&&(G.description=R.join(" ")),G}();i.platform=x,void 0===(o=function(){return x}.call(t,n,t,e))||(e.exports=o)}).call(this)}).call(this,n(6)(e),n(0))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";
|
2
22
|
/*!
|
3
23
|
* J1 Adapter
|
4
24
|
* Copyright (C) 2021 Juergen Adams
|
5
25
|
* Licensed under MIT License.
|
6
|
-
*/e.exports=(j1,window,{_init_:function(){}})},function(e,n
|
26
|
+
*/e.exports=(j1,window,{_init_:function(){}})},function(e,t,n){"use strict";
|
7
27
|
/*!
|
8
28
|
* J1 Core
|
9
29
|
* Copyright (C) 2021 Juergen Adams
|
10
30
|
* Licensed under MIT License.
|
11
|
-
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
|
31
|
+
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
12
32
|
/*!
|
13
33
|
* J1 Asciidoctor
|
14
34
|
* Copyright (C) 2021 Juergen Adams
|
15
35
|
* Licensed under MIT License.
|
16
36
|
*/
|
17
|
-
e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},n),logText="J1 Asciidoctor is being initialized",t.info(logText),this.callouts()},callouts:function(e){var n="";0==$(".colist > table > colgroup").length&&(n+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",n+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(n))},conums:function(e){var n=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(n))}))}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,r;r="run module scrollSmooth",(t=log4javascript.getLogger("j1.core.scrollSmooth")).info(r);var o=n.duration,a=n.offset;this.scrollTo(e,{duration:o,offset:a,callback:null}),r="scrollSmooth finished",t.info(r)},scrollTo:function(e,n){var t,r,o=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,r){return(e/=r/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-t,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var r={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!r.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),r=s(u.und(t[0])?1:t[0],.1,100),o=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(o/r),f=a/(2*Math.sqrt(o*r)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,r=0;;)if(1===v(t+=1/6)){if(++r>=16)break}else r=0;var o=t*(1/6)*1e3;return i.springs[e]=o,o}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function r(r,o,a){return((e(o,a)*r+n(o,a))*r+t(o))*r}function o(r,o,a){return 3*e(o,a)*r*r+2*n(o,a)*r+t(o)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=r(.1*s,e,t);return function(o){return e===n&&t===a||0===o||1===o?o:r(l(o),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=o(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=o(n,t,a);if(0===s)return n;n-=(r(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,o,a){var i,s,l=0;do{(i=r(s=n+(t-n)/2,o,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),r=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(r){return 1-n(e,t)(1-r)}},m["easeInOut"+e]=function(e,t){return function(r){return r<.5?n(e,t)(2*r)/2:1-n(e,t)(-2*r+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],r=g[t],o=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,o);case"steps":return c(p,o);default:return c(r,o)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function y(e,n){for(var t=e.length,r=arguments.length>=2?arguments[1]:void 0,o=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(r,i,a,e)&&o.push(i)}return o}function C(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?C(n):n)}),[])}function $(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function k(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var r in e)t[r]=n.hasOwnProperty(r)?n[r]:e[r];return t}function T(e,n){var t=x(e);for(var r in n)t[r]=u.und(e[r])?n[r]:e[r];return t}function L(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,r){return n+n+t+t+r+r})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,r,o=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(o[1],10)/360,i=parseInt(o[2],10)/100,s=parseInt(o[3],10)/100,l=o[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=r=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),r=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*r+","+l+")"}(e):void 0;var n,t}function O(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function j(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function M(e,n){return e.getAttribute(n)}function q(e,n,t){if(k([t,"deg","rad","turn"],O(n)))return n;var r=i.CSS[n+t];if(!u.und(r))return r;var o=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(o),o.style.position="absolute",o.style.width=100+t;var s=100/o.offsetWidth;a.removeChild(o);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function N(e,n,t){if(n in e.style){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),o=e.style[n]||getComputedStyle(e).getPropertyValue(r)||"0";return t?q(e,o,t):o}}function E(e,n){return u.dom(e)&&!u.inp(e)&&(M(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&k(a,n)?"transform":u.dom(e)&&"transform"!==n&&N(e,n)?"css":null!=e[n]?"object":void 0}function _(e){if(u.dom(e)){for(var n,t=e.style.transform||"",r=/(\w+)\(([^)]*)\)/g,o=new Map;n=r.exec(t);)o.set(n[1],n[2]);return o}}function I(e,n,t,r){var o=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=_(e).get(n)||o;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),r?q(e,a,r):a}function A(e,n,t,r){switch(E(e,n)){case"transform":return I(e,n,r,t);case"css":return N(e,n,t);case"attribute":return M(e,n);default:return e[n]||0}}function P(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var r=O(e)||0,o=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return o+a+r;case"-":return o-a+r;case"*":return o*a+r}}function D(e,n){if(u.col(e))return L(e);if(/\s/g.test(e))return e;var t=O(e),r=t?e.substr(0,e.length-t.length):e;return n?r+n:r}function F(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function H(e){for(var n,t=e.points,r=0,o=0;o<t.numberOfItems;o++){var a=t.getItem(o);o>0&&(r+=F(n,a)),n=a}return r}function B(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*M(e,"r")}(e);case"rect":return function(e){return 2*M(e,"width")+2*M(e,"height")}(e);case"line":return function(e){return F({x:M(e,"x1"),y:M(e,"y1")},{x:M(e,"x2"),y:M(e,"y2")})}(e);case"polyline":return H(e);case"polygon":return function(e){var n=e.points;return H(e)+F(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},r=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),o=r.getBoundingClientRect(),a=M(r,"viewBox"),i=o.width,s=o.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function Q(e,n){function t(t){void 0===t&&(t=0);var r=n+t>=1?n+t:0;return e.el.getPointAtLength(r)}var r=z(e.el,e.svg),o=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(o.x-r.x)*r.w;case"y":return(o.y-r.y)*r.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function R(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=D(u.pth(e)?e.totalLength:e,n)+"";return{original:r,numbers:r.match(t)?r.match(t).map(Number):[0],strings:u.str(e)||n?r.split(t):[]}}function Y(e){return y(e?C(u.arr(e)?e.map($):$(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function V(e){var n=Y(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:_(e)}}}))}function X(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var r=e.length;2===r&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/r)}var o=u.arr(e)?e:[e];return o.map((function(e,t){var r=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(r.delay)&&(r.delay=t?0:n.delay),u.und(r.endDelay)&&(r.endDelay=t===o.length-1?n.endDelay:0),r})).map((function(e){return T(e,t)}))}function Z(e,n){var t=[],r=n.keyframes;for(var o in r&&(n=T(function(e){for(var n=y(C(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},r=function(r){var o=n[r];t[o]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==o&&(n.value=e[t]):n[t]=e[t];return n}))},o=0;o<n.length;o++)r(o);return t}(r),n)),n)u.key(o)&&t.push({name:o,tweens:X(n[o],e)});return t}function J(e,n){var t;return e.tweens.map((function(r){var o=function(e,n){var t={};for(var r in e){var o=j(e[r],n);u.arr(o)&&1===(o=o.map((function(e){return j(e,n)}))).length&&(o=o[0]),t[r]=o}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(r,n),a=o.value,i=u.arr(a)?a[1]:a,s=O(i),l=A(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=O(d)||O(l),p=s||f;return u.und(i)&&(i=c),o.from=R(d,p),o.to=R(P(i,d),p),o.start=t?t.end:0,o.end=o.start+o.delay+o.duration+o.endDelay,o.easing=b(o.easing,o.duration),o.isPath=u.pth(a),o.isColor=u.col(o.from.original),o.isColor&&(o.round=1),t=o,o}))}var U={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,r,o){if(r.list.set(n,t),n===r.last||o){var a="";r.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function W(e,n){V(e).forEach((function(e){for(var t in n){var r=j(n[t],e),o=e.target,a=O(r),i=A(o,t,a,e),s=P(D(r,a||O(i)),i),l=E(o,t);U[l](o,t,s,e.transforms,!0)}}))}function G(e,n){return y(C(e.map((function(e){return n.map((function(n){return function(e,n){var t=E(e.target,n.name);if(t){var r=J(n,e),o=r[r.length-1];return{type:t,property:n.name,animatable:e,tweens:r,duration:o.end,delay:r[0].delay,endDelay:o.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},o={};return o.duration=t?Math.max.apply(Math,e.map((function(e){return r(e)+e.duration}))):n.duration,o.delay=t?Math.min.apply(Math,e.map((function(e){return r(e)+e.delay}))):n.delay,o.endDelay=t?o.duration-Math.max.apply(Math,e.map((function(e){return r(e)+e.duration-e.endDelay}))):n.endDelay,o}var ee=0;var ne,te=[],re=[],oe=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var r=0;r<t;){var o=te[r];if(o.paused){var a=te.indexOf(o);a>-1&&(te.splice(a,1),t=te.length)}else o.tick(n);r++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(r,e),t=S(o,e),a=Z(t,e),i=V(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,T(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,r=t.length;n<r;){var o=t[n],a=o.animatable,i=o.tweens,l=i.length-1,c=i[l];l&&(c=y(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,C=c.to.numbers[b],$=c.from.numbers[b]||0;w=c.isPath?Q(c.value,f*C):$+f*(C-$),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var k=p.length;if(k){g=p[0];for(var x=0;x<k;x++){p[x];var S=p[x+1],T=v[x];isNaN(T)||(g+=S?T+S:T+" ")}}else g=v[0];U[o.type](a.target,o.property,g,a.transforms),o.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var r=d.duration,o=d.delay,m=r-d.endDelay,b=p(e);d.progress=s(b/r*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var r=0;r<l;r++)v(e,n[r])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=o&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==r||!r)&&h(r),b>o&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,r),d.began&&g("update"),e>=r&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return W(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||oe())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)k(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),re=te.slice(0),ae.running=te=[]):re.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=Y(e),t=te.length;t--;){var r=te[t],o=r.animations,a=r.children;ie(n,o);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}o.length||a.length||r.pause()}},ae.get=A,ae.set=W,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,r=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:B(t)*(r/100)}}},ae.setDashoffset=function(e){var n=B(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",r=n.easing?b(n.easing):null,o=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=O(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(o){var w=l?(o[0]-1)/2:i%o[0],y=l?(o[1]-1)/2:Math.floor(i/o[0]),C=w-b%o[0],$=y-Math.floor(b/o[0]),k=Math.sqrt(C*C+$*$);"x"===a&&(k=-C),"y"===a&&(k=-$),h.push(k)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}r&&(h=h.map((function(e){return r(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,r){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=T(t,S(o,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(r)?d:P(r,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(r){var o,a,i,s;s=void 0!==r?r:this.window||this.global,a=[],o=function(e){"use strict";var n,r,o,a=t(9),i={},s={},l=t(10),c=t(11),u=t(12),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var r in t)f.call(t,r)&&(e[r]=t[r])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(13).initSmoothScrolling(i)),n=l(i),r=c(i),this._buildHtml=n,this._parseContent=r,s.destroy(),null!==(o=r.selectHeadings(i.contentSelector,i.headingSelector)))){var m=r.nestHeadingsArray(o).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(o),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(o),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(o),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var r,o;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;r&&i<r+n?(clearTimeout(o),o=setTimeout((function(){r=i,e.apply(a,s)}),n)):(r=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof o?o.apply(n,a):o)||(e.exports=i)}).call(this,t(8))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,r=document.body,o=!0;function a(t,r){var o=r.appendChild(function(t){var r=document.createElement("li"),o=document.createElement("a");e.listItemClass&&r.setAttribute("class",e.listItemClass);e.onClick&&(o.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){o.appendChild(e.cloneNode(!0))})):o.textContent=t.textContent;return o.setAttribute("href",e.basePath+"#"+t.id),o.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),r.appendChild(o),r}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),o.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",r=document.createElement(t),o=e.listClass+" "+e.extraListClasses;return n&&(o+=" "+e.collapsibleClass,o+=" "+e.isCollapsedClass),r.setAttribute("class",o),r}return{enableTocAnimation:function(){o=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(o=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var r=document.querySelector(e);if(null!==r)return r.firstChild&&r.removeChild(r.firstChild),0===n.length?r:r.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(o&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var r=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(r=t.offsetTop,e.hasInnerContainers&&(r+=n(t.offsetParent))),r}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function r(e){return+e.nodeName.split("H").join("")}function o(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:r(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(r){return n.call(r,(function(n,r){var a=o(r);return a&&function(n,r){for(var a=o(n),i=a.headingLevel,s=r,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var r=t;e.ignoreSelector&&(r=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(r)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,r=location.hash?o(location.href):location.href;function o(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||o(i.href)!==r&&o(i.href)+"#"!==r||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,r,o=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,r){return(e/=r/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-t,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),r=t.prev().find(".title"),o=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');r.append(o),o.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
|
37
|
+
e.exports=(jQuery,{init:function(e){var t=e,n=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},t),logText="J1 Asciidoctor is being initialized",n.info(logText),this.callouts()},callouts:function(e){var t="";0==$(".colist > table > colgroup").length&&(t+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",t+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(t))},conums:function(e){var t=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(t))}))}})},function(e,t,n){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,t){var n,r;r="run module scrollSmooth",(n=log4javascript.getLogger("j1.core.scrollSmooth")).info(r);var o=t.duration,a=t.offset;this.scrollTo(e,{duration:o,offset:a,callback:null}),r="scrollSmooth finished",n.info(r)},scrollTo:function(e,t){var n,r,o=window.pageYOffset,a={duration:t.duration,offset:t.offset||0,callback:t.callback,easing:t.easing||function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:(e--,-n/2*(e*(e-2)-1)+t)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-n,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){n=e,c(e)}))}}}(jQuery)},function(e,t,n){"use strict";var r={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,t,n){return Math.min(Math.max(e,t),n)}function l(e,t){return e.indexOf(t)>-1}function c(e,t){return e.apply(null,t)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!r.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var t=/\(([^)]+)\)/.exec(e);return t?t[1].split(",").map((function(e){return parseFloat(e)})):[]}function p(e,t){var n=d(e),r=s(u.und(n[0])?1:n[0],.1,100),o=s(u.und(n[1])?100:n[1],.1,100),a=s(u.und(n[2])?10:n[2],.1,100),l=s(u.und(n[3])?0:n[3],.1,100),c=Math.sqrt(o/r),p=a/(2*Math.sqrt(o*r)),h=p<1?c*Math.sqrt(1-p*p):0,g=p<1?(p*c-l)/h:-l+c;function m(e){var n=t?t*e/1e3:e;return n=p<1?Math.exp(-n*p*c)*(1*Math.cos(h*n)+g*Math.sin(h*n)):(1+g*n)*Math.exp(-n*c),0===e||1===e?e:1-n}return t?m:function(){var t=i.springs[e];if(t)return t;for(var n=0,r=0;;)if(1===m(n+=1/6)){if(++r>=16)break}else r=0;var o=n*(1/6)*1e3;return i.springs[e]=o,o}}function h(e){return void 0===e&&(e=10),function(t){return Math.ceil(s(t,1e-6,1)*e)*(1/e)}}var g,m,f=function(){function e(e,t){return 1-3*t+3*e}function t(e,t){return 3*t-6*e}function n(e){return 3*e}function r(r,o,a){return((e(o,a)*r+t(o,a))*r+n(o))*r}function o(r,o,a){return 3*e(o,a)*r*r+2*t(o,a)*r+n(o)}return function(e,t,n,a){if(0<=e&&e<=1&&0<=n&&n<=1){var i=new Float32Array(11);if(e!==t||n!==a)for(var s=0;s<11;++s)i[s]=r(.1*s,e,n);return function(o){return e===t&&n===a||0===o||1===o?o:r(l(o),t,a)}}function l(t){for(var a=0,s=1;10!==s&&i[s]<=t;++s)a+=.1;--s;var l=a+.1*((t-i[s])/(i[s+1]-i[s])),c=o(l,e,n);return c>=.001?function(e,t,n,a){for(var i=0;i<4;++i){var s=o(t,n,a);if(0===s)return t;t-=(r(t,n,a)-e)/s}return t}(t,l,e,n):0===c?l:function(e,t,n,o,a){var i,s,l=0;do{(i=r(s=t+(n-t)/2,o,a)-e)>0?n=s:t=s}while(Math.abs(i)>1e-7&&++l<10);return s}(t,a,a+.1,e,n)}}}(),v=(g={linear:function(){return function(e){return e}}},m={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*t-2)/22-e,2)}},Elastic:function(e,t){void 0===e&&(e=1),void 0===t&&(t=.5);var n=s(e,1,10),r=s(t,.1,2);return function(e){return 0===e||1===e?e:-n*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,t){m[e]=function(){return function(e){return Math.pow(e,t+2)}}})),Object.keys(m).forEach((function(e){var t=m[e];g["easeIn"+e]=t,g["easeOut"+e]=function(e,n){return function(r){return 1-t(e,n)(1-r)}},g["easeInOut"+e]=function(e,n){return function(r){return r<.5?t(e,n)(2*r)/2:1-t(e,n)(-2*r+2)/2}}})),g);function y(e,t){if(u.fnc(e))return e;var n=e.split("(")[0],r=v[n],o=d(e);switch(n){case"spring":return p(e,t);case"cubicBezier":return c(f,o);case"steps":return c(h,o);default:return c(r,o)}}function b(e){try{return document.querySelectorAll(e)}catch(e){return}}function w(e,t){for(var n=e.length,r=arguments.length>=2?arguments[1]:void 0,o=[],a=0;a<n;a++)if(a in e){var i=e[a];t.call(r,i,a,e)&&o.push(i)}return o}function C(e){return e.reduce((function(e,t){return e.concat(u.arr(t)?C(t):t)}),[])}function x(e){return u.arr(e)?e:(u.str(e)&&(e=b(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function E(e,t){return e.some((function(e){return e===t}))}function L(e){var t={};for(var n in e)t[n]=e[n];return t}function S(e,t){var n=L(e);for(var r in e)n[r]=t.hasOwnProperty(r)?t[r]:e[r];return n}function T(e,t){var n=L(e);for(var r in t)n[r]=u.und(e[r])?t[r]:e[r];return n}function M(e){return u.rgb(e)?(n=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(t=e))?"rgba("+n[1]+",1)":t:u.hex(e)?function(e){var t=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,r){return t+t+n+n+r+r})),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return"rgba("+parseInt(n[1],16)+","+parseInt(n[2],16)+","+parseInt(n[3],16)+",1)"}(e):u.hsl(e)?function(e){var t,n,r,o=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(o[1],10)/360,i=parseInt(o[2],10)/100,s=parseInt(o[3],10)/100,l=o[4]||1;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==i)t=n=r=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;t=c(d,u,a+1/3),n=c(d,u,a),r=c(d,u,a-1/3)}return"rgba("+255*t+","+255*n+","+255*r+","+l+")"}(e):void 0;var t,n}function A(e){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(t)return t[1]}function I(e,t){return u.fnc(e)?e(t.target,t.id,t.total):e}function k(e,t){return e.getAttribute(t)}function D(e,t,n){if(E([n,"deg","rad","turn"],A(t)))return t;var r=i.CSS[t+n];if(!u.und(r))return r;var o=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(o),o.style.position="absolute",o.style.width=100+n;var s=100/o.offsetWidth;a.removeChild(o);var l=s*parseFloat(t);return i.CSS[t+n]=l,l}function N(e,t,n){if(t in e.style){var r=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),o=e.style[t]||getComputedStyle(e).getPropertyValue(r)||"0";return n?D(e,o,n):o}}function R(e,t){return u.dom(e)&&!u.inp(e)&&(k(e,t)||u.svg(e)&&e[t])?"attribute":u.dom(e)&&E(a,t)?"transform":u.dom(e)&&"transform"!==t&&N(e,t)?"css":null!=e[t]?"object":void 0}function O(e){if(u.dom(e)){for(var t,n=e.style.transform||"",r=/(\w+)\(([^)]*)\)/g,o=new Map;t=r.exec(n);)o.set(t[1],t[2]);return o}}function F(e,t,n,r){var o=l(t,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(t),a=O(e).get(t)||o;return n&&(n.transforms.list.set(t,a),n.transforms.last=t),r?D(e,a,r):a}function P(e,t,n,r){switch(R(e,t)){case"transform":return F(e,t,r,n);case"css":return N(e,t,n);case"attribute":return k(e,t);default:return e[t]||0}}function $(e,t){var n=/^(\*=|\+=|-=)/.exec(e);if(!n)return e;var r=A(e)||0,o=parseFloat(t),a=parseFloat(e.replace(n[0],""));switch(n[0][0]){case"+":return o+a+r;case"-":return o-a+r;case"*":return o*a+r}}function j(e,t){if(u.col(e))return M(e);if(/\s/g.test(e))return e;var n=A(e),r=n?e.substr(0,e.length-n.length):e;return t?r+t:r}function B(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function _(e){for(var t,n=e.points,r=0,o=0;o<n.numberOfItems;o++){var a=n.getItem(o);o>0&&(r+=B(t,a)),t=a}return r}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*k(e,"r")}(e);case"rect":return function(e){return 2*k(e,"width")+2*k(e,"height")}(e);case"line":return function(e){return B({x:k(e,"x1"),y:k(e,"y1")},{x:k(e,"x2"),y:k(e,"y2")})}(e);case"polyline":return _(e);case"polygon":return function(e){var t=e.points;return _(e)+B(t.getItem(t.numberOfItems-1),t.getItem(0))}(e)}}function W(e,t){var n=t||{},r=n.el||function(e){for(var t=e.parentNode;u.svg(t)&&u.svg(t.parentNode);)t=t.parentNode;return t}(e),o=r.getBoundingClientRect(),a=k(r,"viewBox"),i=o.width,s=o.height,l=n.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function U(e,t){function n(n){void 0===n&&(n=0);var r=t+n>=1?t+n:0;return e.el.getPointAtLength(r)}var r=W(e.el,e.svg),o=n(),a=n(-1),i=n(1);switch(e.property){case"x":return(o.x-r.x)*r.w;case"y":return(o.y-r.y)*r.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function G(e,t){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=j(u.pth(e)?e.totalLength:e,t)+"";return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:u.str(e)||t?r.split(n):[]}}function q(e){return w(e?C(u.arr(e)?e.map(x):x(e)):[],(function(e,t,n){return n.indexOf(e)===t}))}function V(e){var t=q(e);return t.map((function(e,n){return{target:e,id:n,total:t.length,transforms:{list:O(e)}}}))}function K(e,t){var n=L(t);if(/^spring/.test(n.easing)&&(n.duration=p(n.easing)),u.arr(e)){var r=e.length;2===r&&!u.obj(e[0])?e={value:e}:u.fnc(t.duration)||(n.duration=t.duration/r)}var o=u.arr(e)?e:[e];return o.map((function(e,n){var r=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(r.delay)&&(r.delay=n?0:t.delay),u.und(r.endDelay)&&(r.endDelay=n===o.length-1?t.endDelay:0),r})).map((function(e){return T(e,n)}))}function z(e,t){var n=[],r=t.keyframes;for(var o in r&&(t=T(function(e){for(var t=w(C(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,t){return e.indexOf(t)<0&&e.push(t),e}),[]),n={},r=function(r){var o=t[r];n[o]=e.map((function(e){var t={};for(var n in e)u.key(n)?n==o&&(t.value=e[n]):t[n]=e[n];return t}))},o=0;o<t.length;o++)r(o);return n}(r),t)),t)u.key(o)&&n.push({name:o,tweens:K(t[o],e)});return n}function X(e,t){var n;return e.tweens.map((function(r){var o=function(e,t){var n={};for(var r in e){var o=I(e[r],t);u.arr(o)&&1===(o=o.map((function(e){return I(e,t)}))).length&&(o=o[0]),n[r]=o}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(r,t),a=o.value,i=u.arr(a)?a[1]:a,s=A(i),l=P(t.target,e.name,s,t),c=n?n.to.original:l,d=u.arr(a)?a[0]:c,p=A(d)||A(l),h=s||p;return u.und(i)&&(i=c),o.from=G(d,h),o.to=G($(i,d),h),o.start=n?n.end:0,o.end=o.start+o.delay+o.duration+o.endDelay,o.easing=y(o.easing,o.duration),o.isPath=u.pth(a),o.isColor=u.col(o.from.original),o.isColor&&(o.round=1),n=o,o}))}var J={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,r,o){if(r.list.set(t,n),t===r.last||o){var a="";r.list.forEach((function(e,t){a+=t+"("+e+") "})),e.style.transform=a}}};function Y(e,t){V(e).forEach((function(e){for(var n in t){var r=I(t[n],e),o=e.target,a=A(r),i=P(o,n,a,e),s=$(j(r,a||A(i)),i),l=R(o,n);J[l](o,n,s,e.transforms,!0)}}))}function Q(e,t){return w(C(e.map((function(e){return t.map((function(t){return function(e,t){var n=R(e.target,t.name);if(n){var r=X(t,e),o=r[r.length-1];return{type:n,property:t.name,animatable:e,tweens:r,duration:o.end,delay:r[0].delay,endDelay:o.endDelay}}}(e,t)}))}))),(function(e){return!u.und(e)}))}function Z(e,t){var n=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},o={};return o.duration=n?Math.max.apply(Math,e.map((function(e){return r(e)+e.duration}))):t.duration,o.delay=n?Math.min.apply(Math,e.map((function(e){return r(e)+e.delay}))):t.delay,o.endDelay=n?o.duration-Math.max.apply(Math,e.map((function(e){return r(e)+e.duration-e.endDelay}))):t.endDelay,o}var ee=0;var te,ne=[],re=[],oe=function(){function e(){te=requestAnimationFrame(t)}function t(t){var n=ne.length;if(n){for(var r=0;r<n;){var o=ne[r];if(o.paused){var a=ne.indexOf(o);a>-1&&(ne.splice(a,1),n=ne.length)}else o.tick(t);r++}e()}else te=cancelAnimationFrame(te)}return e}();function ae(e){void 0===e&&(e={});var t,n=0,a=0,i=0,l=0,c=null;function u(e){var t=window.Promise&&new Promise((function(e){return c=e}));return e.finished=t,t}var d=function(e){var t=S(r,e),n=S(o,e),a=z(n,e),i=V(e.targets),s=Q(i,a),l=Z(s,n),c=ee;return ee++,T(t,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function p(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,t.forEach((function(e){return e.reversed=d.reversed}))}function h(e){return d.reversed?d.duration-e:e}function g(){n=0,a=h(d.currentTime)*(1/ae.speed)}function m(e,t){t&&t.seek(e-t.timelineOffset)}function f(e){for(var t=0,n=d.animations,r=n.length;t<r;){var o=n[t],a=o.animatable,i=o.tweens,l=i.length-1,c=i[l];l&&(c=w(i,(function(t){return e<t.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,p=isNaN(u)?1:c.easing(u),h=c.to.strings,g=c.round,m=[],f=c.to.numbers.length,v=void 0,y=0;y<f;y++){var b=void 0,C=c.to.numbers[y],x=c.from.numbers[y]||0;b=c.isPath?U(c.value,p*C):x+p*(C-x),g&&(c.isColor&&y>2||(b=Math.round(b*g)/g)),m.push(b)}var E=h.length;if(E){v=h[0];for(var L=0;L<E;L++){h[L];var S=h[L+1],T=m[L];isNaN(T)||(v+=S?T+S:T+" ")}}else v=m[0];J[o.type](a.target,o.property,v,a.transforms),o.currentValue=v,t++}}function v(e){d[e]&&!d.passThrough&&d[e](d)}function y(e){var r=d.duration,o=d.delay,g=r-d.endDelay,y=h(e);d.progress=s(y/r*100,0,100),d.reversePlayback=y<d.currentTime,t&&function(e){if(d.reversePlayback)for(var n=l;n--;)m(e,t[n]);else for(var r=0;r<l;r++)m(e,t[r])}(y),!d.began&&d.currentTime>0&&(d.began=!0,v("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,v("loopBegin")),y<=o&&0!==d.currentTime&&f(0),(y>=g&&d.currentTime!==r||!r)&&f(r),y>o&&y<g?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,v("changeBegin")),v("change"),f(y)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,v("changeComplete")),d.currentTime=s(y,0,r),d.began&&v("update"),e>=r&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(n=i,v("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&p()):(d.paused=!0,d.completed||(d.completed=!0,v("loopComplete"),v("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,t=d.children;for(var n=l=t.length;n--;)d.children[n].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,f(d.reversed?d.duration:0)},d.set=function(e,t){return Y(e,t),d},d.tick=function(e){i=e,n||(n=i),y((i+(a-n))*ae.speed)},d.seek=function(e){y(h(e))},d.pause=function(){d.paused=!0,g()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,ne.push(d),g(),te||oe())},d.reverse=function(){p(),d.completed=!d.reversed,g()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,t){for(var n=t.length;n--;)E(e,t[n].animatable.target)&&t.splice(n,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(ne.forEach((function(e){return e.pause()})),re=ne.slice(0),ae.running=ne=[]):re.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=ne,ae.remove=function(e){for(var t=q(e),n=ne.length;n--;){var r=ne[n],o=r.animations,a=r.children;ie(t,o);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(t,l),l.length||s.children.length||a.splice(i,1)}o.length||a.length||r.pause()}},ae.get=P,ae.set=Y,ae.convertPx=D,ae.path=function(e,t){var n=u.str(e)?b(e)[0]:e,r=t||100;return function(e){return{property:e,el:n,svg:W(n),totalLength:H(n)*(r/100)}}},ae.setDashoffset=function(e){var t=H(e);return e.setAttribute("stroke-dasharray",t),t},ae.stagger=function(e,t){void 0===t&&(t={});var n=t.direction||"normal",r=t.easing?y(t.easing):null,o=t.grid,a=t.axis,i=t.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),p=d?parseFloat(e[0]):parseFloat(e),h=d?parseFloat(e[1]):0,g=A(d?e[1]:e)||0,m=t.start||0+(d?p:0),f=[],v=0;return function(e,t,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!f.length){for(var y=0;y<u;y++){if(o){var b=l?(o[0]-1)/2:i%o[0],w=l?(o[1]-1)/2:Math.floor(i/o[0]),C=b-y%o[0],x=w-Math.floor(y/o[0]),E=Math.sqrt(C*C+x*x);"x"===a&&(E=-C),"y"===a&&(E=-x),f.push(E)}else f.push(Math.abs(i-y));v=Math.max.apply(Math,f)}r&&(f=f.map((function(e){return r(e/v)*v}))),"reverse"===n&&(f=f.map((function(e){return a?e<0?-1*e:-e:Math.abs(v-e)})))}return m+(d?(h-p)/v:p)*(Math.round(100*f[t])/100)+g}},ae.timeline=function(e){void 0===e&&(e={});var t=ae(e);return t.duration=0,t.add=function(n,r){var a=ne.indexOf(t),i=t.children;function s(e){e.passThrough=!0}a>-1&&ne.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=T(n,S(o,e));c.targets=c.targets||e.targets;var d=t.duration;c.autoplay=!1,c.direction=t.direction,c.timelineOffset=u.und(r)?d:$(r,d),s(t),t.seek(c.timelineOffset);var p=ae(c);s(p),i.push(p);var h=Z(i,e);return t.delay=h.delay,t.endDelay=h.endDelay,t.duration=h.duration,t.seek(0),t.reset(),t.autoplay&&t.play(),t},t},ae.easing=y,ae.penner=v,ae.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},e.exports=ae},function(e,t,n){(function(r){var o,a,i,s;s=void 0!==r?r:this.window||this.global,a=[],o=function(e){"use strict";var t,r,o,a=n(14),i={},s={},l=n(15),c=n(16),u=n(17),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var p=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),t&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),t&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)p.call(n,r)&&(e[r]=n[r])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=n(18).initSmoothScrolling(i)),t=l(i),r=c(i),this._buildHtml=t,this._parseContent=r,s.destroy(),null!==(o=r.selectHeadings(i.contentSelector,i.headingSelector)))){var g=r.nestHeadingsArray(o).nest;i.skipRendering||t.render(i.tocSelector,g),this._scrollListener=h((function(e){t.updateToc(o),!i.disableTocScrollSync&&u(i);var n=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||n)&&(t.updateToc(o),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var m=null;return this._clickListener=h((function(e){i.scrollSmooth&&t.disableTocAnimation(e),t.updateToc(o),m&&clearTimeout(m),m=setTimeout((function(){t.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function h(e,t,n){var r,o;return t||(t=250),function(){var a=n||this,i=+new Date,s=arguments;r&&i<r+t?(clearTimeout(o),o=setTimeout((function(){r=i,e.apply(a,s)}),t)):(r=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof o?o.apply(t,a):o)||(e.exports=i)}).call(this,n(0))},function(e,t){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,t){e.exports=function(e){var t=[].forEach,n=[].some,r=document.body,o=!0;function a(n,r){var o=r.appendChild(function(n){var r=document.createElement("li"),o=document.createElement("a");e.listItemClass&&r.setAttribute("class",e.listItemClass);e.onClick&&(o.onclick=e.onClick);e.includeHtml&&n.childNodes.length?t.call(n.childNodes,(function(e){o.appendChild(e.cloneNode(!0))})):o.textContent=n.textContent;return o.setAttribute("href",e.basePath+"#"+n.id),o.setAttribute("class",e.linkClass+" node-name--"+n.nodeName+" "+e.extraLinkClasses),r.appendChild(o),r}(n));if(n.children.length){var s=i(n.isCollapsed);n.children.forEach((function(e){a(e,s)})),o.appendChild(s)}}function i(t){var n=e.orderedList?"ol":"ul",r=document.createElement(n),o=e.listClass+" "+e.extraListClasses;return t&&(o+=" "+e.collapsibleClass,o+=" "+e.isCollapsedClass),r.setAttribute("class",o),r}return{enableTocAnimation:function(){o=!0},disableTocAnimation:function(t){var n=t.target||t.srcElement;"string"==typeof n.className&&-1!==n.className.indexOf(e.linkClass)&&(o=!1)},render:function(e,t){var n=i(!1);t.forEach((function(e){a(e,n)}));var r=document.querySelector(e);if(null!==r)return r.firstChild&&r.removeChild(r.firstChild),0===t.length?r:r.appendChild(n)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop,e.positionFixedSelector&&function(){var t;t=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop;var n=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),t>e.fixedSidebarOffset?-1===n.className.indexOf(e.positionFixedClass)&&(n.className+=" "+e.positionFixedClass):n.className=n.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(o&&null!==document.querySelector(e.tocSelector)&&l.length>0){n.call(l,(function(t,n){return function t(n){var r=0;return n!==document.querySelector(e.contentSelector&&null!=n)&&(r=n.offsetTop,e.hasInnerContainers&&(r+=t(n.offsetParent))),r}(t)>i+e.headingsOffset+10?(s=l[n],!0):n===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);t.call(c,(function(t){t.className=t.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);t.call(u,(function(t){t.className=t.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var p=d.parentNode;p&&-1===p.className.indexOf(e.activeListItemClass)&&(p.className+=" "+e.activeListItemClass);var h=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);t.call(h,(function(t){-1===t.className.indexOf(e.isCollapsedClass)&&(t.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function t(n){if(-1!==n.className.indexOf(e.collapsibleClass)&&-1!==n.className.indexOf(e.isCollapsedClass))return n.className=n.className.split(" "+e.isCollapsedClass).join(""),t(n.parentNode.parentNode);return n}(d.parentNode.parentNode)}}}}},function(e,t){e.exports=function(e){var t=[].reduce;function n(e){return e[e.length-1]}function r(e){return+e.nodeName.split("H").join("")}function o(t){if(!(t instanceof window.HTMLElement))return t;if(e.ignoreHiddenElements&&(!t.offsetHeight||!t.offsetParent))return null;var n={id:t.id,children:[],nodeName:t.nodeName,headingLevel:r(t),textContent:e.headingLabelCallback?String(e.headingLabelCallback(t.textContent)):t.textContent.trim()};return e.includeHtml&&(n.childNodes=t.childNodes),e.headingObjectCallback?e.headingObjectCallback(n,t):n}return{nestHeadingsArray:function(r){return t.call(r,(function(t,r){var a=o(r);return a&&function(t,r){for(var a=o(t),i=a.headingLevel,s=r,l=n(s),c=i-(l?l.headingLevel:0);c>0;)(l=n(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,t.nest),t}),{nest:[]})},selectHeadings:function(t,n){var r=n;e.ignoreSelector&&(r=n.split(",").map((function(t){return t.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(t).querySelectorAll(r)}catch(e){return console.warn("Element not found: "+t),null}}}}},function(e,t){e.exports=function(e){var t=document.querySelector(e.tocSelector);if(t&&t.scrollHeight>t.clientHeight){var n=t.querySelector("."+e.activeListItemClass);n&&(t.scrollTop=n.offsetTop)}}},function(e,t){t.initSmoothScrolling=function(e){document.documentElement.style;var t=e.duration,n=e.offset,r=location.hash?o(location.href):location.href;function o(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||o(i.href)!==r&&o(i.href)+"#"!==r||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,t){var n,r,o=window.pageYOffset,a={duration:t.duration,offset:t.offset||0,callback:t.callback,easing:t.easing||function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:(e--,-n/2*(e*(e-2)-1)+t)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-n,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){n=e,c(e)}))}(a.target.hash,{duration:t,offset:n,callback:function(){var e,t;e=a.target.hash,(t=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())}})}),!1)}},function(e,t){$((function(){$(".result").each((function(e,t){var n=$(t),r=n.prev().find(".title"),o=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');r.append(o),o.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(n)}))}))}))}]);
|
18
38
|
//# sourceMappingURL=template.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./template.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","j1","adapter","require","core","navigator","asciidoctor","scrollSmooth","anime","_init_","options","$","extend","foo","bar","getState","isMobile","ua_name","a","mobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","logger","logText","message","init","defaultOptions","menuOptions","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","$getNav","click","e","preventDefault","returnValue","hasClass","wrap","postsArr","Array","index","$postsList","find","each","push","html","firstList","splice","Math","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","width","$getIn","data","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","$list","eq","setTimeout","fadeIn","clearTimeout","windowHeight","height","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","JSON","stringify","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","setInterval","clearInterval","scroll","target","duration","scrollTo","callback","timeStart","timeElapsed","start","pageYOffset","opt","easing","b","tgt","document","querySelector","decodeURI","split","join","distance","getBoundingClientRect","documentElement","body","loop","time","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","max","stringContains","str","indexOf","applyArguments","func","args","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","match","exec","map","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","forEach","keys","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","len","thisArg","arguments","result","flattenArray","reduce","concat","toArray","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","g","parseInt","hexToRgba","hslValue","h","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","id","total","getAttribute","el","prop","convertPxToUnit","unit","tempEl","createElement","tagName","parentEl","parentNode","appendChild","style","position","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","w","getPathProgress","path","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","addEventListener","hidden","ins","running","version","remove","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","root","global","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","threshold","scope","deferTimer","context","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","container","link","onclick","childNodes","node","cloneNode","textContent","nodeName","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","parent","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","String","trim","prev","curr","currentHeading","level","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","location","hash","stripHash","href","url","lastIndexOf","charAt","jump","getElementById","substring","tabIndex","focus","idx","result_block","title_div","view_result_link","append","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// window.Cookies = require('js-cookie');\n// window.log4javascript = require('log4javascript');\n// window.parseURL = require('lite-url');\n// window.platform = require('platform');\n// window.yaml = require('js-yaml');\n// window.uuid = require('uuid/v4');\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./template.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/log4javascript/log4javascript.js","webpack:///./node_modules/lite-url/dist/lite-url.min.js","webpack:///./node_modules/platform/platform.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","Cookies","require","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","factory","OldCookies","api","noConflict","extend","result","arguments","length","attributes","decode","replace","decodeURIComponent","init","converter","set","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","slice","join","charAt","read","parse","getJSON","remove","withConverter","isUndefined","obj","EventSupport","Array","push","len","shift","firstItem","splice","startIndex","deleteCount","itemsAfterDeleted","itemsDeleted","argumentsArray","itemsToAppend","concat","eventTypes","eventListeners","setEventTypes","eventTypesParam","handleError","addEventListener","eventType","listener","array_contains","removeEventListener","array_remove","dispatchEvent","eventArgs","listeners","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","ex","message","description","getUrlFileName","url","lastSlashIndex","max","lastIndexOf","substr","getExceptionStringRep","exStr","lineNumber","fileName","localEx","logLog","warn","showStackTraces","stack","bool","Boolean","trim","str","splitIntoLines","text","version","edition","urlEncode","arr","val","index","extractBooleanFromParam","param","defaultValue","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","err","Error","apply","args","methodName","argsStrings","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","exception","error","alertMessage","enabled","log4javascript_disabled","setEnabled","enable","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","timeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","show","Level","level","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","appenders","loggerLevel","isRoot","isNull","appenderCache","appenderCacheInvalidated","addChild","childLogger","invalidateAppenderCache","additive","getAdditivity","setAdditivity","additivity","valueChanged","addAppender","appender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","appenderCount","getEffectiveAppenders","parentEffectiveAppenders","log","params","getEffectiveLevel","finalParamIndex","lastParam","messages","loggingEvent","LoggingEvent","callAppenders","effectiveAppenders","doAppend","setLevel","getLevel","logger","group","initiallyExpanded","groupEnd","timers","time","timeEnd","timer","milliseconds","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","loggerName","parentLogger","lastDotIndex","parentLoggerName","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","timeStamp","timeStampInMilliseconds","timeStampInSeconds","getMilliseconds","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","combineMessages","dataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","fieldUpdated","formatWithException","formatted","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","depth","indentation","objectsExpanded","doFormat","childDepth","childIndentation","childLines","expansion","childExpansion","formatString","lines","j","jLen","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","formatMessage","isReadable","formatValue","prefix","expand","formattedValue","valType","childPrefix","queryBits","regex","monthNames","dayNames","types","G","y","M","w","W","D","F","E","a","H","k","K","h","S","Z","newDateAtMidnight","year","month","day","setMilliseconds","getDifference","date","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","midday","previousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","startOfYear","weekInYear","getWeekInMonth","startOfMonth","weekInMonth","getDayInYear","setMinimalDaysInFirstWeek","days","getMinimalDaysInFirstWeek","padWithZeroes","formatText","data","numberOfLetters","minLength","formatNumber","formattedString","searchString","exec","quotedString","patternLetters","otherLetters","otherCharacters","patternLetter","rawData","getTimezoneOffset","absData","abs","hours","minutes","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","matchedString","padding","truncation","conversionCharacter","specifier","replacement","precision","loggerNameBits","dateFormat","fieldIndex","strLen","consoleMethodName","getFormattedMessage","concatenate","formattedMessage","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","errorHandler","xmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","withCredentials","isSupported","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","sessionId","queuedLoggingEvents","queuedRequests","headers","sending","initialized","checkCanConfigure","configOptionName","sendAll","currentRequestBatch","sendRequest","preparePostData","scheduleSending","sendAllRemaining","sendingAnything","currentLoggingEvent","actualBatchSize","batchedLoggingEvents","formattedMessages","postData","setTimeout","xmlHttpErrorHandler","msg","successCallback","onreadystatechange","readyState","open","header","setRequestHeader","headerEx","send","errMsg","getSessionId","setSessionId","sessionIdParam","layoutParam","isTimed","setTimed","timedParam","getTimerInterval","setTimerInterval","timerIntervalParam","isWaitForResponse","setWaitForResponse","waitForResponseParam","getBatchSize","setBatchSize","batchSizeParam","isSendAllOnUnload","setSendAllOnUnload","sendAllOnUnloadParam","setRequestSuccessCallback","requestSuccessCallbackParam","setFailCallback","failCallbackParam","getPostVarName","setPostVarName","postVarNameParam","getHeaders","addHeader","toLowerCase","oldBeforeUnload","onbeforeunload","setCookie","setTime","toGMTString","getCookie","nameEquals","ca","indexOf","unescape","getBaseUrl","scripts","getElementsByTagName","src","lastSlash","isLoaded","win","loaded","padWithSpaces","spaces","numberOfSpaces","PopUpAppender","defaultCommandLineFunctions","consoleAppenderIdCounter","lazyInit","initiallyMinimized","useDocumentWrite","width","height","focusPopUp","InPageAppender","container","inPage","focusConsoleWindow","consoleWindowCreated","consoleWindowLoaded","consoleClosed","consoleAppenderId","newestMessageAtTop","scrollToLatestMessage","createWindow","safeToAppend","getConsoleWindow","maxMessages","showCommandLine","commandLineObjectExpansionDepth","showHideButton","showCloseButton","appenderName","consoleWindowExists","isNewestMessageAtTop","setNewestMessageAtTop","newestMessageAtTopParam","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","scrollToLatestMessageParam","setScrollToLatest","getWidth","setWidth","widthParam","getHeight","setHeight","heightParam","getMaxMessages","setMaxMessages","maxMessagesParam","isShowCommandLine","setShowCommandLine","showCommandLineParam","isShowHideButton","setShowHideButton","showHideButtonParam","isShowCloseButton","setShowCloseButton","showCloseButtonParam","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","commandLineObjectExpansionDepthParam","minimized","QueuedLoggingEvent","levelName","QueuedGroup","QueuedGroupEnd","isInitiallyMinimized","setInitiallyMinimized","initiallyMinimizedParam","isUseDocumentWrite","setUseDocumentWrite","useDocumentWriteParam","checkAndAppend","reopenWhenClosed","appendQueuedLoggingEvents","focus","clear","clearLog","focusCommandLine","focusSearch","commandWindow","getCommandWindow","setCommandWindow","commandWindowParam","executeLastCommand","evalLastCommand","commandLayout","getCommandLayout","setCommandLayout","commandLayoutParam","evalCommandAndAppend","commandReturnValue","appendResult","commandOutput","execScript","commandLineFunctionsHash","commandLineFunctions","objectsToRestore","addObjectToRestore","addFunctionToWindow","evalExpr","mainLayout","addCommandLineFunction","functionName","commandLineFunction","storeCommandHistory","commandHistory","writeHtml","doc","writeln","close","consoleWindowLoadHandler","setAppender","setMainWindow","storedValue","currentCommandIndex","unload","caller","pollConsoleWindow","windowTest","interval","errorMessage","poll","setInterval","clearInterval","getConsoleUrl","documentDomainSet","domain","hostname","containerElement","cssProperties","addCssProperty","iframeContainerDiv","windowCreationStarted","iframeId","hide","$","blur","style","display","isVisible","fromButton","confirm","parentNode","removeChild","initErrorMessage","finalInit","writeToDocument","appendChild","createElement","border","iframeSrc","innerHTML","iframeDocumentExistsTest","pageLoadHandler","el","getElementById","nodeType","position","left","right","bottom","body","iframe","frames","popUp","useOldPopUp","complainAboutPopUpBlocking","isUseOldPopUp","setUseOldPopUp","useOldPopUpParam","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","complainAboutPopUpBlockingParam","isFocusPopUp","setFocusPopUp","focusPopUpParam","isReopenWhenClosed","setReopenWhenClosed","reopenWhenClosedParam","windowProperties","frameInfo","frameEl","frameElement","tagName","id","windowName","host","checkPopUpClosed","closed","popUpClosedCallback","setCloseIfOpenerCloses","mainPageReloaded","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InlineAppender","dir","maxLen","propList","propVal","propNameStr","nodeTypes","preFormattedElements","emptyElements","getXhtml","rootNode","includeRootNode","startNewLine","preformatted","xhtml","node","getStyleAttributeValue","stylePairs","cssText","styleValue","nameValueBits","props","childNodes","outerHTML","RegExp","$1","hasPrefix","currentAttr","specified","nodeValue","nodeName","hasChildNodes","childStartNewLine","childPreformatted","endTag","lt","trimmedLines","keys","values","expansionDepth","setDocumentReady","attachEvent","oldOnload","onload","evt","hash","origin","pathname","protocol","search","password","username","port","changeQueryParser","objectTypes","root","freeExports","freeModule","freeGlobal","global","self","maxSafeInteger","pow","reOpera","objectProto","capitalize","string","toUpperCase","forOwn","callback","getClassOf","qualify","reduce","array","accumulator","each","ua","context","isCustomContext","nav","userAgent","isSpecialCasedOS","type","likeChrome","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","operamini","operaClass","arch","prerelease","useFeatures","guess","label","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","unshift","parseFloat","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","process","browser","versions","electron","nw","appMinorVersion","external","family","architecture","cpuClass","webpackPolyfill","deprecate","paths","_init_","options","foo","bar","getState","isMobile","ua_name","mobile","vendor","bsFormClearButton","on","nextAll","removeClass","addClass","logText","defaultOptions","menuOptions","manageDropdownMenu","navbarSticky","eventHandler","action","sendMessage","$getNav","click","preventDefault","hasClass","wrap","postsArr","$postsList","find","html","firstList","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","$getIn","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","$list","eq","fadeIn","clearTimeout","windowHeight","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","timeStart","timeElapsed","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","distance","getBoundingClientRect","documentElement","loop","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","stringContains","applyArguments","func","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","match","map","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","Elastic","amplitude","period","asin","forEach","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","prop","convertPxToUnit","unit","tempEl","parentEl","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","getPathProgress","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","item","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","scope","deferTimer","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","link","onclick","cloneNode","textContent","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","prev","curr","currentHeading","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","stripHash","jump","tabIndex","idx","result_block","title_div","view_result_link","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.Cookies = require('js-cookie');\nwindow.log4javascript = require('log4javascript');\nwindow.liteURL = require('lite-url');\nwindow.platform = require('platform');\n// window.yaml = require('js-yaml'); # NOT longer used/needed\n// window.uuid = require('uuid/v4'); # NOT longer used/needed\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\r\n * Copyright 2015 Tim Down.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n\r\n(function(factory,root){if(typeof define==\"function\"&&define.amd){define(factory);}else if(typeof module!=\"undefined\"&&typeof exports==\"object\"){module.exports=factory();}else{root.log4javascript=factory();}})(function(){if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}\r\nreturn this.length;};}\r\nif(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}\r\nthis.length=this.length-1;return firstItem;}};}\r\nif(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}\r\nvar itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}\r\nreturn itemsDeleted;};}\r\nfunction isUndefined(obj){return typeof obj==\"undefined\";}\r\nfunction EventSupport(){}\r\nEventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(eventTypesParam){if(eventTypesParam instanceof Array){this.eventTypes=eventTypesParam;this.eventListeners={};for(var i=0,len=this.eventTypes.length;i<len;i++){this.eventListeners[this.eventTypes[i]]=[];}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: setEventTypes: eventTypes parameter must be an Array\");}},addEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: no event called '\"+eventType+\"'\");}\r\nthis.eventListeners[eventType].push(listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: listener must be a function\");}},removeEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: no event called '\"+eventType+\"'\");}\r\narray_remove(this.eventListeners[eventType],listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: listener must be a function\");}},dispatchEvent:function(eventType,eventArgs){if(array_contains(this.eventTypes,eventType)){var listeners=this.eventListeners[eventType];for(var i=0,len=listeners.length;i<len;i++){listeners[i](this,eventType,eventArgs);}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: dispatchEvent: no event called '\"+eventType+\"'\");}}};var applicationStartDate=new Date();var uniqueId=\"log4javascript_\"+applicationStartDate.getTime()+\"_\"+\r\nMath.floor(Math.random()*100000000);var emptyFunction=function(){};var newLine=\"\\r\\n\";var pageLoaded=false;function Log4JavaScript(){}\r\nLog4JavaScript.prototype=new EventSupport();var log4javascript=new Log4JavaScript();log4javascript.version=\"1.4.13\";log4javascript.edition=\"log4javascript\";function toStr(obj){if(obj&&obj.toString){return obj.toString();}else{return String(obj);}}\r\nfunction getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return toStr(ex);}}\r\nfunction getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf(\"/\"),url.lastIndexOf(\"\\\\\"));return url.substr(lastSlashIndex+1);}\r\nfunction getExceptionStringRep(ex){if(ex){var exStr=\"Exception: \"+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=\" on line number \"+ex.lineNumber;}\r\nif(ex.fileName){exStr+=\" in file \"+getUrlFileName(ex.fileName);}}catch(localEx){logLog.warn(\"Unable to obtain file and line information for error\");}\r\nif(showStackTraces&&ex.stack){exStr+=newLine+\"Stack trace:\"+newLine+ex.stack;}\r\nreturn exStr;}\r\nreturn null;}\r\nfunction bool(obj){return Boolean(obj);}\r\nfunction trim(str){return str.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\");}\r\nfunction splitIntoLines(text){var text2=text.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return text2.split(\"\\n\");}\r\nvar urlEncode=(typeof window.encodeURIComponent!=\"undefined\")?function(str){return encodeURIComponent(str);}:function(str){return escape(str).replace(/\\+/g,\"%2B\").replace(/\"/g,\"%22\").replace(/'/g,\"%27\").replace(/\\//g,\"%2F\").replace(/=/g,\"%3D\");};function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}\r\nif(index>=0){arr.splice(index,1);return true;}else{return false;}}\r\nfunction array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}\r\nreturn false;}\r\nfunction extractBooleanFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return bool(param);}}\r\nfunction extractStringFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return String(param);}}\r\nfunction extractIntFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{try{var value=parseInt(param,10);return isNaN(value)?defaultValue:value;}catch(ex){logLog.warn(\"Invalid int param \"+param,ex);return defaultValue;}}}\r\nfunction extractFunctionFromParam(param,defaultValue){if(typeof param==\"function\"){return param;}else{return defaultValue;}}\r\nfunction isError(err){return(err instanceof Error);}\r\nif(!Function.prototype.apply){Function.prototype.apply=function(obj,args){var methodName=\"__apply__\";if(typeof obj[methodName]!=\"undefined\"){methodName+=String(Math.random()).substr(2);}\r\nobj[methodName]=this;var argsStrings=[];for(var i=0,len=args.length;i<len;i++){argsStrings[i]=\"args[\"+i+\"]\";}\r\nvar script=\"obj.\"+methodName+\"(\"+argsStrings.join(\",\")+\")\";var returnValue=eval(script);delete obj[methodName];return returnValue;};}\r\nif(!Function.prototype.call){Function.prototype.call=function(obj){var args=[];for(var i=1,len=arguments.length;i<len;i++){args[i-1]=arguments[i];}\r\nreturn this.apply(obj,args);};}\r\nvar logLog={quietMode:false,debugMessages:[],setQuietMode:function(quietMode){this.quietMode=bool(quietMode);},numberOfErrors:0,alertAllErrors:false,setAlertAllErrors:function(alertAllErrors){this.alertAllErrors=alertAllErrors;},debug:function(message){this.debugMessages.push(message);},displayDebug:function(){alert(this.debugMessages.join(newLine));},warn:function(message,exception){},error:function(message,exception){if(++this.numberOfErrors==1||this.alertAllErrors){if(!this.quietMode){var alertMessage=\"log4javascript error: \"+message;if(exception){alertMessage+=newLine+newLine+\"Original error: \"+getExceptionStringRep(exception);}\r\nalert(alertMessage);}}}};log4javascript.logLog=logLog;log4javascript.setEventTypes([\"load\",\"error\"]);function handleError(message,exception){logLog.error(message,exception);log4javascript.dispatchEvent(\"error\",{\"message\":message,\"exception\":exception});}\r\nlog4javascript.handleError=handleError;var enabled=!((typeof log4javascript_disabled!=\"undefined\")&&log4javascript_disabled);log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var useTimeStampsInMilliseconds=true;log4javascript.setTimeStampsInMilliseconds=function(timeStampsInMilliseconds){useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);};log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds;};log4javascript.evalInScope=function(expr){return eval(expr);};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,\"ALL\");Level.TRACE=new Level(10000,\"TRACE\");Level.DEBUG=new Level(20000,\"DEBUG\");Level.INFO=new Level(30000,\"INFO\");Level.WARN=new Level(40000,\"WARN\");Level.ERROR=new Level(50000,\"ERROR\");Level.FATAL=new Level(60000,\"FATAL\");Level.OFF=new Level(Number.MAX_VALUE,\"OFF\");log4javascript.Level=Level;function Timer(name,level){this.name=name;this.level=isUndefined(level)?Level.INFO:level;this.start=new Date();}\r\nTimer.prototype.getElapsedTime=function(){return new Date().getTime()-this.start.getTime();};var anonymousLoggerName=\"[anonymous]\";var defaultLoggerName=\"[default]\";var nullLoggerName=\"[null]\";var rootLoggerName=\"root\";function Logger(name){this.name=name;this.parent=null;this.children=[];var appenders=[];var loggerLevel=null;var isRoot=(this.name===rootLoggerName);var isNull=(this.name===nullLoggerName);var appenderCache=null;var appenderCacheInvalidated=false;this.addChild=function(childLogger){this.children.push(childLogger);childLogger.parent=this;childLogger.invalidateAppenderCache();};var additive=true;this.getAdditivity=function(){return additive;};this.setAdditivity=function(additivity){var valueChanged=(additive!=additivity);additive=additivity;if(valueChanged){this.invalidateAppenderCache();}};this.addAppender=function(appender){if(isNull){handleError(\"Logger.addAppender: you may not add an appender to the null logger\");}else{if(appender instanceof log4javascript.Appender){if(!array_contains(appenders,appender)){appenders.push(appender);appender.setAddedToLogger(this);this.invalidateAppenderCache();}}else{handleError(\"Logger.addAppender: appender supplied ('\"+\r\ntoStr(appender)+\"') is not a subclass of Appender\");}}};this.removeAppender=function(appender){array_remove(appenders,appender);appender.setRemovedFromLogger(this);this.invalidateAppenderCache();};this.removeAllAppenders=function(){var appenderCount=appenders.length;if(appenderCount>0){for(var i=0;i<appenderCount;i++){appenders[i].setRemovedFromLogger(this);}\r\nappenders.length=0;this.invalidateAppenderCache();}};this.getEffectiveAppenders=function(){if(appenderCache===null||appenderCacheInvalidated){var parentEffectiveAppenders=(isRoot||!this.getAdditivity())?[]:this.parent.getEffectiveAppenders();appenderCache=parentEffectiveAppenders.concat(appenders);appenderCacheInvalidated=false;}\r\nreturn appenderCache;};this.invalidateAppenderCache=function(){appenderCacheInvalidated=true;for(var i=0,len=this.children.length;i<len;i++){this.children[i].invalidateAppenderCache();}};this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getEffectiveLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[finalParamIndex];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}\r\nvar messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}\r\nvar loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);this.callAppenders(loggingEvent);}};this.callAppenders=function(loggingEvent){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].doAppend(loggingEvent);}};this.setLevel=function(level){if(isRoot&&level===null){handleError(\"Logger.setLevel: you cannot set the level of the root logger to null\");}else if(level instanceof Level){loggerLevel=level;}else{handleError(\"Logger.setLevel: level supplied to logger \"+\r\nthis.name+\" is not an instance of log4javascript.Level\");}};this.getLevel=function(){return loggerLevel;};this.getEffectiveLevel=function(){for(var logger=this;logger!==null;logger=logger.parent){var level=logger.getLevel();if(level!==null){return level;}}};this.group=function(name,initiallyExpanded){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].group(name,initiallyExpanded);}}};this.groupEnd=function(){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].groupEnd();}}};var timers={};this.time=function(name,level){if(enabled){if(isUndefined(name)){handleError(\"Logger.time: a name for the timer must be supplied\");}else if(level&&!(level instanceof Level)){handleError(\"Logger.time: level supplied to timer \"+\r\nname+\" is not an instance of log4javascript.Level\");}else{timers[name]=new Timer(name,level);}}};this.timeEnd=function(name){if(enabled){if(isUndefined(name)){handleError(\"Logger.timeEnd: a name for the timer must be supplied\");}else if(timers[name]){var timer=timers[name];var milliseconds=timer.getElapsedTime();this.log(timer.level,[\"Timer \"+toStr(name)+\" completed in \"+milliseconds+\"ms\"]);delete timers[name];}else{logLog.warn(\"Logger.timeEnd: no timer found with name \"+name);}}};this.assert=function(expr){if(enabled&&!expr){var args=[];for(var i=1,len=arguments.length;i<len;i++){args.push(arguments[i]);}\r\nargs=(args.length>0)?args:[\"Assertion Failure\"];args.push(newLine);args.push(expr);this.log(Level.ERROR,args);}};this.toString=function(){return\"Logger[\"+this.name+\"]\";};}\r\nLogger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getEffectiveLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};Logger.prototype.trace.isEntryPoint=true;Logger.prototype.debug.isEntryPoint=true;Logger.prototype.info.isEntryPoint=true;Logger.prototype.warn.isEntryPoint=true;Logger.prototype.error.isEntryPoint=true;Logger.prototype.fatal.isEntryPoint=true;var loggers={};var loggerNames=[];var ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG;var rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);log4javascript.getRootLogger=function(){return rootLogger;};log4javascript.getLogger=function(loggerName){if(typeof loggerName!=\"string\"){loggerName=anonymousLoggerName;logLog.warn(\"log4javascript.getLogger: non-string logger name \"+\r\ntoStr(loggerName)+\" supplied, returning anonymous logger\");}\r\nif(loggerName==rootLoggerName){handleError(\"log4javascript.getLogger: root logger may not be obtained by name\");}\r\nif(!loggers[loggerName]){var logger=new Logger(loggerName);loggers[loggerName]=logger;loggerNames.push(loggerName);var lastDotIndex=loggerName.lastIndexOf(\".\");var parentLogger;if(lastDotIndex>-1){var parentLoggerName=loggerName.substring(0,lastDotIndex);parentLogger=log4javascript.getLogger(parentLoggerName);}else{parentLogger=rootLogger;}\r\nparentLogger.addChild(logger);}\r\nreturn loggers[loggerName];};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=createDefaultLogger();}\r\nreturn defaultLogger;};var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger(nullLoggerName);nullLogger.setLevel(Level.OFF);}\r\nreturn nullLogger;};log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);loggers={};};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.timeStampInMilliseconds=timeStamp.getTime();this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1000);this.milliseconds=this.timeStamp.getMilliseconds();this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):\"\";},getCombinedMessages:function(){return(this.messages.length==1)?this.messages[0]:this.messages.join(newLine);},toString:function(){return\"LoggingEvent[\"+this.level+\"]\";}};log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\"},loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\",batchHeader:\"\",batchFooter:\"\",batchSeparator:\"\",returnsPostData:false,overrideTimeStampsSetting:false,useTimeStampsInMilliseconds:null,format:function(){handleError(\"Layout.format: layout supplied has no format() method\");},ignoresThrowable:function(){handleError(\"Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method\");},getContentType:function(){return\"text/plain\";},allowBatching:function(){return true;},setTimeStampsInMilliseconds:function(timeStampsInMilliseconds){this.overrideTimeStampsSetting=true;this.useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds;},getTimeStampValue:function(loggingEvent){return this.isTimeStampsInMilliseconds()?loggingEvent.timeStampInMilliseconds:loggingEvent.timeStampInSeconds;},getDataValues:function(loggingEvent,combineMessages){var dataValues=[[this.loggerKey,loggingEvent.logger.name],[this.timeStampKey,this.getTimeStampValue(loggingEvent)],[this.levelKey,loggingEvent.level.name],[this.urlKey,window.location.href],[this.messageKey,combineMessages?loggingEvent.getCombinedMessages():loggingEvent.messages]];if(!this.isTimeStampsInMilliseconds()){dataValues.push([this.millisecondsKey,loggingEvent.milliseconds]);}\r\nif(loggingEvent.exception){dataValues.push([this.exceptionKey,getExceptionStringRep(loggingEvent.exception)]);}\r\nif(this.hasCustomFields()){for(var i=0,len=this.customFields.length;i<len;i++){var val=this.customFields[i].value;if(typeof val===\"function\"){val=val(this,loggingEvent);}\r\ndataValues.push([this.customFields[i].name,val]);}}\r\nreturn dataValues;},setKeys:function(loggerKey,timeStampKey,levelKey,messageKey,exceptionKey,urlKey,millisecondsKey){this.loggerKey=extractStringFromParam(loggerKey,this.defaults.loggerKey);this.timeStampKey=extractStringFromParam(timeStampKey,this.defaults.timeStampKey);this.levelKey=extractStringFromParam(levelKey,this.defaults.levelKey);this.messageKey=extractStringFromParam(messageKey,this.defaults.messageKey);this.exceptionKey=extractStringFromParam(exceptionKey,this.defaults.exceptionKey);this.urlKey=extractStringFromParam(urlKey,this.defaults.urlKey);this.millisecondsKey=extractStringFromParam(millisecondsKey,this.defaults.millisecondsKey);},setCustomField:function(name,value){var fieldUpdated=false;for(var i=0,len=this.customFields.length;i<len;i++){if(this.customFields[i].name===name){this.customFields[i].value=value;fieldUpdated=true;}}\r\nif(!fieldUpdated){this.customFields.push({\"name\":name,\"value\":value});}},hasCustomFields:function(){return(this.customFields.length>0);},formatWithException:function(loggingEvent){var formatted=this.format(loggingEvent);if(loggingEvent.exception&&this.ignoresThrowable()){formatted+=loggingEvent.getThrowableStrRep();}\r\nreturn formatted;},toString:function(){handleError(\"Layout.toString: all layouts must override this method\");}};log4javascript.Layout=Layout;var Appender=function(){};Appender.prototype=new EventSupport();Appender.prototype.layout=new PatternLayout();Appender.prototype.threshold=Level.ALL;Appender.prototype.loggers=[];Appender.prototype.doAppend=function(loggingEvent){if(enabled&&loggingEvent.level.level>=this.threshold.level){this.append(loggingEvent);}};Appender.prototype.append=function(loggingEvent){};Appender.prototype.setLayout=function(layout){if(layout instanceof Layout){this.layout=layout;}else{handleError(\"Appender.setLayout: layout supplied to \"+\r\nthis.toString()+\" is not a subclass of Layout\");}};Appender.prototype.getLayout=function(){return this.layout;};Appender.prototype.setThreshold=function(threshold){if(threshold instanceof Level){this.threshold=threshold;}else{handleError(\"Appender.setThreshold: threshold supplied to \"+\r\nthis.toString()+\" is not a subclass of Level\");}};Appender.prototype.getThreshold=function(){return this.threshold;};Appender.prototype.setAddedToLogger=function(logger){this.loggers.push(logger);};Appender.prototype.setRemovedFromLogger=function(logger){array_remove(this.loggers,logger);};Appender.prototype.group=emptyFunction;Appender.prototype.groupEnd=emptyFunction;Appender.prototype.toString=function(){handleError(\"Appender.toString: all appenders must override this method\");};log4javascript.Appender=Appender;function SimpleLayout(){this.customFields=[];}\r\nSimpleLayout.prototype=new Layout();SimpleLayout.prototype.format=function(loggingEvent){return loggingEvent.level.name+\" - \"+loggingEvent.getCombinedMessages();};SimpleLayout.prototype.ignoresThrowable=function(){return true;};SimpleLayout.prototype.toString=function(){return\"SimpleLayout\";};log4javascript.SimpleLayout=SimpleLayout;function NullLayout(){this.customFields=[];}\r\nNullLayout.prototype=new Layout();NullLayout.prototype.format=function(loggingEvent){return loggingEvent.messages;};NullLayout.prototype.ignoresThrowable=function(){return true;};NullLayout.prototype.formatWithException=function(loggingEvent){var messages=loggingEvent.messages,ex=loggingEvent.exception;return ex?messages.concat([ex]):messages;};NullLayout.prototype.toString=function(){return\"NullLayout\";};log4javascript.NullLayout=NullLayout;function XmlLayout(combineMessages){this.combineMessages=extractBooleanFromParam(combineMessages,true);this.customFields=[];}\r\nXmlLayout.prototype=new Layout();XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};XmlLayout.prototype.getContentType=function(){return\"text/xml\";};XmlLayout.prototype.escapeCdata=function(str){return str.replace(/\\]\\]>/,\"]]>]]><![CDATA[\");};XmlLayout.prototype.format=function(loggingEvent){var layout=this;var i,len;function formatMessage(message){message=(typeof message===\"string\")?message:toStr(message);return\"<log4javascript:message><![CDATA[\"+\r\nlayout.escapeCdata(message)+\"]]></log4javascript:message>\";}\r\nvar str=\"<log4javascript:event logger=\\\"\"+loggingEvent.logger.name+\"\\\" timestamp=\\\"\"+this.getTimeStampValue(loggingEvent)+\"\\\"\";if(!this.isTimeStampsInMilliseconds()){str+=\" milliseconds=\\\"\"+loggingEvent.milliseconds+\"\\\"\";}\r\nstr+=\" level=\\\"\"+loggingEvent.level.name+\"\\\">\"+newLine;if(this.combineMessages){str+=formatMessage(loggingEvent.getCombinedMessages());}else{str+=\"<log4javascript:messages>\"+newLine;for(i=0,len=loggingEvent.messages.length;i<len;i++){str+=formatMessage(loggingEvent.messages[i])+newLine;}\r\nstr+=\"</log4javascript:messages>\"+newLine;}\r\nif(this.hasCustomFields()){for(i=0,len=this.customFields.length;i<len;i++){str+=\"<log4javascript:customfield name=\\\"\"+\r\nthis.customFields[i].name+\"\\\"><![CDATA[\"+\r\nthis.customFields[i].value.toString()+\"]]></log4javascript:customfield>\"+newLine;}}\r\nif(loggingEvent.exception){str+=\"<log4javascript:exception><![CDATA[\"+\r\ngetExceptionStringRep(loggingEvent.exception)+\"]]></log4javascript:exception>\"+newLine;}\r\nstr+=\"</log4javascript:event>\"+newLine+newLine;return str;};XmlLayout.prototype.ignoresThrowable=function(){return false;};XmlLayout.prototype.toString=function(){return\"XmlLayout\";};log4javascript.XmlLayout=XmlLayout;function escapeNewLines(str){return str.replace(/\\r\\n|\\r|\\n/g,\"\\\\r\\\\n\");}\r\nfunction JsonLayout(readable,combineMessages){this.readable=extractBooleanFromParam(readable,false);this.combineMessages=extractBooleanFromParam(combineMessages,true);this.batchHeader=this.readable?\"[\"+newLine:\"[\";this.batchFooter=this.readable?\"]\"+newLine:\"]\";this.batchSeparator=this.readable?\",\"+newLine:\",\";this.setKeys();this.colon=this.readable?\": \":\":\";this.tab=this.readable?\"\\t\":\"\";this.lineBreak=this.readable?newLine:\"\";this.customFields=[];}\r\nJsonLayout.prototype=new Layout();JsonLayout.prototype.isReadable=function(){return this.readable;};JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};JsonLayout.prototype.format=function(loggingEvent){var layout=this;var dataValues=this.getDataValues(loggingEvent,this.combineMessages);var str=\"{\"+this.lineBreak;var i,len;function formatValue(val,prefix,expand){var formattedValue;var valType=typeof val;if(val instanceof Date){formattedValue=String(val.getTime());}else if(expand&&(val instanceof Array)){formattedValue=\"[\"+layout.lineBreak;for(var i=0,len=val.length;i<len;i++){var childPrefix=prefix+layout.tab;formattedValue+=childPrefix+formatValue(val[i],childPrefix,false);if(i<val.length-1){formattedValue+=\",\";}\r\nformattedValue+=layout.lineBreak;}\r\nformattedValue+=prefix+\"]\";}else if(valType!==\"number\"&&valType!==\"boolean\"){formattedValue=\"\\\"\"+escapeNewLines(toStr(val).replace(/\\\"/g,\"\\\\\\\"\"))+\"\\\"\";}else{formattedValue=val;}\r\nreturn formattedValue;}\r\nfor(i=0,len=dataValues.length-1;i<=len;i++){str+=this.tab+\"\\\"\"+dataValues[i][0]+\"\\\"\"+this.colon+formatValue(dataValues[i][1],this.tab,true);if(i<len){str+=\",\";}\r\nstr+=this.lineBreak;}\r\nstr+=\"}\"+this.lineBreak;return str;};JsonLayout.prototype.ignoresThrowable=function(){return false;};JsonLayout.prototype.toString=function(){return\"JsonLayout\";};JsonLayout.prototype.getContentType=function(){return\"application/json\";};log4javascript.JsonLayout=JsonLayout;function HttpPostDataLayout(){this.setKeys();this.customFields=[];this.returnsPostData=true;}\r\nHttpPostDataLayout.prototype=new Layout();HttpPostDataLayout.prototype.allowBatching=function(){return false;};HttpPostDataLayout.prototype.format=function(loggingEvent){var dataValues=this.getDataValues(loggingEvent);var queryBits=[];for(var i=0,len=dataValues.length;i<len;i++){var val=(dataValues[i][1]instanceof Date)?String(dataValues[i][1].getTime()):dataValues[i][1];queryBits.push(urlEncode(dataValues[i][0])+\"=\"+urlEncode(val));}\r\nreturn queryBits.join(\"&\");};HttpPostDataLayout.prototype.ignoresThrowable=function(loggingEvent){return false;};HttpPostDataLayout.prototype.toString=function(){return\"HttpPostDataLayout\";};log4javascript.HttpPostDataLayout=HttpPostDataLayout;function formatObjectExpansion(obj,depth,indentation){var objectsExpanded=[];function doFormat(obj,depth,indentation){var i,len,childDepth,childIndentation,childLines,expansion,childExpansion;if(!indentation){indentation=\"\";}\r\nfunction formatString(text){var lines=splitIntoLines(text);for(var j=1,jLen=lines.length;j<jLen;j++){lines[j]=indentation+lines[j];}\r\nreturn lines.join(newLine);}\r\nif(obj===null){return\"null\";}else if(typeof obj==\"undefined\"){return\"undefined\";}else if(typeof obj==\"string\"){return formatString(obj);}else if(typeof obj==\"object\"&&array_contains(objectsExpanded,obj)){try{expansion=toStr(obj);}catch(ex){expansion=\"Error formatting property. Details: \"+getExceptionStringRep(ex);}\r\nreturn expansion+\" [already expanded]\";}else if((obj instanceof Array)&&depth>0){objectsExpanded.push(obj);expansion=\"[\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i=0,len=obj.length;i<len;i++){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+childExpansion);}catch(ex){childLines.push(childIndentation+\"Error formatting array member. Details: \"+\r\ngetExceptionStringRep(ex)+\"\");}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"]\";return expansion;}else if(Object.prototype.toString.call(obj)==\"[object Date]\"){return obj.toString();}else if(typeof obj==\"object\"&&depth>0){objectsExpanded.push(obj);expansion=\"{\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i in obj){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+i+\": \"+childExpansion);}catch(ex){childLines.push(childIndentation+i+\": Error formatting property. Details: \"+\r\ngetExceptionStringRep(ex));}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"}\";return expansion;}else{return formatString(toStr(obj));}}\r\nreturn doFormat(obj,depth,indentation);}\r\nvar SimpleDateFormat;(function(){var regex=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/;var monthNames=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];var dayNames=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var TEXT2=0,TEXT3=1,NUMBER=2,YEAR=3,MONTH=4,TIMEZONE=5;var types={G:TEXT2,y:YEAR,M:MONTH,w:NUMBER,W:NUMBER,D:NUMBER,d:NUMBER,F:NUMBER,E:TEXT3,a:TEXT2,H:NUMBER,k:NUMBER,K:NUMBER,h:NUMBER,m:NUMBER,s:NUMBER,S:NUMBER,Z:TIMEZONE};var ONE_DAY=24*60*60*1000;var ONE_WEEK=7*ONE_DAY;var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK=1;var newDateAtMidnight=function(year,month,day){var d=new Date(year,month,day,0,0,0);d.setMilliseconds(0);return d;};Date.prototype.getDifference=function(date){return this.getTime()-date.getTime();};Date.prototype.isBefore=function(d){return this.getTime()<d.getTime();};Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());};Date.prototype.getTimeSince=function(d){return this.getUTCTime()-d.getUTCTime();};Date.prototype.getPreviousSunday=function(){var midday=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0);var previousSunday=new Date(midday.getTime()-this.getDay()*ONE_DAY);return newDateAtMidnight(previousSunday.getFullYear(),previousSunday.getMonth(),previousSunday.getDate());};Date.prototype.getWeekInYear=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);var numberOfSundays=previousSunday.isBefore(startOfYear)?0:1+Math.floor(previousSunday.getTimeSince(startOfYear)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfYear.getDay();var weekInYear=numberOfSundays;if(numberOfDaysInFirstWeek<minimalDaysInFirstWeek){weekInYear--;}\r\nreturn weekInYear;};Date.prototype.getWeekInMonth=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfMonth=newDateAtMidnight(this.getFullYear(),this.getMonth(),1);var numberOfSundays=previousSunday.isBefore(startOfMonth)?0:1+Math.floor(previousSunday.getTimeSince(startOfMonth)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfMonth.getDay();var weekInMonth=numberOfSundays;if(numberOfDaysInFirstWeek>=minimalDaysInFirstWeek){weekInMonth++;}\r\nreturn weekInMonth;};Date.prototype.getDayInYear=function(){var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(startOfYear)/ONE_DAY);};SimpleDateFormat=function(formatString){this.formatString=formatString;};SimpleDateFormat.prototype.setMinimalDaysInFirstWeek=function(days){this.minimalDaysInFirstWeek=days;};SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK:this.minimalDaysInFirstWeek;};var padWithZeroes=function(str,len){while(str.length<len){str=\"0\"+str;}\r\nreturn str;};var formatText=function(data,numberOfLetters,minLength){return(numberOfLetters>=4)?data:data.substr(0,Math.max(minLength,numberOfLetters));};var formatNumber=function(data,numberOfLetters){var dataString=\"\"+data;return padWithZeroes(dataString,numberOfLetters);};SimpleDateFormat.prototype.format=function(date){var formattedString=\"\";var result;var searchString=this.formatString;while((result=regex.exec(searchString))){var quotedString=result[1];var patternLetters=result[2];var otherLetters=result[3];var otherCharacters=result[4];if(quotedString){if(quotedString==\"''\"){formattedString+=\"'\";}else{formattedString+=quotedString.substring(1,quotedString.length-1);}}else if(otherLetters){}else if(otherCharacters){formattedString+=otherCharacters;}else if(patternLetters){var patternLetter=patternLetters.charAt(0);var numberOfLetters=patternLetters.length;var rawData=\"\";switch(patternLetter){case\"G\":rawData=\"AD\";break;case\"y\":rawData=date.getFullYear();break;case\"M\":rawData=date.getMonth();break;case\"w\":rawData=date.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case\"W\":rawData=date.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case\"D\":rawData=date.getDayInYear();break;case\"d\":rawData=date.getDate();break;case\"F\":rawData=1+Math.floor((date.getDate()-1)/7);break;case\"E\":rawData=dayNames[date.getDay()];break;case\"a\":rawData=(date.getHours()>=12)?\"PM\":\"AM\";break;case\"H\":rawData=date.getHours();break;case\"k\":rawData=date.getHours()||24;break;case\"K\":rawData=date.getHours()%12;break;case\"h\":rawData=(date.getHours()%12)||12;break;case\"m\":rawData=date.getMinutes();break;case\"s\":rawData=date.getSeconds();break;case\"S\":rawData=date.getMilliseconds();break;case\"Z\":rawData=date.getTimezoneOffset();break;}\r\nswitch(types[patternLetter]){case TEXT2:formattedString+=formatText(rawData,numberOfLetters,2);break;case TEXT3:formattedString+=formatText(rawData,numberOfLetters,3);break;case NUMBER:formattedString+=formatNumber(rawData,numberOfLetters);break;case YEAR:if(numberOfLetters<=3){var dataString=\"\"+rawData;formattedString+=dataString.substr(2,2);}else{formattedString+=formatNumber(rawData,numberOfLetters);}\r\nbreak;case MONTH:if(numberOfLetters>=3){formattedString+=formatText(monthNames[rawData],numberOfLetters,numberOfLetters);}else{formattedString+=formatNumber(rawData+1,numberOfLetters);}\r\nbreak;case TIMEZONE:var isPositive=(rawData>0);var prefix=isPositive?\"-\":\"+\";var absData=Math.abs(rawData);var hours=\"\"+Math.floor(absData/60);hours=padWithZeroes(hours,2);var minutes=\"\"+(absData%60);minutes=padWithZeroes(minutes,2);formattedString+=prefix+hours+minutes;break;}}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};})();log4javascript.SimpleDateFormat=SimpleDateFormat;function PatternLayout(pattern){if(pattern){this.pattern=pattern;}else{this.pattern=PatternLayout.DEFAULT_CONVERSION_PATTERN;}\r\nthis.customFields=[];}\r\nPatternLayout.TTCC_CONVERSION_PATTERN=\"%r %p %c - %m%n\";PatternLayout.DEFAULT_CONVERSION_PATTERN=\"%m%n\";PatternLayout.ISO8601_DATEFORMAT=\"yyyy-MM-dd HH:mm:ss,SSS\";PatternLayout.DATETIME_DATEFORMAT=\"dd MMM yyyy HH:mm:ss,SSS\";PatternLayout.ABSOLUTETIME_DATEFORMAT=\"HH:mm:ss,SSS\";PatternLayout.prototype=new Layout();PatternLayout.prototype.format=function(loggingEvent){var regex=/%(-?[0-9]+)?(\\.?[0-9]+)?([acdfmMnpr%])(\\{([^\\}]+)\\})?|([^%]+)/;var formattedString=\"\";var result;var searchString=this.pattern;while((result=regex.exec(searchString))){var matchedString=result[0];var padding=result[1];var truncation=result[2];var conversionCharacter=result[3];var specifier=result[5];var text=result[6];if(text){formattedString+=\"\"+text;}else{var replacement=\"\";switch(conversionCharacter){case\"a\":case\"m\":var depth=0;if(specifier){depth=parseInt(specifier,10);if(isNaN(depth)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character '\"+conversionCharacter+\"' - should be a number\");depth=0;}}\r\nvar messages=(conversionCharacter===\"a\")?loggingEvent.messages[0]:loggingEvent.messages;for(var i=0,len=messages.length;i<len;i++){if(i>0&&(replacement.charAt(replacement.length-1)!==\" \")){replacement+=\" \";}\r\nif(depth===0){replacement+=messages[i];}else{replacement+=formatObjectExpansion(messages[i],depth);}}\r\nbreak;case\"c\":var loggerName=loggingEvent.logger.name;if(specifier){var precision=parseInt(specifier,10);var loggerNameBits=loggingEvent.logger.name.split(\".\");if(precision>=loggerNameBits.length){replacement=loggerName;}else{replacement=loggerNameBits.slice(loggerNameBits.length-precision).join(\".\");}}else{replacement=loggerName;}\r\nbreak;case\"d\":var dateFormat=PatternLayout.ISO8601_DATEFORMAT;if(specifier){dateFormat=specifier;if(dateFormat==\"ISO8601\"){dateFormat=PatternLayout.ISO8601_DATEFORMAT;}else if(dateFormat==\"ABSOLUTE\"){dateFormat=PatternLayout.ABSOLUTETIME_DATEFORMAT;}else if(dateFormat==\"DATE\"){dateFormat=PatternLayout.DATETIME_DATEFORMAT;}}\r\nreplacement=(new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp);break;case\"f\":if(this.hasCustomFields()){var fieldIndex=0;if(specifier){fieldIndex=parseInt(specifier,10);if(isNaN(fieldIndex)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - should be a number\");}else if(fieldIndex===0){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - must be greater than zero\");}else if(fieldIndex>this.customFields.length){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - there aren't that many custom fields\");}else{fieldIndex=fieldIndex-1;}}\r\nvar val=this.customFields[fieldIndex].value;if(typeof val==\"function\"){val=val(this,loggingEvent);}\r\nreplacement=val;}\r\nbreak;case\"n\":replacement=newLine;break;case\"p\":replacement=loggingEvent.level.name;break;case\"r\":replacement=\"\"+loggingEvent.timeStamp.getDifference(applicationStartDate);break;case\"%\":replacement=\"%\";break;default:replacement=matchedString;break;}\r\nvar l;if(truncation){l=parseInt(truncation.substr(1),10);var strLen=replacement.length;if(l<strLen){replacement=replacement.substring(strLen-l,strLen);}}\r\nif(padding){if(padding.charAt(0)==\"-\"){l=parseInt(padding.substr(1),10);while(replacement.length<l){replacement+=\" \";}}else{l=parseInt(padding,10);while(replacement.length<l){replacement=\" \"+replacement;}}}\r\nformattedString+=replacement;}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};PatternLayout.prototype.ignoresThrowable=function(){return true;};PatternLayout.prototype.toString=function(){return\"PatternLayout\";};log4javascript.PatternLayout=PatternLayout;function AlertAppender(){}\r\nAlertAppender.prototype=new Appender();AlertAppender.prototype.layout=new SimpleLayout();AlertAppender.prototype.append=function(loggingEvent){alert(this.getLayout().formatWithException(loggingEvent));};AlertAppender.prototype.toString=function(){return\"AlertAppender\";};log4javascript.AlertAppender=AlertAppender;function BrowserConsoleAppender(){}\r\nBrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(concatenate){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);return(typeof formattedMessage==\"string\")?(concatenate?formattedMessage:[formattedMessage]):(concatenate?formattedMessage.join(\" \"):formattedMessage);};var console=window.console;if(console&&console.log){var consoleMethodName;if(console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){consoleMethodName=\"debug\";}else if(console.info&&Level.INFO.equals(loggingEvent.level)){consoleMethodName=\"info\";}else if(console.warn&&Level.WARN.equals(loggingEvent.level)){consoleMethodName=\"warn\";}else if(console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){consoleMethodName=\"error\";}else{consoleMethodName=\"log\";}\r\nif(typeof console[consoleMethodName].apply==\"function\"){console[consoleMethodName].apply(console,getFormattedMessage(false));}else{console[consoleMethodName](getFormattedMessage(true));}}else if((typeof opera!=\"undefined\")&&opera.postError){opera.postError(getFormattedMessage(true));}};BrowserConsoleAppender.prototype.group=function(name){if(window.console&&window.console.group){window.console.group(name);}};BrowserConsoleAppender.prototype.groupEnd=function(){if(window.console&&window.console.groupEnd){window.console.groupEnd();}};BrowserConsoleAppender.prototype.toString=function(){return\"BrowserConsoleAppender\";};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest();};var xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject(\"Msxml2.XMLHTTP\");},function(){return new ActiveXObject(\"Microsoft.XMLHTTP\");}];var withCredentialsSupported=false;var getXmlHttp=function(errorHandler){var xmlHttp=null,factory;for(var i=0,len=xmlHttpFactories.length;i<len;i++){factory=xmlHttpFactories[i];try{xmlHttp=factory();withCredentialsSupported=(factory==xhrFactory&&(\"withCredentials\"in xmlHttp));getXmlHttp=factory;return xmlHttp;}catch(e){}}\r\nif(errorHandler){errorHandler();}else{handleError(\"getXmlHttp: unable to obtain XMLHttpRequest object\");}};function isHttpRequestSuccessful(xmlHttp){return isUndefined(xmlHttp.status)||xmlHttp.status===0||(xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==1223;}\r\nfunction AjaxAppender(url,withCredentials){var appender=this;var isSupported=true;if(!url){handleError(\"AjaxAppender: URL must be specified in constructor\");isSupported=false;}\r\nvar timed=this.defaults.timed;var waitForResponse=this.defaults.waitForResponse;var batchSize=this.defaults.batchSize;var timerInterval=this.defaults.timerInterval;var requestSuccessCallback=this.defaults.requestSuccessCallback;var failCallback=this.defaults.failCallback;var postVarName=this.defaults.postVarName;var sendAllOnUnload=this.defaults.sendAllOnUnload;var contentType=this.defaults.contentType;var sessionId=null;var queuedLoggingEvents=[];var queuedRequests=[];var headers=[];var sending=false;var initialized=false;function checkCanConfigure(configOptionName){if(initialized){handleError(\"AjaxAppender: configuration option '\"+\r\nconfigOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;}\r\nthis.getSessionId=function(){return sessionId;};this.setSessionId=function(sessionIdParam){sessionId=extractStringFromParam(sessionIdParam,null);this.layout.setCustomField(\"sessionid\",sessionId);};this.setLayout=function(layoutParam){if(checkCanConfigure(\"layout\")){this.layout=layoutParam;if(sessionId!==null){this.setSessionId(sessionId);}}};this.isTimed=function(){return timed;};this.setTimed=function(timedParam){if(checkCanConfigure(\"timed\")){timed=bool(timedParam);}};this.getTimerInterval=function(){return timerInterval;};this.setTimerInterval=function(timerIntervalParam){if(checkCanConfigure(\"timerInterval\")){timerInterval=extractIntFromParam(timerIntervalParam,timerInterval);}};this.isWaitForResponse=function(){return waitForResponse;};this.setWaitForResponse=function(waitForResponseParam){if(checkCanConfigure(\"waitForResponse\")){waitForResponse=bool(waitForResponseParam);}};this.getBatchSize=function(){return batchSize;};this.setBatchSize=function(batchSizeParam){if(checkCanConfigure(\"batchSize\")){batchSize=extractIntFromParam(batchSizeParam,batchSize);}};this.isSendAllOnUnload=function(){return sendAllOnUnload;};this.setSendAllOnUnload=function(sendAllOnUnloadParam){if(checkCanConfigure(\"sendAllOnUnload\")){sendAllOnUnload=extractBooleanFromParam(sendAllOnUnloadParam,sendAllOnUnload);}};this.setRequestSuccessCallback=function(requestSuccessCallbackParam){requestSuccessCallback=extractFunctionFromParam(requestSuccessCallbackParam,requestSuccessCallback);};this.setFailCallback=function(failCallbackParam){failCallback=extractFunctionFromParam(failCallbackParam,failCallback);};this.getPostVarName=function(){return postVarName;};this.setPostVarName=function(postVarNameParam){if(checkCanConfigure(\"postVarName\")){postVarName=extractStringFromParam(postVarNameParam,postVarName);}};this.getHeaders=function(){return headers;};this.addHeader=function(name,value){if(name.toLowerCase()==\"content-type\"){contentType=value;}else{headers.push({name:name,value:value});}};function sendAll(){if(isSupported&&enabled){sending=true;var currentRequestBatch;if(waitForResponse){if(queuedRequests.length>0){currentRequestBatch=queuedRequests.shift();sendRequest(preparePostData(currentRequestBatch),sendAll);}else{sending=false;if(timed){scheduleSending();}}}else{while((currentRequestBatch=queuedRequests.shift())){sendRequest(preparePostData(currentRequestBatch));}\r\nsending=false;if(timed){scheduleSending();}}}}\r\nthis.sendAll=sendAll;function sendAllRemaining(){var sendingAnything=false;if(isSupported&&enabled){var actualBatchSize=appender.getLayout().allowBatching()?batchSize:1;var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);if(queuedLoggingEvents.length>=actualBatchSize){queuedRequests.push(batchedLoggingEvents);batchedLoggingEvents=[];}}\r\nif(batchedLoggingEvents.length>0){queuedRequests.push(batchedLoggingEvents);}\r\nsendingAnything=(queuedRequests.length>0);waitForResponse=false;timed=false;sendAll();}\r\nreturn sendingAnything;}\r\nthis.sendAllRemaining=sendAllRemaining;function preparePostData(batchedLoggingEvents){var formattedMessages=[];var currentLoggingEvent;var postData=\"\";while((currentLoggingEvent=batchedLoggingEvents.shift())){formattedMessages.push(appender.getLayout().formatWithException(currentLoggingEvent));}\r\nif(batchedLoggingEvents.length==1){postData=formattedMessages.join(\"\");}else{postData=appender.getLayout().batchHeader+\r\nformattedMessages.join(appender.getLayout().batchSeparator)+\r\nappender.getLayout().batchFooter;}\r\nif(contentType==appender.defaults.contentType){postData=appender.getLayout().returnsPostData?postData:urlEncode(postVarName)+\"=\"+urlEncode(postData);if(postData.length>0){postData+=\"&\";}\r\npostData+=\"layout=\"+urlEncode(appender.getLayout().toString());}\r\nreturn postData;}\r\nfunction scheduleSending(){window.setTimeout(sendAll,timerInterval);}\r\nfunction xmlHttpErrorHandler(){var msg=\"AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}}\r\nfunction sendRequest(postData,successCallback){try{var xmlHttp=getXmlHttp(xmlHttpErrorHandler);if(isSupported){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(isHttpRequestSuccessful(xmlHttp)){if(requestSuccessCallback){requestSuccessCallback(xmlHttp);}\r\nif(successCallback){successCallback(xmlHttp);}}else{var msg=\"AjaxAppender.append: XMLHttpRequest request to URL \"+\r\nurl+\" returned status code \"+xmlHttp.status;handleError(msg);if(failCallback){failCallback(msg);}}\r\nxmlHttp.onreadystatechange=emptyFunction;xmlHttp=null;}};xmlHttp.open(\"POST\",url,true);if(withCredentials&&withCredentialsSupported){xmlHttp.withCredentials=true;}\r\ntry{for(var i=0,header;header=headers[i++];){xmlHttp.setRequestHeader(header.name,header.value);}\r\nxmlHttp.setRequestHeader(\"Content-Type\",contentType);}catch(headerEx){var msg=\"AjaxAppender.append: your browser's XMLHttpRequest implementation\"+\" does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}\r\nreturn;}\r\nxmlHttp.send(postData);}}catch(ex){var errMsg=\"AjaxAppender.append: error sending log message to \"+url;handleError(errMsg,ex);isSupported=false;if(failCallback){failCallback(errMsg+\". Details: \"+getExceptionStringRep(ex));}}}\r\nthis.append=function(loggingEvent){if(isSupported){if(!initialized){init();}\r\nqueuedLoggingEvents.push(loggingEvent);var actualBatchSize=this.getLayout().allowBatching()?batchSize:1;if(queuedLoggingEvents.length>=actualBatchSize){var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);}\r\nqueuedRequests.push(batchedLoggingEvents);if(!timed&&(!waitForResponse||(waitForResponse&&!sending))){sendAll();}}}};function init(){initialized=true;if(sendAllOnUnload){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){if(oldBeforeUnload){oldBeforeUnload();}\r\nsendAllRemaining();};}\r\nif(timed){scheduleSending();}}}\r\nAjaxAppender.prototype=new Appender();AjaxAppender.prototype.defaults={waitForResponse:false,timed:false,timerInterval:1000,batchSize:1,sendAllOnUnload:false,requestSuccessCallback:null,failCallback:null,postVarName:\"data\",contentType:\"application/x-www-form-urlencoded\"};AjaxAppender.prototype.layout=new HttpPostDataLayout();AjaxAppender.prototype.toString=function(){return\"AjaxAppender\";};log4javascript.AjaxAppender=AjaxAppender;function setCookie(name,value,days,path){var expires;path=path?\"; path=\"+path:\"\";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();}else{expires=\"\";}\r\ndocument.cookie=escape(name)+\"=\"+escape(value)+expires+path;}\r\nfunction getCookie(name){var nameEquals=escape(name)+\"=\";var ca=document.cookie.split(\";\");for(var i=0,len=ca.length;i<len;i++){var c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1,c.length);}\r\nif(c.indexOf(nameEquals)===0){return unescape(c.substring(nameEquals.length,c.length));}}\r\nreturn null;}\r\nfunction getBaseUrl(){var scripts=document.getElementsByTagName(\"script\");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf(\"log4javascript\")!=-1){var lastSlash=scripts[i].src.lastIndexOf(\"/\");return(lastSlash==-1)?\"\":scripts[i].src.substr(0,lastSlash+1);}}\r\nreturn null;}\r\nfunction isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}\r\nvar ConsoleAppender;(function(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">','<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">','<head>','<title>log4javascript</title>','<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />','<script type=\"text/javascript\">var isIe = false, isIePre7 = false;</script>','<!--[if IE]><script type=\"text/javascript\">isIe = true</script><![endif]-->','<!--[if lt IE 7]><script type=\"text/javascript\">isIePre7 = true</script><![endif]-->','<script type=\"text/javascript\">','//<![CDATA[','var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}','function LogItem(){}','LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}','this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}','this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}','if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}','if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}','LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"separator\";this.mainDiv.innerHTML=\" \";}','SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}','Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement(\"div\"));this.contentDiv.id=this.isWrapped?\"log_wrapped\":\"log_unwrapped\";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"group\";this.headingDiv=this.mainDiv.appendChild(document.createElement(\"div\"));this.headingDiv.className=\"groupheading\";this.expander=this.headingDiv.appendChild(document.createElement(\"span\"));this.expander.className=\"expander unselectable greyedout\";this.expander.unselectable=true;var expanderText=this.group.expanded?\"-\":\"+\";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(\" \"+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement(\"div\"));var contentCssClass=this.group.expanded?\"expanded\":\"collapsed\";this.contentDiv.className=\"groupcontent \"+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass=\"expanded\";oldCssClass=\"collapsed\";expanderText=\"-\";}else{newCssClass=\"collapsed\";oldCssClass=\"expanded\";expanderText=\"+\";}','replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}','while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,\"greyedout\");}else{addClass(this.expander,\"greyedout\");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML=\"\";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}','Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}','this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}','this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}','this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}','this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}','if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}','LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?\"searchnonmatch\":\"searchmatch\";var newCssClass=isMatch?\"searchmatch\":\"searchnonmatch\";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,\"searchmatch\");removeClass(this.mainDiv,\"searchnonmatch\");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className=\"logentry wrapped \"+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry unwrapped \"+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement(\"pre\"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className=\"unwrapped\";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry nonielogentry \"+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement(\"span\"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}','LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}','LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\\\r\\\\n/g,\"\\\\r\");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\\\r\\\\n/g,\"\\\\r\");}','for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}','this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,\"searchterm\",\"span\");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}','return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}','LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}','GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split(\"&\"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split(\"=\");if(nameValueBits[0]==\"log4javascript_domain\"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$(\"log\");if(isIePre7){addClass(logMainContainer,\"oldIe\");}','rootGroup=new Group(\"root\",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$(\"command\").value=\"\";$(\"command\").autocomplete=\"off\";$(\"command\").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value=\"\";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$(\"command\").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$(\"command\").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}','break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}','break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}','break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}','appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($(\"enableLogging\").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','var appender=null;function setAppender(appenderParam){appender=appenderParam;}','function setShowCloseButton(showCloseButton){$(\"closeButton\").style.display=showCloseButton?\"inline\":\"none\";}','function setShowHideButton(showHideButton){$(\"hideButton\").style.display=showHideButton?\"inline\":\"none\";}','var newestAtTop=false;function LogItemContentReverser(){}','LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}','matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}','currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}','$(\"newestAtTop\").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$(\"newestAtTop\").checked;setNewestAtTop(isNewestAtTop);}','var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}','$(\"scrollToLatest\").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$(\"scrollToLatest\").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!=\"undefined\"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}','var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}','var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}','var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$(\"commandLine\").style.display=showCommandLine?\"block\":\"none\";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$(\"command\").focus();}}','function focusSearch(){if(loaded){$(\"searchBox\").focus();}}','function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}','return items;}','function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}','loggingEnabled=loggingReallyEnabled;}','function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}','if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}','displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}','if(scrollToLatest){doScrollToLatest();}','unrenderedLogItemsExist=false;}','function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}','var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}','logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}','return false;}','function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded===\"undefined\")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}','function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}','function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}','function hide(){if(appender&&mainWindowExists()){appender.hide();}}','var mainWindow=window;var windowId=\"log4javascriptConsoleWindow_\"+new Date().getTime()+\"_\"+(\"\"+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}','function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}','function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}','return false;}','var logLevels=[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"];function getCheckBox(logLevel){return $(\"switch_\"+logLevel);}','function getIeWrappedLogContainer(){return $(\"log_wrapped\");}','function getIeUnwrappedLogContainer(){return $(\"log_unwrapped\");}','function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}','updateSearchFromFilters();}','function toggleAllLevels(){var turnOn=$(\"switch_ALL\").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox(\"ALL\").checked=false;return;}}','getCheckBox(\"ALL\").checked=true;}','function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}','function toggleWrap(){var enable=$(\"wrap\").checked;if(enable){addClass(logMainContainer,\"wrap\");}else{removeClass(logMainContainer,\"wrap\");}','refreshCurrentMatch();}','var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}','searchTimer=setTimeout(doSearch,500);}','function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}','Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}','return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}','return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}','for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}','return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}','for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}','return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag=\"<span class=\\\\\\\"searchterm\\\\\\\">\";var searchTermReplacementEndTag=\"<\"+\"/span>\";var preTagName=isIe?\"pre\":\"span\";var preStartTag=\"<\"+preTagName+\" class=\\\\\\\"pre\\\\\\\">\";var preEndTag=\"<\"+\"/\"+preTagName+\">\";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?\"g\":\"gi\";var capturingRegex=new RegExp(\"(\"+this.searchRegex.source+\")\",flags);var rnd=(\"\"+Math.random()).substr(2);var startToken=\"%%s\"+rnd+\"%%\";var endToken=\"%%e\"+rnd+\"%%\";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+\"$1\"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent=\"\";wrappedLogEntryContent=\"\";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+','preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=endTokenIndex+endToken.length;}','logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent=\"\";wrappedLogEntryContent=\"\";var searchTermReplacementLength=searchTermReplacementStartTag.length+','this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+','preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=searchIndex+searchTermLength;}','var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}','logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}','return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}','var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}','for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}','if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}','setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&¤tEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}','return y;}','function scrollIntoView(el){var logContainer=logMainContainer;if(!$(\"wrap\").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}','var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}','function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}','this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}','Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,\"currentmatch\");addClass(this.spanInWrappedDiv,\"currentmatch\");var elementToScroll=$(\"wrap\").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,\"currentmatch\");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,\"currentmatch\");removeClass(this.spanInWrappedDiv,\"currentmatch\");}else{removeClass(this.spanInMainDiv,\"currentmatch\");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$(\"searchBox\");var searchTerm=searchBox.value;var isRegex=$(\"searchRegex\").checked;var isCaseSensitive=$(\"searchCaseSensitive\").checked;var i;if(searchTerm===\"\"){$(\"searchReset\").disabled=true;$(\"searchNav\").style.display=\"none\";removeClass(document.body,\"searching\");removeClass(searchBox,\"hasmatches\");removeClass(searchBox,\"nomatches\");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$(\"searchReset\").disabled=false;$(\"searchNav\").style.display=\"block\";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,\"g\"):new RegExp(searchTerm,\"gi\");regexValid=true;replaceClass(searchBox,\"validregex\",\"invalidregex\");searchBox.title=\"Valid regex\";}catch(ex){regexValid=false;replaceClass(searchBox,\"invalidregex\",\"validregex\");searchBox.title=\"Invalid regex: \"+(ex.message?ex.message:(ex.description?ex.description:\"unknown error\"));return;}}else{searchBox.title=\"\";removeClass(searchBox,\"validregex\");removeClass(searchBox,\"invalidregex\");}','addClass(document.body,\"searching\");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}','setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}','function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}','var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}','function refreshCurrentMatch(){if(currentSearch&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}','function displayMatches(){replaceClass($(\"searchBox\"),\"hasmatches\",\"nomatches\");$(\"searchBox\").title=\"\"+currentSearch.matches.length+\" matches found\";$(\"searchNav\").style.display=\"block\";setLogContainerHeight();}','function displayNoMatches(){replaceClass($(\"searchBox\"),\"nomatches\",\"hasmatches\");$(\"searchBox\").title=\"No matches found\";$(\"searchNav\").style.display=\"none\";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable==\"undefined\")?!$(\"searchDisable\").checked:enable;$(\"searchBox\").disabled=!enable;$(\"searchReset\").disabled=!enable;$(\"searchRegex\").disabled=!enable;$(\"searchNext\").disabled=!enable;$(\"searchPrevious\").disabled=!enable;$(\"searchCaseSensitive\").disabled=!enable;$(\"searchNav\").style.display=(enable&&($(\"searchBox\").value!==\"\")&¤tSearch&¤tSearch.hasVisibleMatches())?\"block\":\"none\";if(enable){removeClass($(\"search\"),\"greyedout\");addClass(document.body,\"searching\");if($(\"searchHighlight\").checked){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}','if($(\"searchFilter\").checked){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','$(\"searchDisable\").checked=!enable;}else{addClass($(\"search\"),\"greyedout\");removeClass(document.body,\"searching\");removeClass(logMainContainer,\"searchhighlight\");removeClass(logMainContainer,\"searchfilter\");}','setLogContainerHeight();}','function toggleSearchFilter(){var enable=$(\"searchFilter\").checked;if(enable){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','refreshCurrentMatch();}','function toggleSearchHighlight(){var enable=$(\"searchHighlight\").checked;if(enable){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}}','function clearSearch(){$(\"searchBox\").value=\"\";doSearch();}','function searchNext(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm(\"Reached the end of the page. Start from the top?\")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm(\"Reached the start of the page. Continue from the bottom?\")){setCurrentMatchIndex(previousMatchIndex);}}}','function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}','function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=\" \"+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(\" \");return array_contains(classNames,cssClass);}','return false;}','function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(\" \");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(\" \");}}','function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}','function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}','return matches;}','function $(id){return document.getElementById(id);}','function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}','node=node.parentNode;}','return false;}','function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}','currentNode=currentNode.parentNode;}','return true;}','function escapeHtml(str){return str.replace(/&/g,\"&\").replace(/[<]/g,\"<\").replace(/>/g,\">\");}','function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}','return 0;}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getToolBarsHeight(){return $(\"switches\").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$(\"commandLine\").offsetHeight;}','return height;}','function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$(\"body\").style.height=getWindowHeight()+\"px\";logMainContainer.style.height=\"\"+','Math.max(0,windowHeight-getChromeHeight())+\"px\";}}','function setCommandInputWidth(){if(showCommandLine){$(\"command\").style.width=\"\"+Math.max(0,$(\"commandLineContainer\").offsetWidth-','($(\"evaluateButton\").offsetWidth+13))+\"px\";}}','window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}','return this.length;};}','if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}','if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}','this.length=this.length-1;return firstItem;}};}','if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}','var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}','return itemsDeleted;};}','function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}','if(index>=0){arr.splice(index,1);return index;}else{return false;}}','function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}','array.length=array.length-numberToRemove;}','return array;}','function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}','return false;}','function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}','return\"\"+ex;}','function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}','input.focus();}','function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!=\"undefined\"){evt.cancelBubble=true;}}','function getEvent(evt){return evt?evt:event;}','function getTarget(evt){return evt.target?evt.target:evt.srcElement;}','function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case\"mouseover\":return evt.fromElement;case\"mouseout\":return evt.toElement;default:return evt.srcElement;}}}','function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}','function evalCommandLine(){var expr=$(\"command\").value;evalCommand(expr);$(\"command\").value=\"\";}','function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}','var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=\">>> \"+expr+\"\\\\r\\\\n\";try{log(\"INFO\",prefix+eval(expr));}catch(ex){log(\"ERROR\",prefix+\"Error: \"+getErrorMessage(ex));}}','if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}','currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}','//]]>','</script>','<style type=\"text/css\">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id=\"body\">','<div id=\"switchesContainer\">','<div id=\"switches\">','<div id=\"levels\" class=\"toolbar\">','Filters:','<input type=\"checkbox\" id=\"switch_TRACE\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide trace messages\" /><label for=\"switch_TRACE\" id=\"label_TRACE\">trace</label>','<input type=\"checkbox\" id=\"switch_DEBUG\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide debug messages\" /><label for=\"switch_DEBUG\" id=\"label_DEBUG\">debug</label>','<input type=\"checkbox\" id=\"switch_INFO\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide info messages\" /><label for=\"switch_INFO\" id=\"label_INFO\">info</label>','<input type=\"checkbox\" id=\"switch_WARN\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide warn messages\" /><label for=\"switch_WARN\" id=\"label_WARN\">warn</label>','<input type=\"checkbox\" id=\"switch_ERROR\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide error messages\" /><label for=\"switch_ERROR\" id=\"label_ERROR\">error</label>','<input type=\"checkbox\" id=\"switch_FATAL\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide fatal messages\" /><label for=\"switch_FATAL\" id=\"label_FATAL\">fatal</label>','<input type=\"checkbox\" id=\"switch_ALL\" onclick=\"toggleAllLevels(); applyFilters()\" checked=\"checked\" title=\"Show/hide all messages\" /><label for=\"switch_ALL\" id=\"label_ALL\">all</label>','</div>','<div id=\"search\" class=\"toolbar\">','<label for=\"searchBox\" class=\"searchboxlabel\">Search:</label> <input type=\"text\" id=\"searchBox\" onclick=\"toggleSearchEnabled(true)\" onkeyup=\"scheduleSearch()\" size=\"20\" />','<input type=\"button\" id=\"searchReset\" disabled=\"disabled\" value=\"Reset\" onclick=\"clearSearch()\" class=\"button\" title=\"Reset the search\" />','<input type=\"checkbox\" id=\"searchRegex\" onclick=\"doSearch()\" title=\"If checked, search is treated as a regular expression\" /><label for=\"searchRegex\">Regex</label>','<input type=\"checkbox\" id=\"searchCaseSensitive\" onclick=\"doSearch()\" title=\"If checked, search is case sensitive\" /><label for=\"searchCaseSensitive\">Match case</label>','<input type=\"checkbox\" id=\"searchDisable\" onclick=\"toggleSearchEnabled()\" title=\"Enable/disable search\" /><label for=\"searchDisable\" class=\"alwaysenabled\">Disable</label>','<div id=\"searchNav\">','<input type=\"button\" id=\"searchNext\" disabled=\"disabled\" value=\"Next\" onclick=\"searchNext()\" class=\"button\" title=\"Go to the next matching log entry\" />','<input type=\"button\" id=\"searchPrevious\" disabled=\"disabled\" value=\"Previous\" onclick=\"searchPrevious()\" class=\"button\" title=\"Go to the previous matching log entry\" />','<input type=\"checkbox\" id=\"searchFilter\" onclick=\"toggleSearchFilter()\" title=\"If checked, non-matching log entries are filtered out\" /><label for=\"searchFilter\">Filter</label>','<input type=\"checkbox\" id=\"searchHighlight\" onclick=\"toggleSearchHighlight()\" title=\"Highlight matched search terms\" /><label for=\"searchHighlight\" class=\"alwaysenabled\">Highlight all</label>','</div>','</div>','<div id=\"options\" class=\"toolbar\">','Options:','<input type=\"checkbox\" id=\"enableLogging\" onclick=\"toggleLoggingEnabled()\" checked=\"checked\" title=\"Enable/disable logging\" /><label for=\"enableLogging\" id=\"enableLoggingLabel\">Log</label>','<input type=\"checkbox\" id=\"wrap\" onclick=\"toggleWrap()\" title=\"Enable / disable word wrap\" /><label for=\"wrap\" id=\"wrapLabel\">Wrap</label>','<input type=\"checkbox\" id=\"newestAtTop\" onclick=\"toggleNewestAtTop()\" title=\"If checked, causes newest messages to appear at the top\" /><label for=\"newestAtTop\" id=\"newestAtTopLabel\">Newest at the top</label>','<input type=\"checkbox\" id=\"scrollToLatest\" onclick=\"toggleScrollToLatest()\" checked=\"checked\" title=\"If checked, window automatically scrolls to a new message when it is added\" /><label for=\"scrollToLatest\" id=\"scrollToLatestLabel\">Scroll to latest</label>','<input type=\"button\" id=\"clearButton\" value=\"Clear\" onclick=\"clearLog()\" class=\"button\" title=\"Clear all log messages\" />','<input type=\"button\" id=\"hideButton\" value=\"Hide\" onclick=\"hide()\" class=\"hidden button\" title=\"Hide the console\" />','<input type=\"button\" id=\"closeButton\" value=\"Close\" onclick=\"closeWindow()\" class=\"hidden button\" title=\"Close the window\" />','</div>','</div>','</div>','<div id=\"log\" class=\"TRACE DEBUG INFO WARN ERROR FATAL\"></div>','<div id=\"commandLine\" class=\"toolbar\">','<div id=\"commandLineContainer\">','<input type=\"text\" id=\"command\" title=\"Enter a JavaScript command here and hit return or press \\'Evaluate\\'\" />','<input type=\"button\" id=\"evaluateButton\" value=\"Evaluate\" class=\"button\" title=\"Evaluate the command\" onclick=\"evalCommandLine()\" />','</div>','</div>','</body>','</html>',''];};var defaultCommandLineFunctions=[];ConsoleAppender=function(){};var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,focusConsoleWindow){var appender=this;var initialized=false;var consoleWindowCreated=false;var consoleWindowLoaded=false;var consoleClosed=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;initiallyMinimized=extractBooleanFromParam(initiallyMinimized,this.defaults.initiallyMinimized);lazyInit=extractBooleanFromParam(lazyInit,this.defaults.lazyInit);useDocumentWrite=extractBooleanFromParam(useDocumentWrite,this.defaults.useDocumentWrite);var newestMessageAtTop=this.defaults.newestMessageAtTop;var scrollToLatestMessage=this.defaults.scrollToLatestMessage;width=width?width:this.defaults.width;height=height?height:this.defaults.height;var maxMessages=this.defaults.maxMessages;var showCommandLine=this.defaults.showCommandLine;var commandLineObjectExpansionDepth=this.defaults.commandLineObjectExpansionDepth;var showHideButton=this.defaults.showHideButton;var showCloseButton=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var init,createWindow,safeToAppend,getConsoleWindow,open;var appenderName=inPage?\"InPageAppender\":\"PopUpAppender\";var checkCanConfigure=function(configOptionName){if(consoleWindowCreated){handleError(appenderName+\": configuration option '\"+configOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;};var consoleWindowExists=function(){return(consoleWindowLoaded&&isSupported&&!consoleClosed);};this.isNewestMessageAtTop=function(){return newestMessageAtTop;};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowExists()){getConsoleWindow().setNewestAtTop(newestMessageAtTop);}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage;};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowExists()){getConsoleWindow().setScrollToLatest(scrollToLatestMessage);}};this.getWidth=function(){return width;};this.setWidth=function(widthParam){if(checkCanConfigure(\"width\")){width=extractStringFromParam(widthParam,width);}};this.getHeight=function(){return height;};this.setHeight=function(heightParam){if(checkCanConfigure(\"height\")){height=extractStringFromParam(heightParam,height);}};this.getMaxMessages=function(){return maxMessages;};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowExists()){getConsoleWindow().setMaxMessages(maxMessages);}};this.isShowCommandLine=function(){return showCommandLine;};this.setShowCommandLine=function(showCommandLineParam){showCommandLine=bool(showCommandLineParam);if(consoleWindowExists()){getConsoleWindow().setShowCommandLine(showCommandLine);}};this.isShowHideButton=function(){return showHideButton;};this.setShowHideButton=function(showHideButtonParam){showHideButton=bool(showHideButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowHideButton(showHideButton);}};this.isShowCloseButton=function(){return showCloseButton;};this.setShowCloseButton=function(showCloseButtonParam){showCloseButton=bool(showCloseButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowCloseButton(showCloseButton);}};this.getCommandLineObjectExpansionDepth=function(){return commandLineObjectExpansionDepth;};this.setCommandLineObjectExpansionDepth=function(commandLineObjectExpansionDepthParam){commandLineObjectExpansionDepth=extractIntFromParam(commandLineObjectExpansionDepthParam,commandLineObjectExpansionDepth);};var minimized=initiallyMinimized;this.isInitiallyMinimized=function(){return initiallyMinimized;};this.setInitiallyMinimized=function(initiallyMinimizedParam){if(checkCanConfigure(\"initiallyMinimized\")){initiallyMinimized=bool(initiallyMinimizedParam);minimized=initiallyMinimized;}};this.isUseDocumentWrite=function(){return useDocumentWrite;};this.setUseDocumentWrite=function(useDocumentWriteParam){if(checkCanConfigure(\"useDocumentWrite\")){useDocumentWrite=bool(useDocumentWriteParam);}};function QueuedLoggingEvent(loggingEvent,formattedMessage){this.loggingEvent=loggingEvent;this.levelName=loggingEvent.level.name;this.formattedMessage=formattedMessage;}\r\nQueuedLoggingEvent.prototype.append=function(){getConsoleWindow().log(this.levelName,this.formattedMessage);};function QueuedGroup(name,initiallyExpanded){this.name=name;this.initiallyExpanded=initiallyExpanded;}\r\nQueuedGroup.prototype.append=function(){getConsoleWindow().group(this.name,this.initiallyExpanded);};function QueuedGroupEnd(){}\r\nQueuedGroupEnd.prototype.append=function(){getConsoleWindow().groupEnd();};var checkAndAppend=function(){safeToAppend();if(!initialized){init();}else if(consoleClosed&&reopenWhenClosed){createWindow();}\r\nif(safeToAppend()){appendQueuedLoggingEvents();}};this.append=function(loggingEvent){if(isSupported){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);queuedLoggingEvents.push(new QueuedLoggingEvent(loggingEvent,formattedMessage));checkAndAppend();}};this.group=function(name,initiallyExpanded){if(isSupported){queuedLoggingEvents.push(new QueuedGroup(name,initiallyExpanded));checkAndAppend();}};this.groupEnd=function(){if(isSupported){queuedLoggingEvents.push(new QueuedGroupEnd());checkAndAppend();}};var appendQueuedLoggingEvents=function(){while(queuedLoggingEvents.length>0){queuedLoggingEvents.shift().append();}\r\nif(focusConsoleWindow){getConsoleWindow().focus();}};this.setAddedToLogger=function(logger){this.loggers.push(logger);if(enabled&&!lazyInit){init();}};this.clear=function(){if(consoleWindowExists()){getConsoleWindow().clearLog();}\r\nqueuedLoggingEvents.length=0;};this.focus=function(){if(consoleWindowExists()){getConsoleWindow().focus();}};this.focusCommandLine=function(){if(consoleWindowExists()){getConsoleWindow().focusCommandLine();}};this.focusSearch=function(){if(consoleWindowExists()){getConsoleWindow().focusSearch();}};var commandWindow=window;this.getCommandWindow=function(){return commandWindow;};this.setCommandWindow=function(commandWindowParam){commandWindow=commandWindowParam;};this.executeLastCommand=function(){if(consoleWindowExists()){getConsoleWindow().evalLastCommand();}};var commandLayout=new PatternLayout(\"%m\");this.getCommandLayout=function(){return commandLayout;};this.setCommandLayout=function(commandLayoutParam){commandLayout=commandLayoutParam;};this.evalCommandAndAppend=function(expr){var commandReturnValue={appendResult:true,isError:false};var commandOutput=\"\";try{var result,i;if(!commandWindow.eval&&commandWindow.execScript){commandWindow.execScript(\"null\");}\r\nvar commandLineFunctionsHash={};for(i=0,len=commandLineFunctions.length;i<len;i++){commandLineFunctionsHash[commandLineFunctions[i][0]]=commandLineFunctions[i][1];}\r\nvar objectsToRestore=[];var addObjectToRestore=function(name){objectsToRestore.push([name,commandWindow[name]]);};addObjectToRestore(\"appender\");commandWindow.appender=appender;addObjectToRestore(\"commandReturnValue\");commandWindow.commandReturnValue=commandReturnValue;addObjectToRestore(\"commandLineFunctionsHash\");commandWindow.commandLineFunctionsHash=commandLineFunctionsHash;var addFunctionToWindow=function(name){addObjectToRestore(name);commandWindow[name]=function(){return this.commandLineFunctionsHash[name](appender,arguments,commandReturnValue);};};for(i=0,len=commandLineFunctions.length;i<len;i++){addFunctionToWindow(commandLineFunctions[i][0]);}\r\nif(commandWindow===window&&commandWindow.execScript){addObjectToRestore(\"evalExpr\");addObjectToRestore(\"result\");window.evalExpr=expr;commandWindow.execScript(\"window.result=eval(window.evalExpr);\");result=window.result;}else{result=commandWindow.eval(expr);}\r\ncommandOutput=isUndefined(result)?result:formatObjectExpansion(result,commandLineObjectExpansionDepth);for(i=0,len=objectsToRestore.length;i<len;i++){commandWindow[objectsToRestore[i][0]]=objectsToRestore[i][1];}}catch(ex){commandOutput=\"Error evaluating command: \"+getExceptionStringRep(ex);commandReturnValue.isError=true;}\r\nif(commandReturnValue.appendResult){var message=\">>> \"+expr;if(!isUndefined(commandOutput)){message+=newLine+commandOutput;}\r\nvar level=commandReturnValue.isError?Level.ERROR:Level.INFO;var loggingEvent=new LoggingEvent(null,new Date(),level,[message],null);var mainLayout=this.getLayout();this.setLayout(commandLayout);this.append(loggingEvent);this.setLayout(mainLayout);}};var commandLineFunctions=defaultCommandLineFunctions.concat([]);this.addCommandLineFunction=function(functionName,commandLineFunction){commandLineFunctions.push([functionName,commandLineFunction]);};var commandHistoryCookieName=\"log4javascriptCommandHistory\";this.storeCommandHistory=function(commandHistory){setCookie(commandHistoryCookieName,commandHistory.join(\",\"));};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}\r\ndoc.close();};this.setEventTypes([\"load\",\"unload\"]);var consoleWindowLoadHandler=function(){var win=getConsoleWindow();win.setAppender(appender);win.setNewestAtTop(newestMessageAtTop);win.setScrollToLatest(scrollToLatestMessage);win.setMaxMessages(maxMessages);win.setShowCommandLine(showCommandLine);win.setShowHideButton(showHideButton);win.setShowCloseButton(showCloseButton);win.setMainWindow(window);var storedValue=getCookie(commandHistoryCookieName);if(storedValue){win.commandHistory=storedValue.split(\",\");win.currentCommandIndex=win.commandHistory.length;}\r\nappender.dispatchEvent(\"load\",{\"win\":win});};this.unload=function(){logLog.debug(\"unload \"+this+\", caller: \"+this.unload.caller);if(!consoleClosed){logLog.debug(\"really doing unload \"+this);consoleClosed=true;consoleWindowLoaded=false;consoleWindowCreated=false;appender.dispatchEvent(\"unload\",{});}};var pollConsoleWindow=function(windowTest,interval,successCallback,errorMessage){function doPoll(){try{if(consoleClosed){clearInterval(poll);}\r\nif(windowTest(getConsoleWindow())){clearInterval(poll);successCallback();}}catch(ex){clearInterval(poll);isSupported=false;handleError(errorMessage,ex);}}\r\nvar poll=setInterval(doPoll,interval);};var getConsoleUrl=function(){var documentDomainSet=(document.domain!=location.hostname);return useDocumentWrite?\"\":getBaseUrl()+\"console.html\"+\r\n(documentDomainSet?\"?log4javascript_domain=\"+escape(document.domain):\"\");};if(inPage){var containerElement=null;var cssProperties=[];this.addCssProperty=function(name,value){if(checkCanConfigure(\"cssProperties\")){cssProperties.push([name,value]);}};var windowCreationStarted=false;var iframeContainerDiv;var iframeId=uniqueId+\"_InPageAppender_\"+consoleAppenderId;this.hide=function(){if(initialized&&consoleWindowCreated){if(consoleWindowExists()){getConsoleWindow().$(\"command\").blur();}\r\niframeContainerDiv.style.display=\"none\";minimized=true;}};this.show=function(){if(initialized){if(consoleWindowCreated){iframeContainerDiv.style.display=\"block\";this.setShowCommandLine(showCommandLine);minimized=false;}else if(!windowCreationStarted){createWindow(true);}}};this.isVisible=function(){return!minimized&&!consoleClosed;};this.close=function(fromButton){if(!consoleClosed&&(!fromButton||confirm(\"This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?\"))){iframeContainerDiv.parentNode.removeChild(iframeContainerDiv);this.unload();}};open=function(){var initErrorMessage=\"InPageAppender.open: unable to create console iframe\";function finalInit(){try{if(!initiallyMinimized){appender.show();}\r\nconsoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nfunction writeToDocument(){try{var windowTest=function(win){return isLoaded(win);};if(useDocumentWrite){writeHtml(getConsoleWindow().document);}\r\nif(windowTest(getConsoleWindow())){finalInit();}else{pollConsoleWindow(windowTest,100,finalInit,initErrorMessage);}}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nminimized=false;iframeContainerDiv=containerElement.appendChild(document.createElement(\"div\"));iframeContainerDiv.style.width=width;iframeContainerDiv.style.height=height;iframeContainerDiv.style.border=\"solid gray 1px\";for(var i=0,len=cssProperties.length;i<len;i++){iframeContainerDiv.style[cssProperties[i][0]]=cssProperties[i][1];}\r\nvar iframeSrc=useDocumentWrite?\"\":\" src='\"+getConsoleUrl()+\"'\";iframeContainerDiv.innerHTML=\"<iframe id='\"+iframeId+\"' name='\"+iframeId+\"' width='100%' height='100%' frameborder='0'\"+iframeSrc+\" scrolling='no'></iframe>\";consoleClosed=false;var iframeDocumentExistsTest=function(win){try{return bool(win)&&bool(win.document);}catch(ex){return false;}};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument();}else{pollConsoleWindow(iframeDocumentExistsTest,100,writeToDocument,initErrorMessage);}\r\nconsoleWindowCreated=true;};createWindow=function(show){if(show||!initiallyMinimized){var pageLoadHandler=function(){if(!container){containerElement=document.createElement(\"div\");containerElement.style.position=\"fixed\";containerElement.style.left=\"0\";containerElement.style.right=\"0\";containerElement.style.bottom=\"0\";document.body.appendChild(containerElement);appender.addCssProperty(\"borderWidth\",\"1px 0 0 0\");appender.addCssProperty(\"zIndex\",1000000);open();}else{try{var el=document.getElementById(container);if(el.nodeType==1){containerElement=el;}\r\nopen();}catch(ex){handleError(\"InPageAppender.init: invalid container element '\"+container+\"' supplied\",ex);}}};if(pageLoaded&&container&&container.appendChild){containerElement=container;open();}else if(pageLoaded){pageLoadHandler();}else{log4javascript.addEventListener(\"load\",pageLoadHandler);}\r\nwindowCreationStarted=true;}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe;}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(consoleWindowCreated&&!consoleWindowLoaded&&getConsoleWindow()&&isLoaded(getConsoleWindow())){consoleWindowLoaded=true;}\r\nreturn consoleWindowLoaded;}\r\nreturn false;};}else{var useOldPopUp=appender.defaults.useOldPopUp;var complainAboutPopUpBlocking=appender.defaults.complainAboutPopUpBlocking;var reopenWhenClosed=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return useOldPopUp;};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure(\"useOldPopUp\")){useOldPopUp=bool(useOldPopUpParam);}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking;};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure(\"complainAboutPopUpBlocking\")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam);}};this.isFocusPopUp=function(){return focusConsoleWindow;};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam);};this.isReopenWhenClosed=function(){return reopenWhenClosed;};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam);};this.close=function(){logLog.debug(\"close \"+this);try{popUp.close();this.unload();}catch(ex){}};this.hide=function(){logLog.debug(\"hide \"+this);if(consoleWindowExists()){this.close();}};this.show=function(){logLog.debug(\"show \"+this);if(!consoleWindowCreated){open();}};this.isVisible=function(){return safeToAppend();};var popUp;open=function(){var windowProperties=\"width=\"+width+\",height=\"+height+\",status,resizable\";var frameInfo=\"\";try{var frameEl=window.frameElement;if(frameEl){frameInfo=\"_\"+frameEl.tagName+\"_\"+(frameEl.name||frameEl.id||\"\");}}catch(e){frameInfo=\"_inaccessibleParentFrame\";}\r\nvar windowName=\"PopUp_\"+location.host.replace(/[^a-z0-9]/gi,\"_\")+\"_\"+consoleAppenderId+frameInfo;if(!useOldPopUp||!useDocumentWrite){windowName=windowName+\"_\"+uniqueId;}\r\nvar checkPopUpClosed=function(win){if(consoleClosed){return true;}else{try{return bool(win)&&win.closed;}catch(ex){}}\r\nreturn false;};var popUpClosedCallback=function(){if(!consoleClosed){appender.unload();}};function finalInit(){getConsoleWindow().setCloseIfOpenerCloses(!useOldPopUp||!useDocumentWrite);consoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();pollConsoleWindow(checkPopUpClosed,500,popUpClosedCallback,\"PopUpAppender.checkPopUpClosed: error checking pop-up window\");}\r\ntry{popUp=window.open(getConsoleUrl(),windowName,windowProperties);consoleClosed=false;consoleWindowCreated=true;if(popUp&&popUp.document){if(useDocumentWrite&&useOldPopUp&&isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{if(useDocumentWrite){writeHtml(popUp.document);}\r\nvar popUpLoadedTest=function(win){return bool(win)&&isLoaded(win);};if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow(popUpLoadedTest,100,finalInit,\"PopUpAppender.init: unable to create console window\");}}}else{isSupported=false;logLog.warn(\"PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender\");if(complainAboutPopUpBlocking){handleError(\"log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.\");}}}catch(ex){handleError(\"PopUpAppender.init: error creating pop-up\",ex);}};createWindow=function(){if(!initiallyMinimized){open();}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){return popUp;};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){appender.unload();logLog.debug(\"PopUpAppender: pop-up closed\");return false;}\r\nif(!consoleWindowLoaded&&isLoaded(popUp)){consoleWindowLoaded=true;}}\r\nreturn isSupported&&consoleWindowLoaded&&!consoleClosed;};}\r\nthis.getConsoleWindow=getConsoleWindow;};ConsoleAppender.addGlobalCommandLineFunction=function(functionName,commandLineFunction){defaultCommandLineFunctions.push([functionName,commandLineFunction]);};function PopUpAppender(lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(false,null,lazyInit,initiallyMinimized,useDocumentWrite,width,height,this.defaults.focusPopUp);}\r\nPopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"600\",height:\"400\",reopenWhenClosed:false,maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:true,useDocumentWrite:true};PopUpAppender.prototype.toString=function(){return\"PopUpAppender\";};log4javascript.PopUpAppender=PopUpAppender;function InPageAppender(container,lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(true,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,false);}\r\nInPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"100%\",height:\"220px\",maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:false,showLogEntryDeleteButtons:true,useDocumentWrite:true};InPageAppender.prototype.toString=function(){return\"InPageAppender\";};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender;})();function padWithSpaces(str,len){if(str.length<len){var spaces=[];var numberOfSpaces=Math.max(0,len-str.length);for(var i=0;i<numberOfSpaces;i++){spaces[i]=\" \";}\r\nstr+=spaces.join(\"\");}\r\nreturn str;}\r\n(function(){function dir(obj){var maxLen=0;for(var p in obj){maxLen=Math.max(toStr(p).length,maxLen);}\r\nvar propList=[];for(p in obj){var propNameStr=\" \"+padWithSpaces(toStr(p),maxLen+2);var propVal;try{propVal=splitIntoLines(toStr(obj[p])).join(padWithSpaces(newLine,maxLen+6));}catch(ex){propVal=\"[Error obtaining property. Details: \"+getExceptionMessage(ex)+\"]\";}\r\npropList.push(propNameStr+propVal);}\r\nreturn propList.join(newLine);}\r\nvar nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};var preFormattedElements=[\"script\",\"pre\"];var emptyElements=[\"br\",\"img\",\"hr\",\"param\",\"link\",\"area\",\"input\",\"col\",\"base\",\"meta\"];var indentationUnit=\" \";function getXhtml(rootNode,includeRootNode,indentation,startNewLine,preformatted){includeRootNode=(typeof includeRootNode==\"undefined\")?true:!!includeRootNode;if(typeof indentation!=\"string\"){indentation=\"\";}\r\nstartNewLine=!!startNewLine;preformatted=!!preformatted;var xhtml;function isWhitespace(node){return((node.nodeType==nodeTypes.TEXT_NODE)&&/^[ \\t\\r\\n]*$/.test(node.nodeValue));}\r\nfunction fixAttributeValue(attrValue){return attrValue.toString().replace(/&/g,\"&\").replace(/</g,\"<\").replace(/\"/g,\""\");}\r\nfunction getStyleAttributeValue(el){var stylePairs=el.style.cssText.split(\";\");var styleValue=\"\";for(var j=0,len=stylePairs.length;j<len;j++){var nameValueBits=stylePairs[j].split(\":\");var props=[];if(!/^\\s*$/.test(nameValueBits[0])){props.push(trim(nameValueBits[0]).toLowerCase()+\":\"+trim(nameValueBits[1]));}\r\nstyleValue=props.join(\";\");}\r\nreturn styleValue;}\r\nfunction getNamespace(el){if(el.prefix){return el.prefix;}else if(el.outerHTML){var regex=new RegExp(\"<([^:]+):\"+el.tagName+\"[^>]*>\",\"i\");if(regex.test(el.outerHTML)){return RegExp.$1.toLowerCase();}}\r\nreturn\"\";}\r\nvar lt=\"<\";var gt=\">\";var i,len;if(includeRootNode&&rootNode.nodeType!=nodeTypes.DOCUMENT_FRAGMENT_NODE){switch(rootNode.nodeType){case nodeTypes.ELEMENT_NODE:var tagName=rootNode.tagName.toLowerCase();xhtml=startNewLine?newLine+indentation:\"\";xhtml+=lt;var prefix=getNamespace(rootNode);var hasPrefix=!!prefix;if(hasPrefix){xhtml+=prefix+\":\";}\r\nxhtml+=tagName;for(i=0,len=rootNode.attributes.length;i<len;i++){var currentAttr=rootNode.attributes[i];if(!currentAttr.specified||currentAttr.nodeValue===null||currentAttr.nodeName.toLowerCase()===\"style\"||typeof currentAttr.nodeValue!==\"string\"||currentAttr.nodeName.indexOf(\"_moz\")===0){continue;}\r\nxhtml+=\" \"+currentAttr.nodeName.toLowerCase()+\"=\\\"\";xhtml+=fixAttributeValue(currentAttr.nodeValue);xhtml+=\"\\\"\";}\r\nif(rootNode.style.cssText){var styleValue=getStyleAttributeValue(rootNode);if(styleValue!==\"\"){xhtml+=\" style=\\\"\"+getStyleAttributeValue(rootNode)+\"\\\"\";}}\r\nif(array_contains(emptyElements,tagName)||(hasPrefix&&!rootNode.hasChildNodes())){xhtml+=\"/\"+gt;}else{xhtml+=gt;var childStartNewLine=!(rootNode.childNodes.length===1&&rootNode.childNodes[0].nodeType===nodeTypes.TEXT_NODE);var childPreformatted=array_contains(preFormattedElements,tagName);for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit,childStartNewLine,childPreformatted);}\r\nvar endTag=lt+\"/\"+tagName+gt;xhtml+=childStartNewLine?newLine+indentation+endTag:endTag;}\r\nreturn xhtml;case nodeTypes.TEXT_NODE:if(isWhitespace(rootNode)){xhtml=\"\";}else{if(preformatted){xhtml=rootNode.nodeValue;}else{var lines=splitIntoLines(trim(rootNode.nodeValue));var trimmedLines=[];for(i=0,len=lines.length;i<len;i++){trimmedLines[i]=trim(lines[i]);}\r\nxhtml=trimmedLines.join(newLine+indentation);}\r\nif(startNewLine){xhtml=newLine+indentation+xhtml;}}\r\nreturn xhtml;case nodeTypes.CDATA_SECTION_NODE:return\"<![CDA\"+\"TA[\"+rootNode.nodeValue+\"]\"+\"]>\"+newLine;case nodeTypes.DOCUMENT_NODE:xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation);}\r\nreturn xhtml;default:return\"\";}}else{xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit);}\r\nreturn xhtml;}}\r\nfunction createCommandLineFunctions(){ConsoleAppender.addGlobalCommandLineFunction(\"$\",function(appender,args,returnValue){return document.getElementById(args[0]);});ConsoleAppender.addGlobalCommandLineFunction(\"dir\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=dir(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"dirxml\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=getXhtml(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"cd\",function(appender,args,returnValue){var win,message;if(args.length===0||args[0]===\"\"){win=window;message=\"Command line set to run in main window\";}else{if(args[0].window==args[0]){win=args[0];message=\"Command line set to run in frame '\"+args[0].name+\"'\";}else{win=window.frames[args[0]];if(win){message=\"Command line set to run in frame '\"+args[0]+\"'\";}else{returnValue.isError=true;message=\"Frame '\"+args[0]+\"' does not exist\";win=appender.getCommandWindow();}}}\r\nappender.setCommandWindow(win);return message;});ConsoleAppender.addGlobalCommandLineFunction(\"clear\",function(appender,args,returnValue){returnValue.appendResult=false;appender.clear();});ConsoleAppender.addGlobalCommandLineFunction(\"keys\",function(appender,args,returnValue){var keys=[];for(var k in args[0]){keys.push(k);}\r\nreturn keys;});ConsoleAppender.addGlobalCommandLineFunction(\"values\",function(appender,args,returnValue){var values=[];for(var k in args[0]){try{values.push(args[0][k]);}catch(ex){logLog.warn(\"values(): Unable to obtain value for key \"+k+\". Details: \"+getExceptionMessage(ex));}}\r\nreturn values;});ConsoleAppender.addGlobalCommandLineFunction(\"expansionDepth\",function(appender,args,returnValue){var expansionDepth=parseInt(args[0],10);if(isNaN(expansionDepth)||expansionDepth<0){returnValue.isError=true;return\"\"+args[0]+\" is not a valid expansion depth\";}else{appender.setCommandLineObjectExpansionDepth(expansionDepth);return\"Object expansion depth set to \"+expansionDepth;}});}\r\nfunction init(){createCommandLineFunctions();}\r\ninit();})();function createDefaultLogger(){var logger=log4javascript.getLogger(defaultLoggerName);var a=new log4javascript.PopUpAppender();logger.addAppender(a);return logger;}\r\nlog4javascript.setDocumentReady=function(){pageLoaded=true;log4javascript.dispatchEvent(\"load\",{});};if(window.addEventListener){window.addEventListener(\"load\",log4javascript.setDocumentReady,false);}else if(window.attachEvent){window.attachEvent(\"onload\",log4javascript.setDocumentReady);}else{var oldOnload=window.onload;if(typeof window.onload!=\"function\"){window.onload=log4javascript.setDocumentReady;}else{window.onload=function(evt){if(oldOnload){oldOnload(evt);}\r\nlog4javascript.setDocumentReady();};}}\r\nreturn log4javascript;},this);\r\n","/**\n * lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.\n * @version v1.0.5\n * @link https://github.com/sadams/lite-url\n * @license BSD-3-Clause\n */\n(function(){\"use strict\";function r(r,n,t){var e=r.split(n),o=e.shift();return t(o,e.join(n))}function n(n){var t={hash:\"\",host:\"\",hostname:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\",password:\"\",username:\"\",port:\"\"};return r(n,\"#\",function(n,e){e&&(t.hash=e?\"#\"+e:\"\"),r(n,\"?\",function(n,e){e&&(t.search=\"?\"+e),n&&r(n,\"//\",function(n,e){t.protocol=n,r(e,\"/\",function(n,e){t.pathname=\"/\"+(e||\"\"),(t.protocol||n)&&(t.origin=t.protocol+\"//\"+n),r(n,\"@\",function(n,e){if(e){var o=n.split(\":\");t.username=o[0],t.password=o[1]}else e=n;t.host=e,r(e,\":\",function(r,n){t.hostname=r,n&&(t.port=n)})})})})})}),t.href=t.origin+t.pathname+t.search+t.hash,t}function t(r){var n={},t=r.search;if(t){t=t.replace(new RegExp(\"\\\\?\"),\"\");var e=t.split(\"&\");for(var o in e)if(e.hasOwnProperty(o)&&e[o]){var i=e[o].split(\"=\");n[i[0]]=i[1]}}return n}function e(r){var e=i[r];return\"undefined\"!=typeof e?e:(e=n(r),e.params=t(e),i[r]=e,e)}var o=this,i={};return e.changeQueryParser=function(r){t=r},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=e),exports.liteURL=e):o.liteURL=e,e}).call(this);\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
|
@@ -1,17 +1,37 @@
|
|
1
|
-
!function(e){var
|
1
|
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/assets/themes/j1/core/js",n(n.s=1)}([function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){window.Cookies=n(2),window.log4javascript=n(3),window.liteURL=n(4),window.platform=n(5),window.j1.adapter=n(7),window.j1.core=n(8),window.j1.core.navigator=n(9),window.j1.core.asciidoctor=n(10),window.j1.core.scrollSmooth=n(11),window.j1.anime=n(12);n(13),n(19)},function(e,t,n){var r,o;
|
2
|
+
/*!
|
3
|
+
* JavaScript Cookie v2.2.1
|
4
|
+
* https://github.com/js-cookie/js-cookie
|
5
|
+
*
|
6
|
+
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
|
7
|
+
* Released under the MIT license
|
8
|
+
*/!function(a){if(void 0===(o="function"==typeof(r=a)?r.call(t,n,t,e):r)||(e.exports=o),!0,e.exports=a(),!!0){var i=window.Cookies,s=window.Cookies=a();s.noConflict=function(){return window.Cookies=i,s}}}((function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function o(){}function a(t,n,a){if("undefined"!=typeof document){"number"==typeof(a=e({path:"/"},o.defaults,a)).expires&&(a.expires=new Date(1*new Date+864e5*a.expires)),a.expires=a.expires?a.expires.toUTCString():"";try{var i=JSON.stringify(n);/^[\{\[]/.test(i)&&(n=i)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var s="";for(var l in a)a[l]&&(s+="; "+l,!0!==a[l]&&(s+="="+a[l].split(";")[0]));return document.cookie=t+"="+n+s}}function i(e,n){if("undefined"!=typeof document){for(var o={},a=document.cookie?document.cookie.split("; "):[],i=0;i<a.length;i++){var s=a[i].split("="),l=s.slice(1).join("=");n||'"'!==l.charAt(0)||(l=l.slice(1,-1));try{var c=t(s[0]);if(l=(r.read||r)(l,c)||t(l),n)try{l=JSON.parse(l)}catch(e){}if(o[c]=l,e===c)break}catch(e){}}return e?o[e]:o}}return o.set=a,o.get=function(e){return i(e,!1)},o.getJSON=function(e){return i(e,!0)},o.remove=function(t,n){a(t,"",e(n,{expires:-1}))},o.defaults={},o.withConverter=n,o}((function(){}))}))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__,factory;factory=function(){function isUndefined(e){return void 0===e}function EventSupport(){}Array.prototype.push||(Array.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)this[this.length]=arguments[e];return this.length}),Array.prototype.shift||(Array.prototype.shift=function(){if(this.length>0){for(var e=this[0],t=0,n=this.length-1;t<n;t++)this[t]=this[t+1];return this.length=this.length-1,e}}),Array.prototype.splice||(Array.prototype.splice=function(e,t){var n=this.slice(e+t),r=this.slice(e,e+t);this.length=e;for(var o=[],a=0,i=arguments.length;a<i;a++)o[a]=arguments[a];var s=o.length>2?n=o.slice(2).concat(n):n;for(a=0,i=s.length;a<i;a++)this.push(s[a]);return r}),EventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(e){if(e instanceof Array){this.eventTypes=e,this.eventListeners={};for(var t=0,n=this.eventTypes.length;t<n;t++)this.eventListeners[this.eventTypes[t]]=[]}else handleError("log4javascript.EventSupport ["+this+"]: setEventTypes: eventTypes parameter must be an Array")},addEventListener:function(e,t){"function"==typeof t?(array_contains(this.eventTypes,e)||handleError("log4javascript.EventSupport ["+this+"]: addEventListener: no event called '"+e+"'"),this.eventListeners[e].push(t)):handleError("log4javascript.EventSupport ["+this+"]: addEventListener: listener must be a function")},removeEventListener:function(e,t){"function"==typeof t?(array_contains(this.eventTypes,e)||handleError("log4javascript.EventSupport ["+this+"]: removeEventListener: no event called '"+e+"'"),array_remove(this.eventListeners[e],t)):handleError("log4javascript.EventSupport ["+this+"]: removeEventListener: listener must be a function")},dispatchEvent:function(e,t){if(array_contains(this.eventTypes,e))for(var n=this.eventListeners[e],r=0,o=n.length;r<o;r++)n[r](this,e,t);else handleError("log4javascript.EventSupport ["+this+"]: dispatchEvent: no event called '"+e+"'")}};var applicationStartDate=new Date,uniqueId="log4javascript_"+applicationStartDate.getTime()+"_"+Math.floor(1e8*Math.random()),emptyFunction=function(){},newLine="\r\n",pageLoaded=!1;function Log4JavaScript(){}Log4JavaScript.prototype=new EventSupport;var log4javascript=new Log4JavaScript;function toStr(e){return e&&e.toString?e.toString():String(e)}function getExceptionMessage(e){return e.message?e.message:e.description?e.description:toStr(e)}function getUrlFileName(e){var t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return e.substr(t+1)}function getExceptionStringRep(e){if(e){var t="Exception: "+getExceptionMessage(e);try{e.lineNumber&&(t+=" on line number "+e.lineNumber),e.fileName&&(t+=" in file "+getUrlFileName(e.fileName))}catch(e){logLog.warn("Unable to obtain file and line information for error")}return showStackTraces&&e.stack&&(t+=newLine+"Stack trace:"+newLine+e.stack),t}return null}function bool(e){return Boolean(e)}function trim(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}function splitIntoLines(e){return e.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")}log4javascript.version="1.4.13",log4javascript.edition="log4javascript";var urlEncode=void 0!==window.encodeURIComponent?function(e){return encodeURIComponent(e)}:function(e){return escape(e).replace(/\+/g,"%2B").replace(/"/g,"%22").replace(/'/g,"%27").replace(/\//g,"%2F").replace(/=/g,"%3D")};function array_remove(e,t){for(var n=-1,r=0,o=e.length;r<o;r++)if(e[r]===t){n=r;break}return n>=0&&(e.splice(n,1),!0)}function array_contains(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]==t)return!0;return!1}function extractBooleanFromParam(e,t){return isUndefined(e)?t:bool(e)}function extractStringFromParam(e,t){return isUndefined(e)?t:String(e)}function extractIntFromParam(e,t){if(isUndefined(e))return t;try{var n=parseInt(e,10);return isNaN(n)?t:n}catch(n){return logLog.warn("Invalid int param "+e,n),t}}function extractFunctionFromParam(e,t){return"function"==typeof e?e:t}function isError(e){return e instanceof Error}Function.prototype.apply||(Function.prototype.apply=function(obj,args){var methodName="__apply__";void 0!==obj[methodName]&&(methodName+=String(Math.random()).substr(2)),obj[methodName]=this;for(var argsStrings=[],i=0,len=args.length;i<len;i++)argsStrings[i]="args["+i+"]";var script="obj."+methodName+"("+argsStrings.join(",")+")",returnValue=eval(script);return delete obj[methodName],returnValue}),Function.prototype.call||(Function.prototype.call=function(e){for(var t=[],n=1,r=arguments.length;n<r;n++)t[n-1]=arguments[n];return this.apply(e,t)});var logLog={quietMode:!1,debugMessages:[],setQuietMode:function(e){this.quietMode=bool(e)},numberOfErrors:0,alertAllErrors:!1,setAlertAllErrors:function(e){this.alertAllErrors=e},debug:function(e){this.debugMessages.push(e)},displayDebug:function(){alert(this.debugMessages.join(newLine))},warn:function(e,t){},error:function(e,t){if((1==++this.numberOfErrors||this.alertAllErrors)&&!this.quietMode){var n="log4javascript error: "+e;t&&(n+=newLine+newLine+"Original error: "+getExceptionStringRep(t)),alert(n)}}};function handleError(e,t){logLog.error(e,t),log4javascript.dispatchEvent("error",{message:e,exception:t})}log4javascript.logLog=logLog,log4javascript.setEventTypes(["load","error"]),log4javascript.handleError=handleError;var enabled=!("undefined"!=typeof log4javascript_disabled&&log4javascript_disabled);log4javascript.setEnabled=function(e){enabled=bool(e)},log4javascript.isEnabled=function(){return enabled};var useTimeStampsInMilliseconds=!0;log4javascript.setTimeStampsInMilliseconds=function(e){useTimeStampsInMilliseconds=bool(e)},log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds},log4javascript.evalInScope=function(expr){return eval(expr)};var showStackTraces=!1;log4javascript.setShowStackTraces=function(e){showStackTraces=bool(e)};var Level=function(e,t){this.level=e,this.name=t};function Timer(e,t){this.name=e,this.level=isUndefined(t)?Level.INFO:t,this.start=new Date}Level.prototype={toString:function(){return this.name},equals:function(e){return this.level==e.level},isGreaterOrEqual:function(e){return this.level>=e.level}},Level.ALL=new Level(Number.MIN_VALUE,"ALL"),Level.TRACE=new Level(1e4,"TRACE"),Level.DEBUG=new Level(2e4,"DEBUG"),Level.INFO=new Level(3e4,"INFO"),Level.WARN=new Level(4e4,"WARN"),Level.ERROR=new Level(5e4,"ERROR"),Level.FATAL=new Level(6e4,"FATAL"),Level.OFF=new Level(Number.MAX_VALUE,"OFF"),log4javascript.Level=Level,Timer.prototype.getElapsedTime=function(){return(new Date).getTime()-this.start.getTime()};var anonymousLoggerName="[anonymous]",defaultLoggerName="[default]",nullLoggerName="[null]",rootLoggerName="root";function Logger(e){this.name=e,this.parent=null,this.children=[];var t=[],n=null,r=this.name===rootLoggerName,o=this.name===nullLoggerName,a=null,i=!1;this.addChild=function(e){this.children.push(e),e.parent=this,e.invalidateAppenderCache()};var s=!0;this.getAdditivity=function(){return s},this.setAdditivity=function(e){var t=s!=e;s=e,t&&this.invalidateAppenderCache()},this.addAppender=function(e){o?handleError("Logger.addAppender: you may not add an appender to the null logger"):e instanceof log4javascript.Appender?array_contains(t,e)||(t.push(e),e.setAddedToLogger(this),this.invalidateAppenderCache()):handleError("Logger.addAppender: appender supplied ('"+toStr(e)+"') is not a subclass of Appender")},this.removeAppender=function(e){array_remove(t,e),e.setRemovedFromLogger(this),this.invalidateAppenderCache()},this.removeAllAppenders=function(){var e=t.length;if(e>0){for(var n=0;n<e;n++)t[n].setRemovedFromLogger(this);t.length=0,this.invalidateAppenderCache()}},this.getEffectiveAppenders=function(){if(null===a||i){var e=r||!this.getAdditivity()?[]:this.parent.getEffectiveAppenders();a=e.concat(t),i=!1}return a},this.invalidateAppenderCache=function(){i=!0;for(var e=0,t=this.children.length;e<t;e++)this.children[e].invalidateAppenderCache()},this.log=function(e,t){if(enabled&&e.isGreaterOrEqual(this.getEffectiveLevel())){var n,r=t.length-1,o=t[r];t.length>1&&isError(o)&&(n=o,r--);for(var a=[],i=0;i<=r;i++)a[i]=t[i];var s=new LoggingEvent(this,new Date,e,a,n);this.callAppenders(s)}},this.callAppenders=function(e){for(var t=this.getEffectiveAppenders(),n=0,r=t.length;n<r;n++)t[n].doAppend(e)},this.setLevel=function(e){r&&null===e?handleError("Logger.setLevel: you cannot set the level of the root logger to null"):e instanceof Level?n=e:handleError("Logger.setLevel: level supplied to logger "+this.name+" is not an instance of log4javascript.Level")},this.getLevel=function(){return n},this.getEffectiveLevel=function(){for(var e=this;null!==e;e=e.parent){var t=e.getLevel();if(null!==t)return t}},this.group=function(e,t){if(enabled)for(var n=this.getEffectiveAppenders(),r=0,o=n.length;r<o;r++)n[r].group(e,t)},this.groupEnd=function(){if(enabled)for(var e=this.getEffectiveAppenders(),t=0,n=e.length;t<n;t++)e[t].groupEnd()};var l={};this.time=function(e,t){enabled&&(isUndefined(e)?handleError("Logger.time: a name for the timer must be supplied"):!t||t instanceof Level?l[e]=new Timer(e,t):handleError("Logger.time: level supplied to timer "+e+" is not an instance of log4javascript.Level"))},this.timeEnd=function(e){if(enabled)if(isUndefined(e))handleError("Logger.timeEnd: a name for the timer must be supplied");else if(l[e]){var t=l[e],n=t.getElapsedTime();this.log(t.level,["Timer "+toStr(e)+" completed in "+n+"ms"]),delete l[e]}else logLog.warn("Logger.timeEnd: no timer found with name "+e)},this.assert=function(e){if(enabled&&!e){for(var t=[],n=1,r=arguments.length;n<r;n++)t.push(arguments[n]);(t=t.length>0?t:["Assertion Failure"]).push(newLine),t.push(e),this.log(Level.ERROR,t)}},this.toString=function(){return"Logger["+this.name+"]"}}Logger.prototype={trace:function(){this.log(Level.TRACE,arguments)},debug:function(){this.log(Level.DEBUG,arguments)},info:function(){this.log(Level.INFO,arguments)},warn:function(){this.log(Level.WARN,arguments)},error:function(){this.log(Level.ERROR,arguments)},fatal:function(){this.log(Level.FATAL,arguments)},isEnabledFor:function(e){return e.isGreaterOrEqual(this.getEffectiveLevel())},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE)},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG)},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO)},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN)},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR)},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL)}},Logger.prototype.trace.isEntryPoint=!0,Logger.prototype.debug.isEntryPoint=!0,Logger.prototype.info.isEntryPoint=!0,Logger.prototype.warn.isEntryPoint=!0,Logger.prototype.error.isEntryPoint=!0,Logger.prototype.fatal.isEntryPoint=!0;var loggers={},loggerNames=[],ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG,rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL),log4javascript.getRootLogger=function(){return rootLogger},log4javascript.getLogger=function(e){if("string"!=typeof e&&(e=anonymousLoggerName,logLog.warn("log4javascript.getLogger: non-string logger name "+toStr(e)+" supplied, returning anonymous logger")),e==rootLoggerName&&handleError("log4javascript.getLogger: root logger may not be obtained by name"),!loggers[e]){var t=new Logger(e);loggers[e]=t,loggerNames.push(e);var n,r=e.lastIndexOf(".");if(r>-1){var o=e.substring(0,r);n=log4javascript.getLogger(o)}else n=rootLogger;n.addChild(t)}return loggers[e]};var defaultLogger=null;log4javascript.getDefaultLogger=function(){return defaultLogger||(defaultLogger=createDefaultLogger()),defaultLogger};var nullLogger=null;log4javascript.getNullLogger=function(){return nullLogger||(nullLogger=new Logger(nullLoggerName)).setLevel(Level.OFF),nullLogger},log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL),loggers={}};var LoggingEvent=function(e,t,n,r,o){this.logger=e,this.timeStamp=t,this.timeStampInMilliseconds=t.getTime(),this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1e3),this.milliseconds=this.timeStamp.getMilliseconds(),this.level=n,this.messages=r,this.exception=o};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):""},getCombinedMessages:function(){return 1==this.messages.length?this.messages[0]:this.messages.join(newLine)},toString:function(){return"LoggingEvent["+this.level+"]"}},log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:"logger",timeStampKey:"timestamp",millisecondsKey:"milliseconds",levelKey:"level",messageKey:"message",exceptionKey:"exception",urlKey:"url"},loggerKey:"logger",timeStampKey:"timestamp",millisecondsKey:"milliseconds",levelKey:"level",messageKey:"message",exceptionKey:"exception",urlKey:"url",batchHeader:"",batchFooter:"",batchSeparator:"",returnsPostData:!1,overrideTimeStampsSetting:!1,useTimeStampsInMilliseconds:null,format:function(){handleError("Layout.format: layout supplied has no format() method")},ignoresThrowable:function(){handleError("Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method")},getContentType:function(){return"text/plain"},allowBatching:function(){return!0},setTimeStampsInMilliseconds:function(e){this.overrideTimeStampsSetting=!0,this.useTimeStampsInMilliseconds=bool(e)},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds},getTimeStampValue:function(e){return this.isTimeStampsInMilliseconds()?e.timeStampInMilliseconds:e.timeStampInSeconds},getDataValues:function(e,t){var n=[[this.loggerKey,e.logger.name],[this.timeStampKey,this.getTimeStampValue(e)],[this.levelKey,e.level.name],[this.urlKey,window.location.href],[this.messageKey,t?e.getCombinedMessages():e.messages]];if(this.isTimeStampsInMilliseconds()||n.push([this.millisecondsKey,e.milliseconds]),e.exception&&n.push([this.exceptionKey,getExceptionStringRep(e.exception)]),this.hasCustomFields())for(var r=0,o=this.customFields.length;r<o;r++){var a=this.customFields[r].value;"function"==typeof a&&(a=a(this,e)),n.push([this.customFields[r].name,a])}return n},setKeys:function(e,t,n,r,o,a,i){this.loggerKey=extractStringFromParam(e,this.defaults.loggerKey),this.timeStampKey=extractStringFromParam(t,this.defaults.timeStampKey),this.levelKey=extractStringFromParam(n,this.defaults.levelKey),this.messageKey=extractStringFromParam(r,this.defaults.messageKey),this.exceptionKey=extractStringFromParam(o,this.defaults.exceptionKey),this.urlKey=extractStringFromParam(a,this.defaults.urlKey),this.millisecondsKey=extractStringFromParam(i,this.defaults.millisecondsKey)},setCustomField:function(e,t){for(var n=!1,r=0,o=this.customFields.length;r<o;r++)this.customFields[r].name===e&&(this.customFields[r].value=t,n=!0);n||this.customFields.push({name:e,value:t})},hasCustomFields:function(){return this.customFields.length>0},formatWithException:function(e){var t=this.format(e);return e.exception&&this.ignoresThrowable()&&(t+=e.getThrowableStrRep()),t},toString:function(){handleError("Layout.toString: all layouts must override this method")}},log4javascript.Layout=Layout;var Appender=function(){},SimpleDateFormat;function SimpleLayout(){this.customFields=[]}function NullLayout(){this.customFields=[]}function XmlLayout(e){this.combineMessages=extractBooleanFromParam(e,!0),this.customFields=[]}function escapeNewLines(e){return e.replace(/\r\n|\r|\n/g,"\\r\\n")}function JsonLayout(e,t){this.readable=extractBooleanFromParam(e,!1),this.combineMessages=extractBooleanFromParam(t,!0),this.batchHeader=this.readable?"["+newLine:"[",this.batchFooter=this.readable?"]"+newLine:"]",this.batchSeparator=this.readable?","+newLine:",",this.setKeys(),this.colon=this.readable?": ":":",this.tab=this.readable?"\t":"",this.lineBreak=this.readable?newLine:"",this.customFields=[]}function HttpPostDataLayout(){this.setKeys(),this.customFields=[],this.returnsPostData=!0}function formatObjectExpansion(e,t,n){var r=[];return function e(t,n,o){var a,i,s,l,c,u,d;function p(e){for(var t=splitIntoLines(e),n=1,r=t.length;n<r;n++)t[n]=o+t[n];return t.join(newLine)}if(o||(o=""),null===t)return"null";if(void 0===t)return"undefined";if("string"==typeof t)return p(t);if("object"==typeof t&&array_contains(r,t)){try{u=toStr(t)}catch(e){u="Error formatting property. Details: "+getExceptionStringRep(e)}return u+" [already expanded]"}if(t instanceof Array&&n>0){for(r.push(t),u="["+newLine,s=n-1,l=o+" ",c=[],a=0,i=t.length;a<i;a++)try{d=e(t[a],s,l),c.push(l+d)}catch(e){c.push(l+"Error formatting array member. Details: "+getExceptionStringRep(e))}return u+=c.join(","+newLine)+newLine+o+"]"}if("[object Date]"==Object.prototype.toString.call(t))return t.toString();if("object"==typeof t&&n>0){for(a in r.push(t),u="{"+newLine,s=n-1,l=o+" ",c=[],t)try{d=e(t[a],s,l),c.push(l+a+": "+d)}catch(e){c.push(l+a+": Error formatting property. Details: "+getExceptionStringRep(e))}return u+=c.join(","+newLine)+newLine+o+"}"}return p(toStr(t))}(e,t,n)}function PatternLayout(e){this.pattern=e||PatternLayout.DEFAULT_CONVERSION_PATTERN,this.customFields=[]}function AlertAppender(){}function BrowserConsoleAppender(){}Appender.prototype=new EventSupport,Appender.prototype.layout=new PatternLayout,Appender.prototype.threshold=Level.ALL,Appender.prototype.loggers=[],Appender.prototype.doAppend=function(e){enabled&&e.level.level>=this.threshold.level&&this.append(e)},Appender.prototype.append=function(e){},Appender.prototype.setLayout=function(e){e instanceof Layout?this.layout=e:handleError("Appender.setLayout: layout supplied to "+this.toString()+" is not a subclass of Layout")},Appender.prototype.getLayout=function(){return this.layout},Appender.prototype.setThreshold=function(e){e instanceof Level?this.threshold=e:handleError("Appender.setThreshold: threshold supplied to "+this.toString()+" is not a subclass of Level")},Appender.prototype.getThreshold=function(){return this.threshold},Appender.prototype.setAddedToLogger=function(e){this.loggers.push(e)},Appender.prototype.setRemovedFromLogger=function(e){array_remove(this.loggers,e)},Appender.prototype.group=emptyFunction,Appender.prototype.groupEnd=emptyFunction,Appender.prototype.toString=function(){handleError("Appender.toString: all appenders must override this method")},log4javascript.Appender=Appender,SimpleLayout.prototype=new Layout,SimpleLayout.prototype.format=function(e){return e.level.name+" - "+e.getCombinedMessages()},SimpleLayout.prototype.ignoresThrowable=function(){return!0},SimpleLayout.prototype.toString=function(){return"SimpleLayout"},log4javascript.SimpleLayout=SimpleLayout,NullLayout.prototype=new Layout,NullLayout.prototype.format=function(e){return e.messages},NullLayout.prototype.ignoresThrowable=function(){return!0},NullLayout.prototype.formatWithException=function(e){var t=e.messages,n=e.exception;return n?t.concat([n]):t},NullLayout.prototype.toString=function(){return"NullLayout"},log4javascript.NullLayout=NullLayout,XmlLayout.prototype=new Layout,XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages},XmlLayout.prototype.getContentType=function(){return"text/xml"},XmlLayout.prototype.escapeCdata=function(e){return e.replace(/\]\]>/,"]]>]]><![CDATA[")},XmlLayout.prototype.format=function(e){var t,n,r=this;function o(e){return e="string"==typeof e?e:toStr(e),"<log4javascript:message><![CDATA["+r.escapeCdata(e)+"]]></log4javascript:message>"}var a='<log4javascript:event logger="'+e.logger.name+'" timestamp="'+this.getTimeStampValue(e)+'"';if(this.isTimeStampsInMilliseconds()||(a+=' milliseconds="'+e.milliseconds+'"'),a+=' level="'+e.level.name+'">'+newLine,this.combineMessages)a+=o(e.getCombinedMessages());else{for(a+="<log4javascript:messages>"+newLine,t=0,n=e.messages.length;t<n;t++)a+=o(e.messages[t])+newLine;a+="</log4javascript:messages>"+newLine}if(this.hasCustomFields())for(t=0,n=this.customFields.length;t<n;t++)a+='<log4javascript:customfield name="'+this.customFields[t].name+'"><![CDATA['+this.customFields[t].value.toString()+"]]></log4javascript:customfield>"+newLine;return e.exception&&(a+="<log4javascript:exception><![CDATA["+getExceptionStringRep(e.exception)+"]]></log4javascript:exception>"+newLine),a+="</log4javascript:event>"+newLine+newLine},XmlLayout.prototype.ignoresThrowable=function(){return!1},XmlLayout.prototype.toString=function(){return"XmlLayout"},log4javascript.XmlLayout=XmlLayout,JsonLayout.prototype=new Layout,JsonLayout.prototype.isReadable=function(){return this.readable},JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages},JsonLayout.prototype.format=function(e){var t,n,r=this,o=this.getDataValues(e,this.combineMessages),a="{"+this.lineBreak;function i(e,t,n){var o,a=typeof e;if(e instanceof Date)o=String(e.getTime());else if(n&&e instanceof Array){o="["+r.lineBreak;for(var s=0,l=e.length;s<l;s++){var c=t+r.tab;o+=c+i(e[s],c,!1),s<e.length-1&&(o+=","),o+=r.lineBreak}o+=t+"]"}else o="number"!==a&&"boolean"!==a?'"'+escapeNewLines(toStr(e).replace(/\"/g,'\\"'))+'"':e;return o}for(t=0,n=o.length-1;t<=n;t++)a+=this.tab+'"'+o[t][0]+'"'+this.colon+i(o[t][1],this.tab,!0),t<n&&(a+=","),a+=this.lineBreak;return a+="}"+this.lineBreak},JsonLayout.prototype.ignoresThrowable=function(){return!1},JsonLayout.prototype.toString=function(){return"JsonLayout"},JsonLayout.prototype.getContentType=function(){return"application/json"},log4javascript.JsonLayout=JsonLayout,HttpPostDataLayout.prototype=new Layout,HttpPostDataLayout.prototype.allowBatching=function(){return!1},HttpPostDataLayout.prototype.format=function(e){for(var t=this.getDataValues(e),n=[],r=0,o=t.length;r<o;r++){var a=t[r][1]instanceof Date?String(t[r][1].getTime()):t[r][1];n.push(urlEncode(t[r][0])+"="+urlEncode(a))}return n.join("&")},HttpPostDataLayout.prototype.ignoresThrowable=function(e){return!1},HttpPostDataLayout.prototype.toString=function(){return"HttpPostDataLayout"},log4javascript.HttpPostDataLayout=HttpPostDataLayout,function(){var e=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/,t=["January","February","March","April","May","June","July","August","September","October","November","December"],n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r={G:0,y:3,M:4,w:2,W:2,D:2,d:2,F:2,E:1,a:0,H:2,k:2,K:2,h:2,m:2,s:2,S:2,Z:5},o=function(e,t,n){var r=new Date(e,t,n,0,0,0);return r.setMilliseconds(0),r};Date.prototype.getDifference=function(e){return this.getTime()-e.getTime()},Date.prototype.isBefore=function(e){return this.getTime()<e.getTime()},Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())},Date.prototype.getTimeSince=function(e){return this.getUTCTime()-e.getUTCTime()},Date.prototype.getPreviousSunday=function(){var e=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0),t=new Date(e.getTime()-864e5*this.getDay());return o(t.getFullYear(),t.getMonth(),t.getDate())},Date.prototype.getWeekInYear=function(e){isUndefined(this.minimalDaysInFirstWeek)&&(e=1);var t=this.getPreviousSunday(),n=o(this.getFullYear(),0,1),r=t.isBefore(n)?0:1+Math.floor(t.getTimeSince(n)/6048e5);return 7-n.getDay()<e&&r--,r},Date.prototype.getWeekInMonth=function(e){isUndefined(this.minimalDaysInFirstWeek)&&(e=1);var t=this.getPreviousSunday(),n=o(this.getFullYear(),this.getMonth(),1),r=t.isBefore(n)?0:1+Math.floor(t.getTimeSince(n)/6048e5);return 7-n.getDay()>=e&&r++,r},Date.prototype.getDayInYear=function(){var e=o(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(e)/864e5)},(SimpleDateFormat=function(e){this.formatString=e}).prototype.setMinimalDaysInFirstWeek=function(e){this.minimalDaysInFirstWeek=e},SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?1:this.minimalDaysInFirstWeek};var a=function(e,t){for(;e.length<t;)e="0"+e;return e},i=function(e,t,n){return t>=4?e:e.substr(0,Math.max(n,t))},s=function(e,t){return a(""+e,t)};SimpleDateFormat.prototype.format=function(o){for(var l,c="",u=this.formatString;l=e.exec(u);){var d=l[1],p=l[2],h=l[3],g=l[4];if(d)c+="''"==d?"'":d.substring(1,d.length-1);else if(h);else if(g)c+=g;else if(p){var m=p.charAt(0),f=p.length,v="";switch(m){case"G":v="AD";break;case"y":v=o.getFullYear();break;case"M":v=o.getMonth();break;case"w":v=o.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case"W":v=o.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case"D":v=o.getDayInYear();break;case"d":v=o.getDate();break;case"F":v=1+Math.floor((o.getDate()-1)/7);break;case"E":v=n[o.getDay()];break;case"a":v=o.getHours()>=12?"PM":"AM";break;case"H":v=o.getHours();break;case"k":v=o.getHours()||24;break;case"K":v=o.getHours()%12;break;case"h":v=o.getHours()%12||12;break;case"m":v=o.getMinutes();break;case"s":v=o.getSeconds();break;case"S":v=o.getMilliseconds();break;case"Z":v=o.getTimezoneOffset()}switch(r[m]){case 0:c+=i(v,f,2);break;case 1:c+=i(v,f,3);break;case 2:c+=s(v,f);break;case 3:c+=f<=3?(""+v).substr(2,2):s(v,f);break;case 4:c+=f>=3?i(t[v],f,f):s(v+1,f);break;case 5:var y=v>0?"-":"+",b=Math.abs(v),w=""+Math.floor(b/60),C=""+b%60;c+=y+(w=a(w,2))+(C=a(C,2))}}u=u.substr(l.index+l[0].length)}return c}}(),log4javascript.SimpleDateFormat=SimpleDateFormat,PatternLayout.TTCC_CONVERSION_PATTERN="%r %p %c - %m%n",PatternLayout.DEFAULT_CONVERSION_PATTERN="%m%n",PatternLayout.ISO8601_DATEFORMAT="yyyy-MM-dd HH:mm:ss,SSS",PatternLayout.DATETIME_DATEFORMAT="dd MMM yyyy HH:mm:ss,SSS",PatternLayout.ABSOLUTETIME_DATEFORMAT="HH:mm:ss,SSS",PatternLayout.prototype=new Layout,PatternLayout.prototype.format=function(e){for(var t,n=/%(-?[0-9]+)?(\.?[0-9]+)?([acdfmMnpr%])(\{([^\}]+)\})?|([^%]+)/,r="",o=this.pattern;t=n.exec(o);){var a=t[0],i=t[1],s=t[2],l=t[3],c=t[5],u=t[6];if(u)r+=""+u;else{var d,p="";switch(l){case"a":case"m":var h=0;c&&(h=parseInt(c,10),isNaN(h)&&(handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character '"+l+"' - should be a number"),h=0));for(var g="a"===l?e.messages[0]:e.messages,m=0,f=g.length;m<f;m++)m>0&&" "!==p.charAt(p.length-1)&&(p+=" "),p+=0===h?g[m]:formatObjectExpansion(g[m],h);break;case"c":var v=e.logger.name;if(c){var y=parseInt(c,10),b=e.logger.name.split(".");p=y>=b.length?v:b.slice(b.length-y).join(".")}else p=v;break;case"d":var w=PatternLayout.ISO8601_DATEFORMAT;c&&("ISO8601"==(w=c)?w=PatternLayout.ISO8601_DATEFORMAT:"ABSOLUTE"==w?w=PatternLayout.ABSOLUTETIME_DATEFORMAT:"DATE"==w&&(w=PatternLayout.DATETIME_DATEFORMAT)),p=new SimpleDateFormat(w).format(e.timeStamp);break;case"f":if(this.hasCustomFields()){var C=0;c&&(C=parseInt(c,10),isNaN(C)?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - should be a number"):0===C?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - must be greater than zero"):C>this.customFields.length?handleError("PatternLayout.format: invalid specifier '"+c+"' for conversion character 'f' - there aren't that many custom fields"):C-=1);var x=this.customFields[C].value;"function"==typeof x&&(x=x(this,e)),p=x}break;case"n":p=newLine;break;case"p":p=e.level.name;break;case"r":p=""+e.timeStamp.getDifference(applicationStartDate);break;case"%":p="%";break;default:p=a}if(s){d=parseInt(s.substr(1),10);var E=p.length;d<E&&(p=p.substring(E-d,E))}if(i)if("-"==i.charAt(0))for(d=parseInt(i.substr(1),10);p.length<d;)p+=" ";else for(d=parseInt(i,10);p.length<d;)p=" "+p;r+=p}o=o.substr(t.index+t[0].length)}return r},PatternLayout.prototype.ignoresThrowable=function(){return!0},PatternLayout.prototype.toString=function(){return"PatternLayout"},log4javascript.PatternLayout=PatternLayout,AlertAppender.prototype=new Appender,AlertAppender.prototype.layout=new SimpleLayout,AlertAppender.prototype.append=function(e){alert(this.getLayout().formatWithException(e))},AlertAppender.prototype.toString=function(){return"AlertAppender"},log4javascript.AlertAppender=AlertAppender,BrowserConsoleAppender.prototype=new log4javascript.Appender,BrowserConsoleAppender.prototype.layout=new NullLayout,BrowserConsoleAppender.prototype.threshold=Level.DEBUG,BrowserConsoleAppender.prototype.append=function(e){var t,n=this,r=function(t){var r=n.getLayout().formatWithException(e);return"string"==typeof r?t?r:[r]:t?r.join(" "):r},o=window.console;o&&o.log?"function"==typeof o[t=o.debug&&Level.DEBUG.isGreaterOrEqual(e.level)?"debug":o.info&&Level.INFO.equals(e.level)?"info":o.warn&&Level.WARN.equals(e.level)?"warn":o.error&&e.level.isGreaterOrEqual(Level.ERROR)?"error":"log"].apply?o[t].apply(o,r(!1)):o[t](r(!0)):"undefined"!=typeof opera&&opera.postError&&opera.postError(r(!0))},BrowserConsoleAppender.prototype.group=function(e){window.console&&window.console.group&&window.console.group(e)},BrowserConsoleAppender.prototype.groupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},BrowserConsoleAppender.prototype.toString=function(){return"BrowserConsoleAppender"},log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest},xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],withCredentialsSupported=!1,getXmlHttp=function(e){for(var t,n=null,r=0,o=xmlHttpFactories.length;r<o;r++){t=xmlHttpFactories[r];try{return n=t(),withCredentialsSupported=t==xhrFactory&&"withCredentials"in n,getXmlHttp=t,n}catch(e){}}e?e():handleError("getXmlHttp: unable to obtain XMLHttpRequest object")},ConsoleAppender;function isHttpRequestSuccessful(e){return isUndefined(e.status)||0===e.status||e.status>=200&&e.status<300||1223==e.status}function AjaxAppender(e,t){var n=this,r=!0;e||(handleError("AjaxAppender: URL must be specified in constructor"),r=!1);var o=this.defaults.timed,a=this.defaults.waitForResponse,i=this.defaults.batchSize,s=this.defaults.timerInterval,l=this.defaults.requestSuccessCallback,c=this.defaults.failCallback,u=this.defaults.postVarName,d=this.defaults.sendAllOnUnload,p=this.defaults.contentType,h=null,g=[],m=[],f=[],v=!1,y=!1;function b(e){return!y||(handleError("AjaxAppender: configuration option '"+e+"' may not be set after the appender has been initialized"),!1)}function w(){var e;if(r&&enabled)if(v=!0,a)m.length>0?S(x(e=m.shift()),w):(v=!1,o&&E());else{for(;e=m.shift();)S(x(e));v=!1,o&&E()}}function C(){var e=!1;if(r&&enabled){for(var t,s=n.getLayout().allowBatching()?i:1,l=[];t=g.shift();)l.push(t),g.length>=s&&(m.push(l),l=[]);l.length>0&&m.push(l),e=m.length>0,a=!1,o=!1,w()}return e}function x(e){for(var t,r=[],o="";t=e.shift();)r.push(n.getLayout().formatWithException(t));return o=1==e.length?r.join(""):n.getLayout().batchHeader+r.join(n.getLayout().batchSeparator)+n.getLayout().batchFooter,p==n.defaults.contentType&&((o=n.getLayout().returnsPostData?o:urlEncode(u)+"="+urlEncode(o)).length>0&&(o+="&"),o+="layout="+urlEncode(n.getLayout().toString())),o}function E(){window.setTimeout(w,s)}function L(){var e="AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled";handleError(e),r=!1,c&&c(e)}function S(n,o){try{var a=getXmlHttp(L);if(r){a.onreadystatechange=function(){if(4==a.readyState){if(isHttpRequestSuccessful(a))l&&l(a),o&&o(a);else{var t="AjaxAppender.append: XMLHttpRequest request to URL "+e+" returned status code "+a.status;handleError(t),c&&c(t)}a.onreadystatechange=emptyFunction,a=null}},a.open("POST",e,!0),t&&withCredentialsSupported&&(a.withCredentials=!0);try{for(var i,s=0;i=f[s++];)a.setRequestHeader(i.name,i.value);a.setRequestHeader("Content-Type",p)}catch(e){var u="AjaxAppender.append: your browser's XMLHttpRequest implementation does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled";return handleError(u),r=!1,void(c&&c(u))}a.send(n)}}catch(t){var d="AjaxAppender.append: error sending log message to "+e;handleError(d,t),r=!1,c&&c(d+". Details: "+getExceptionStringRep(t))}}this.getSessionId=function(){return h},this.setSessionId=function(e){h=extractStringFromParam(e,null),this.layout.setCustomField("sessionid",h)},this.setLayout=function(e){b("layout")&&(this.layout=e,null!==h&&this.setSessionId(h))},this.isTimed=function(){return o},this.setTimed=function(e){b("timed")&&(o=bool(e))},this.getTimerInterval=function(){return s},this.setTimerInterval=function(e){b("timerInterval")&&(s=extractIntFromParam(e,s))},this.isWaitForResponse=function(){return a},this.setWaitForResponse=function(e){b("waitForResponse")&&(a=bool(e))},this.getBatchSize=function(){return i},this.setBatchSize=function(e){b("batchSize")&&(i=extractIntFromParam(e,i))},this.isSendAllOnUnload=function(){return d},this.setSendAllOnUnload=function(e){b("sendAllOnUnload")&&(d=extractBooleanFromParam(e,d))},this.setRequestSuccessCallback=function(e){l=extractFunctionFromParam(e,l)},this.setFailCallback=function(e){c=extractFunctionFromParam(e,c)},this.getPostVarName=function(){return u},this.setPostVarName=function(e){b("postVarName")&&(u=extractStringFromParam(e,u))},this.getHeaders=function(){return f},this.addHeader=function(e,t){"content-type"==e.toLowerCase()?p=t:f.push({name:e,value:t})},this.sendAll=w,this.sendAllRemaining=C,this.append=function(e){if(r){y||function(){if(y=!0,d){var e=window.onbeforeunload;window.onbeforeunload=function(){e&&e(),C()}}o&&E()}(),g.push(e);var t=this.getLayout().allowBatching()?i:1;if(g.length>=t){for(var n,s=[];n=g.shift();)s.push(n);m.push(s),o||a&&(!a||v)||w()}}}}function setCookie(e,t,n,r){var o;if(r=r?"; path="+r:"",n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),o="; expires="+a.toGMTString()}else o="";document.cookie=escape(e)+"="+escape(t)+o+r}function getCookie(e){for(var t=escape(e)+"=",n=document.cookie.split(";"),r=0,o=n.length;r<o;r++){for(var a=n[r];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return unescape(a.substring(t.length,a.length))}return null}function getBaseUrl(){for(var e=document.getElementsByTagName("script"),t=0,n=e.length;t<n;++t)if(-1!=e[t].src.indexOf("log4javascript")){var r=e[t].src.lastIndexOf("/");return-1==r?"":e[t].src.substr(0,r+1)}return null}function isLoaded(e){try{return bool(e.loaded)}catch(e){return!1}}function padWithSpaces(e,t){if(e.length<t){for(var n=[],r=Math.max(0,t-e.length),o=0;o<r;o++)n[o]=" ";e+=n.join("")}return e}function createDefaultLogger(){var e=log4javascript.getLogger(defaultLoggerName),t=new log4javascript.PopUpAppender;return e.addAppender(t),e}if(AjaxAppender.prototype=new Appender,AjaxAppender.prototype.defaults={waitForResponse:!1,timed:!1,timerInterval:1e3,batchSize:1,sendAllOnUnload:!1,requestSuccessCallback:null,failCallback:null,postVarName:"data",contentType:"application/x-www-form-urlencoded"},AjaxAppender.prototype.layout=new HttpPostDataLayout,AjaxAppender.prototype.toString=function(){return"AjaxAppender"},log4javascript.AjaxAppender=AjaxAppender,function(){var e=[],t=1;function n(e,t,n,r,o){this.create(!1,null,e,t,n,r,o,this.defaults.focusPopUp)}function r(e,t,n,r,o,a){this.create(!0,e,t,n,r,o,a,!1)}(ConsoleAppender=function(){}).prototype=new Appender,ConsoleAppender.prototype.create=function(n,r,o,a,i,s,l,c){var u=this,d=!1,p=!1,h=!1,g=!1,m=[],f=!0,v=t++;a=extractBooleanFromParam(a,this.defaults.initiallyMinimized),o=extractBooleanFromParam(o,this.defaults.lazyInit),i=extractBooleanFromParam(i,this.defaults.useDocumentWrite);var y=this.defaults.newestMessageAtTop,b=this.defaults.scrollToLatestMessage;s=s||this.defaults.width,l=l||this.defaults.height;var w,C,x,E,L,S=this.defaults.maxMessages,T=this.defaults.showCommandLine,M=this.defaults.commandLineObjectExpansionDepth,A=this.defaults.showHideButton,I=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var k=n?"InPageAppender":"PopUpAppender",D=function(e){return!p||(handleError(k+": configuration option '"+e+"' may not be set after the appender has been initialized"),!1)},N=function(){return h&&f&&!g};this.isNewestMessageAtTop=function(){return y},this.setNewestMessageAtTop=function(e){y=bool(e),N()&&E().setNewestAtTop(y)},this.isScrollToLatestMessage=function(){return b},this.setScrollToLatestMessage=function(e){b=bool(e),N()&&E().setScrollToLatest(b)},this.getWidth=function(){return s},this.setWidth=function(e){D("width")&&(s=extractStringFromParam(e,s))},this.getHeight=function(){return l},this.setHeight=function(e){D("height")&&(l=extractStringFromParam(e,l))},this.getMaxMessages=function(){return S},this.setMaxMessages=function(e){S=extractIntFromParam(e,S),N()&&E().setMaxMessages(S)},this.isShowCommandLine=function(){return T},this.setShowCommandLine=function(e){T=bool(e),N()&&E().setShowCommandLine(T)},this.isShowHideButton=function(){return A},this.setShowHideButton=function(e){A=bool(e),N()&&E().setShowHideButton(A)},this.isShowCloseButton=function(){return I},this.setShowCloseButton=function(e){I=bool(e),N()&&E().setShowCloseButton(I)},this.getCommandLineObjectExpansionDepth=function(){return M},this.setCommandLineObjectExpansionDepth=function(e){M=extractIntFromParam(e,M)};var R=a;function O(e,t){this.loggingEvent=e,this.levelName=e.level.name,this.formattedMessage=t}function F(e,t){this.name=e,this.initiallyExpanded=t}function P(){}this.isInitiallyMinimized=function(){return a},this.setInitiallyMinimized=function(e){D("initiallyMinimized")&&(a=bool(e),R=a)},this.isUseDocumentWrite=function(){return i},this.setUseDocumentWrite=function(e){D("useDocumentWrite")&&(i=bool(e))},O.prototype.append=function(){E().log(this.levelName,this.formattedMessage)},F.prototype.append=function(){E().group(this.name,this.initiallyExpanded)},P.prototype.append=function(){E().groupEnd()};var $=function(){x(),d?g&&ee&&C():w(),x()&&j()};this.append=function(e){if(f){var t=u.getLayout().formatWithException(e);m.push(new O(e,t)),$()}},this.group=function(e,t){f&&(m.push(new F(e,t)),$())},this.groupEnd=function(){f&&(m.push(new P),$())};var j=function(){for(;m.length>0;)m.shift().append();c&&E().focus()};this.setAddedToLogger=function(e){this.loggers.push(e),enabled&&!o&&w()},this.clear=function(){N()&&E().clearLog(),m.length=0},this.focus=function(){N()&&E().focus()},this.focusCommandLine=function(){N()&&E().focusCommandLine()},this.focusSearch=function(){N()&&E().focusSearch()};var B=window;this.getCommandWindow=function(){return B},this.setCommandWindow=function(e){B=e},this.executeLastCommand=function(){N()&&E().evalLastCommand()};var _=new PatternLayout("%m");this.getCommandLayout=function(){return _},this.setCommandLayout=function(e){_=e},this.evalCommandAndAppend=function(e){var t={appendResult:!0,isError:!1},n="";try{var r,o;!B.eval&&B.execScript&&B.execScript("null");var a={};for(o=0,len=H.length;o<len;o++)a[H[o][0]]=H[o][1];var i=[],s=function(e){i.push([e,B[e]])};s("appender"),B.appender=u,s("commandReturnValue"),B.commandReturnValue=t,s("commandLineFunctionsHash"),B.commandLineFunctionsHash=a;var l=function(e){s(e),B[e]=function(){return this.commandLineFunctionsHash[e](u,arguments,t)}};for(o=0,len=H.length;o<len;o++)l(H[o][0]);for(B===window&&B.execScript?(s("evalExpr"),s("result"),window.evalExpr=e,B.execScript("window.result=eval(window.evalExpr);"),r=window.result):r=B.eval(e),n=isUndefined(r)?r:formatObjectExpansion(r,M),o=0,len=i.length;o<len;o++)B[i[o][0]]=i[o][1]}catch(e){n="Error evaluating command: "+getExceptionStringRep(e),t.isError=!0}if(t.appendResult){var c=">>> "+e;isUndefined(n)||(c+=newLine+n);var d=t.isError?Level.ERROR:Level.INFO,p=new LoggingEvent(null,new Date,d,[c],null),h=this.getLayout();this.setLayout(_),this.append(p),this.setLayout(h)}};var H=e.concat([]);this.addCommandLineFunction=function(e,t){H.push([e,t])},this.storeCommandHistory=function(e){setCookie("log4javascriptCommandHistory",e.join(","))};var W=function(e){var t=['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">','<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">',"<head>","<title>log4javascript</title>",'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',"\x3c!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work --\x3e",'<meta http-equiv="X-UA-Compatible" content="IE=7" />','<script type="text/javascript">var isIe = false, isIePre7 = false;<\/script>','\x3c!--[if IE]><script type="text/javascript">isIe = true<\/script><![endif]--\x3e','\x3c!--[if lt IE 7]><script type="text/javascript">isIePre7 = true<\/script><![endif]--\x3e','<script type="text/javascript">',"//<![CDATA[","var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}","function LogItem(){}","LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}","this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}","this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}","if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}","if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}",'LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="separator";this.mainDiv.innerHTML=" ";}',"SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}","Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}",'this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement("div"));this.contentDiv.id=this.isWrapped?"log_wrapped":"log_unwrapped";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement("div");this.mainDiv.className="group";this.headingDiv=this.mainDiv.appendChild(document.createElement("div"));this.headingDiv.className="groupheading";this.expander=this.headingDiv.appendChild(document.createElement("span"));this.expander.className="expander unselectable greyedout";this.expander.unselectable=true;var expanderText=this.group.expanded?"-":"+";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(" "+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement("div"));var contentCssClass=this.group.expanded?"expanded":"collapsed";this.contentDiv.className="groupcontent "+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass="expanded";oldCssClass="collapsed";expanderText="-";}else{newCssClass="collapsed";oldCssClass="expanded";expanderText="+";}',"replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}",'while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,"greyedout");}else{addClass(this.expander,"greyedout");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML="";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}',"Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}","this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}","this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}","this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}","this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}","if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}",'LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML="";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?"searchnonmatch":"searchmatch";var newCssClass=isMatch?"searchmatch":"searchnonmatch";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,"searchmatch");removeClass(this.mainDiv,"searchnonmatch");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className="logentry wrapped "+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML="";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="logentry unwrapped "+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement("pre"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className="unwrapped";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement("div");this.mainDiv.className="logentry nonielogentry "+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement("span"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}',"LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}",'LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\r\\n/g,"\\r");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\r\\n/g,"\\r");}',"for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}",'this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,"searchterm","span");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,"searchterm","span");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,"searchterm","span");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}',"return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}","LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}",'GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split("&"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split("=");if(nameValueBits[0]=="log4javascript_domain"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$("log");if(isIePre7){addClass(logMainContainer,"oldIe");}','rootGroup=new Group("root",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$("command").value="";$("command").autocomplete="off";$("command").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value="";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$("command").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$("command").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}',"break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}","break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}","break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}",'appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($("enableLogging").checked);}',"function setLoggingEnabled(enable){loggingEnabled=enable;}","var appender=null;function setAppender(appenderParam){appender=appenderParam;}",'function setShowCloseButton(showCloseButton){$("closeButton").style.display=showCloseButton?"inline":"none";}','function setShowHideButton(showHideButton){$("hideButton").style.display=showHideButton?"inline":"none";}',"var newestAtTop=false;function LogItemContentReverser(){}","LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}","matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}","currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}",'$("newestAtTop").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$("newestAtTop").checked;setNewestAtTop(isNewestAtTop);}',"var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}",'$("scrollToLatest").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$("scrollToLatest").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!="undefined"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}',"var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}","var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}",'var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$("commandLine").style.display=showCommandLine?"block":"none";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$("command").focus();}}','function focusSearch(){if(loaded){$("searchBox").focus();}}',"function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}","return items;}","function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}","loggingEnabled=loggingReallyEnabled;}","function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}","logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}","function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}","if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}","displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}","if(scrollToLatest){doScrollToLatest();}","unrenderedLogItemsExist=false;}","function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}","var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}","logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}","return false;}",'function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded==="undefined")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}',"logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}","function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}","function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}","function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}","function hide(){if(appender&&mainWindowExists()){appender.hide();}}",'var mainWindow=window;var windowId="log4javascriptConsoleWindow_"+new Date().getTime()+"_"+(""+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}',"function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}","function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}","return false;}",'var logLevels=["TRACE","DEBUG","INFO","WARN","ERROR","FATAL"];function getCheckBox(logLevel){return $("switch_"+logLevel);}','function getIeWrappedLogContainer(){return $("log_wrapped");}','function getIeUnwrappedLogContainer(){return $("log_unwrapped");}',"function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}","updateSearchFromFilters();}",'function toggleAllLevels(){var turnOn=$("switch_ALL").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox("ALL").checked=false;return;}}','getCheckBox("ALL").checked=true;}',"function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}",'function toggleWrap(){var enable=$("wrap").checked;if(enable){addClass(logMainContainer,"wrap");}else{removeClass(logMainContainer,"wrap");}',"refreshCurrentMatch();}","var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}","searchTimer=setTimeout(doSearch,500);}","function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}","Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}","return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}","return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}","for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}","return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}","for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}",'return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag="<span class=\\"searchterm\\">";var searchTermReplacementEndTag="<"+"/span>";var preTagName=isIe?"pre":"span";var preStartTag="<"+preTagName+" class=\\"pre\\">";var preEndTag="<"+"/"+preTagName+">";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?"g":"gi";var capturingRegex=new RegExp("("+this.searchRegex.source+")",flags);var rnd=(""+Math.random()).substr(2);var startToken="%%s"+rnd+"%%";var endToken="%%e"+rnd+"%%";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+"$1"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent="";wrappedLogEntryContent="";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+',"preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+","matchedText+searchTermReplacementEndTag;}","startIndex=endTokenIndex+endToken.length;}",'logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent="";wrappedLogEntryContent="";var searchTermReplacementLength=searchTermReplacementStartTag.length+',"this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+","preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+","matchedText+searchTermReplacementEndTag;}","startIndex=searchIndex+searchTermLength;}","var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}","logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}","return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}","var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}","for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}","if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}","setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&¤tEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}","return y;}",'function scrollIntoView(el){var logContainer=logMainContainer;if(!$("wrap").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}',"var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}","function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}","this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}",'Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,"currentmatch");addClass(this.spanInWrappedDiv,"currentmatch");var elementToScroll=$("wrap").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,"currentmatch");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,"currentmatch");removeClass(this.spanInWrappedDiv,"currentmatch");}else{removeClass(this.spanInMainDiv,"currentmatch");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$("searchBox");var searchTerm=searchBox.value;var isRegex=$("searchRegex").checked;var isCaseSensitive=$("searchCaseSensitive").checked;var i;if(searchTerm===""){$("searchReset").disabled=true;$("searchNav").style.display="none";removeClass(document.body,"searching");removeClass(searchBox,"hasmatches");removeClass(searchBox,"nomatches");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$("searchReset").disabled=false;$("searchNav").style.display="block";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,"g"):new RegExp(searchTerm,"gi");regexValid=true;replaceClass(searchBox,"validregex","invalidregex");searchBox.title="Valid regex";}catch(ex){regexValid=false;replaceClass(searchBox,"invalidregex","validregex");searchBox.title="Invalid regex: "+(ex.message?ex.message:(ex.description?ex.description:"unknown error"));return;}}else{searchBox.title="";removeClass(searchBox,"validregex");removeClass(searchBox,"invalidregex");}','addClass(document.body,"searching");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}',"setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}","function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}","var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}","function refreshCurrentMatch(){if(currentSearch&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}",'function displayMatches(){replaceClass($("searchBox"),"hasmatches","nomatches");$("searchBox").title=""+currentSearch.matches.length+" matches found";$("searchNav").style.display="block";setLogContainerHeight();}','function displayNoMatches(){replaceClass($("searchBox"),"nomatches","hasmatches");$("searchBox").title="No matches found";$("searchNav").style.display="none";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable=="undefined")?!$("searchDisable").checked:enable;$("searchBox").disabled=!enable;$("searchReset").disabled=!enable;$("searchRegex").disabled=!enable;$("searchNext").disabled=!enable;$("searchPrevious").disabled=!enable;$("searchCaseSensitive").disabled=!enable;$("searchNav").style.display=(enable&&($("searchBox").value!=="")&¤tSearch&¤tSearch.hasVisibleMatches())?"block":"none";if(enable){removeClass($("search"),"greyedout");addClass(document.body,"searching");if($("searchHighlight").checked){addClass(logMainContainer,"searchhighlight");}else{removeClass(logMainContainer,"searchhighlight");}','if($("searchFilter").checked){addClass(logMainContainer,"searchfilter");}else{removeClass(logMainContainer,"searchfilter");}','$("searchDisable").checked=!enable;}else{addClass($("search"),"greyedout");removeClass(document.body,"searching");removeClass(logMainContainer,"searchhighlight");removeClass(logMainContainer,"searchfilter");}',"setLogContainerHeight();}",'function toggleSearchFilter(){var enable=$("searchFilter").checked;if(enable){addClass(logMainContainer,"searchfilter");}else{removeClass(logMainContainer,"searchfilter");}',"refreshCurrentMatch();}",'function toggleSearchHighlight(){var enable=$("searchHighlight").checked;if(enable){addClass(logMainContainer,"searchhighlight");}else{removeClass(logMainContainer,"searchhighlight");}}','function clearSearch(){$("searchBox").value="";doSearch();}','function searchNext(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm("Reached the end of the page. Start from the top?")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm("Reached the start of the page. Continue from the bottom?")){setCurrentMatchIndex(previousMatchIndex);}}}',"function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}",'function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=" "+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(" ");return array_contains(classNames,cssClass);}',"return false;}",'function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(" ");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(" ");}}',"function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}","function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}","return matches;}","function $(id){return document.getElementById(id);}","function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}","node=node.parentNode;}","return false;}","function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}","currentNode=currentNode.parentNode;}","return true;}",'function escapeHtml(str){return str.replace(/&/g,"&").replace(/[<]/g,"<").replace(/>/g,">");}',"function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}","return 0;}","function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}","return 0;}",'function getToolBarsHeight(){return $("switches").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$("commandLine").offsetHeight;}',"return height;}",'function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$("body").style.height=getWindowHeight()+"px";logMainContainer.style.height=""+','Math.max(0,windowHeight-getChromeHeight())+"px";}}','function setCommandInputWidth(){if(showCommandLine){$("command").style.width=""+Math.max(0,$("commandLineContainer").offsetWidth-','($("evaluateButton").offsetWidth+13))+"px";}}',"window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}","return this.length;};}","if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}","if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}","this.length=this.length-1;return firstItem;}};}","if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}","var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}","return itemsDeleted;};}","function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}","if(index>=0){arr.splice(index,1);return index;}else{return false;}}","function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}","array.length=array.length-numberToRemove;}","return array;}","function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}","return false;}","function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}",'return""+ex;}',"function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}","input.focus();}",'function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!="undefined"){evt.cancelBubble=true;}}',"function getEvent(evt){return evt?evt:event;}","function getTarget(evt){return evt.target?evt.target:evt.srcElement;}",'function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case"mouseover":return evt.fromElement;case"mouseout":return evt.toElement;default:return evt.srcElement;}}}',"function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}",'function evalCommandLine(){var expr=$("command").value;evalCommand(expr);$("command").value="";}',"function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}",'var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=">>> "+expr+"\\r\\n";try{log("INFO",prefix+eval(expr));}catch(ex){log("ERROR",prefix+"Error: "+getErrorMessage(ex));}}',"if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}","currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}","//]]>","<\/script>",'<style type="text/css">',"body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}","</style>","</head>",'<body id="body">','<div id="switchesContainer">','<div id="switches">','<div id="levels" class="toolbar">',"Filters:",'<input type="checkbox" id="switch_TRACE" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide trace messages" /><label for="switch_TRACE" id="label_TRACE">trace</label>','<input type="checkbox" id="switch_DEBUG" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide debug messages" /><label for="switch_DEBUG" id="label_DEBUG">debug</label>','<input type="checkbox" id="switch_INFO" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide info messages" /><label for="switch_INFO" id="label_INFO">info</label>','<input type="checkbox" id="switch_WARN" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide warn messages" /><label for="switch_WARN" id="label_WARN">warn</label>','<input type="checkbox" id="switch_ERROR" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide error messages" /><label for="switch_ERROR" id="label_ERROR">error</label>','<input type="checkbox" id="switch_FATAL" onclick="applyFilters(); checkAllLevels()" checked="checked" title="Show/hide fatal messages" /><label for="switch_FATAL" id="label_FATAL">fatal</label>','<input type="checkbox" id="switch_ALL" onclick="toggleAllLevels(); applyFilters()" checked="checked" title="Show/hide all messages" /><label for="switch_ALL" id="label_ALL">all</label>',"</div>",'<div id="search" class="toolbar">','<label for="searchBox" class="searchboxlabel">Search:</label> <input type="text" id="searchBox" onclick="toggleSearchEnabled(true)" onkeyup="scheduleSearch()" size="20" />','<input type="button" id="searchReset" disabled="disabled" value="Reset" onclick="clearSearch()" class="button" title="Reset the search" />','<input type="checkbox" id="searchRegex" onclick="doSearch()" title="If checked, search is treated as a regular expression" /><label for="searchRegex">Regex</label>','<input type="checkbox" id="searchCaseSensitive" onclick="doSearch()" title="If checked, search is case sensitive" /><label for="searchCaseSensitive">Match case</label>','<input type="checkbox" id="searchDisable" onclick="toggleSearchEnabled()" title="Enable/disable search" /><label for="searchDisable" class="alwaysenabled">Disable</label>','<div id="searchNav">','<input type="button" id="searchNext" disabled="disabled" value="Next" onclick="searchNext()" class="button" title="Go to the next matching log entry" />','<input type="button" id="searchPrevious" disabled="disabled" value="Previous" onclick="searchPrevious()" class="button" title="Go to the previous matching log entry" />','<input type="checkbox" id="searchFilter" onclick="toggleSearchFilter()" title="If checked, non-matching log entries are filtered out" /><label for="searchFilter">Filter</label>','<input type="checkbox" id="searchHighlight" onclick="toggleSearchHighlight()" title="Highlight matched search terms" /><label for="searchHighlight" class="alwaysenabled">Highlight all</label>',"</div>","</div>",'<div id="options" class="toolbar">',"Options:",'<input type="checkbox" id="enableLogging" onclick="toggleLoggingEnabled()" checked="checked" title="Enable/disable logging" /><label for="enableLogging" id="enableLoggingLabel">Log</label>','<input type="checkbox" id="wrap" onclick="toggleWrap()" title="Enable / disable word wrap" /><label for="wrap" id="wrapLabel">Wrap</label>','<input type="checkbox" id="newestAtTop" onclick="toggleNewestAtTop()" title="If checked, causes newest messages to appear at the top" /><label for="newestAtTop" id="newestAtTopLabel">Newest at the top</label>','<input type="checkbox" id="scrollToLatest" onclick="toggleScrollToLatest()" checked="checked" title="If checked, window automatically scrolls to a new message when it is added" /><label for="scrollToLatest" id="scrollToLatestLabel">Scroll to latest</label>','<input type="button" id="clearButton" value="Clear" onclick="clearLog()" class="button" title="Clear all log messages" />','<input type="button" id="hideButton" value="Hide" onclick="hide()" class="hidden button" title="Hide the console" />','<input type="button" id="closeButton" value="Close" onclick="closeWindow()" class="hidden button" title="Close the window" />',"</div>","</div>","</div>",'<div id="log" class="TRACE DEBUG INFO WARN ERROR FATAL"></div>','<div id="commandLine" class="toolbar">','<div id="commandLineContainer">','<input type="text" id="command" title="Enter a JavaScript command here and hit return or press \'Evaluate\'" />','<input type="button" id="evaluateButton" value="Evaluate" class="button" title="Evaluate the command" onclick="evalCommandLine()" />',"</div>","</div>","</body>","</html>",""];e.open();for(var n=0,r=t.length;n<r;n++)e.writeln(t[n]);e.close()};this.setEventTypes(["load","unload"]);var U=function(){var e=E();e.setAppender(u),e.setNewestAtTop(y),e.setScrollToLatest(b),e.setMaxMessages(S),e.setShowCommandLine(T),e.setShowHideButton(A),e.setShowCloseButton(I),e.setMainWindow(window);var t=getCookie("log4javascriptCommandHistory");t&&(e.commandHistory=t.split(","),e.currentCommandIndex=e.commandHistory.length),u.dispatchEvent("load",{win:e})};this.unload=function(){logLog.debug("unload "+this+", caller: "+this.unload.caller),g||(logLog.debug("really doing unload "+this),g=!0,h=!1,p=!1,u.dispatchEvent("unload",{}))};var G=function(e,t,n,r){var o=setInterval((function(){try{g&&clearInterval(o),e(E())&&(clearInterval(o),n())}catch(e){clearInterval(o),f=!1,handleError(r,e)}}),t)},q=function(){var e=document.domain!=location.hostname;return i?"":getBaseUrl()+"console.html"+(e?"?log4javascript_domain="+escape(document.domain):"")};if(n){var V=null,K=[];this.addCssProperty=function(e,t){D("cssProperties")&&K.push([e,t])};var z,X=!1,J=uniqueId+"_InPageAppender_"+v;this.hide=function(){d&&p&&(N()&&E().$("command").blur(),z.style.display="none",R=!0)},this.show=function(){d&&(p?(z.style.display="block",this.setShowCommandLine(T),R=!1):X||C(!0))},this.isVisible=function(){return!R&&!g},this.close=function(e){g||e&&!confirm("This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?")||(z.parentNode.removeChild(z),this.unload())},L=function(){var e="InPageAppender.open: unable to create console iframe";function t(){try{a||u.show(),U(),h=!0,j()}catch(t){f=!1,handleError(e,t)}}function n(){try{var n=function(e){return isLoaded(e)};i&&W(E().document),n(E())?t():G(n,100,t,e)}catch(t){f=!1,handleError(e,t)}}R=!1,(z=V.appendChild(document.createElement("div"))).style.width=s,z.style.height=l,z.style.border="solid gray 1px";for(var r=0,o=K.length;r<o;r++)z.style[K[r][0]]=K[r][1];var c=i?"":" src='"+q()+"'";z.innerHTML="<iframe id='"+J+"' name='"+J+"' width='100%' height='100%' frameborder='0'"+c+" scrolling='no'></iframe>",g=!1;var d=function(e){try{return bool(e)&&bool(e.document)}catch(e){return!1}};d(E())?n():G(d,100,n,e),p=!0},C=function(e){if(e||!a){var t=function(){if(r)try{var e=document.getElementById(r);1==e.nodeType&&(V=e),L()}catch(e){handleError("InPageAppender.init: invalid container element '"+r+"' supplied",e)}else(V=document.createElement("div")).style.position="fixed",V.style.left="0",V.style.right="0",V.style.bottom="0",document.body.appendChild(V),u.addCssProperty("borderWidth","1px 0 0 0"),u.addCssProperty("zIndex",1e6),L()};pageLoaded&&r&&r.appendChild?(V=r,L()):pageLoaded?t():log4javascript.addEventListener("load",t),X=!0}},w=function(){C(),d=!0},E=function(){var e=window.frames[J];if(e)return e},x=function(){return!(!f||g)&&(p&&!h&&E()&&isLoaded(E())&&(h=!0),h)}}else{var Y,Q=u.defaults.useOldPopUp,Z=u.defaults.complainAboutPopUpBlocking,ee=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return Q},this.setUseOldPopUp=function(e){D("useOldPopUp")&&(Q=bool(e))},this.isComplainAboutPopUpBlocking=function(){return Z},this.setComplainAboutPopUpBlocking=function(e){D("complainAboutPopUpBlocking")&&(Z=bool(e))},this.isFocusPopUp=function(){return c},this.setFocusPopUp=function(e){c=bool(e)},this.isReopenWhenClosed=function(){return ee},this.setReopenWhenClosed=function(e){ee=bool(e)},this.close=function(){logLog.debug("close "+this);try{Y.close(),this.unload()}catch(e){}},this.hide=function(){logLog.debug("hide "+this),N()&&this.close()},this.show=function(){logLog.debug("show "+this),p||L()},this.isVisible=function(){return x()},L=function(){var e="width="+s+",height="+l+",status,resizable",t="";try{var n=window.frameElement;n&&(t="_"+n.tagName+"_"+(n.name||n.id||""))}catch(e){t="_inaccessibleParentFrame"}var r="PopUp_"+location.host.replace(/[^a-z0-9]/gi,"_")+"_"+v+t;Q&&i||(r=r+"_"+uniqueId);var o=function(e){if(g)return!0;try{return bool(e)&&e.closed}catch(e){}return!1},a=function(){g||u.unload()};function c(){E().setCloseIfOpenerCloses(!Q||!i),U(),h=!0,j(),G(o,500,a,"PopUpAppender.checkPopUpClosed: error checking pop-up window")}try{Y=window.open(q(),r,e),g=!1,p=!0,Y&&Y.document?i&&Q&&isLoaded(Y)?(Y.mainPageReloaded(),c()):(i&&W(Y.document),isLoaded(Y)?c():G((function(e){return bool(e)&&isLoaded(e)}),100,c,"PopUpAppender.init: unable to create console window")):(f=!1,logLog.warn("PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender"),Z&&handleError("log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging."))}catch(e){handleError("PopUpAppender.init: error creating pop-up",e)}},C=function(){a||L()},w=function(){C(),d=!0},E=function(){return Y},x=function(){if(f&&!isUndefined(Y)&&!g){if(Y.closed||h&&isUndefined(Y.closed))return u.unload(),logLog.debug("PopUpAppender: pop-up closed"),!1;!h&&isLoaded(Y)&&(h=!0)}return f&&h&&!g}}this.getConsoleWindow=E},ConsoleAppender.addGlobalCommandLineFunction=function(t,n){e.push([t,n])},n.prototype=new ConsoleAppender,n.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),initiallyMinimized:!1,focusPopUp:!1,lazyInit:!0,useOldPopUp:!0,complainAboutPopUpBlocking:!0,newestMessageAtTop:!1,scrollToLatestMessage:!0,width:"600",height:"400",reopenWhenClosed:!1,maxMessages:null,showCommandLine:!0,commandLineObjectExpansionDepth:1,showHideButton:!1,showCloseButton:!0,useDocumentWrite:!0},n.prototype.toString=function(){return"PopUpAppender"},log4javascript.PopUpAppender=n,r.prototype=new ConsoleAppender,r.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),initiallyMinimized:!1,lazyInit:!0,newestMessageAtTop:!1,scrollToLatestMessage:!0,width:"100%",height:"220px",maxMessages:null,showCommandLine:!0,commandLineObjectExpansionDepth:1,showHideButton:!1,showCloseButton:!1,showLogEntryDeleteButtons:!0,useDocumentWrite:!0},r.prototype.toString=function(){return"InPageAppender"},log4javascript.InPageAppender=r,log4javascript.InlineAppender=r}(),function(){function e(e){var t=0;for(var n in e)t=Math.max(toStr(n).length,t);var r=[];for(n in e){var o,a=" "+padWithSpaces(toStr(n),t+2);try{o=splitIntoLines(toStr(e[n])).join(padWithSpaces(newLine,t+6))}catch(e){o="[Error obtaining property. Details: "+getExceptionMessage(e)+"]"}r.push(a+o)}return r.join(newLine)}var t=1,n=3,r=4,o=9,a=11,i=["script","pre"],s=["br","img","hr","param","link","area","input","col","base","meta"];function l(e,c,u,d,p){var h,g,m,f,v;function y(e){for(var t=e.style.cssText.split(";"),n="",r=0,o=t.length;r<o;r++){var a=t[r].split(":"),i=[];/^\s*$/.test(a[0])||i.push(trim(a[0]).toLowerCase()+":"+trim(a[1])),n=i.join(";")}return n}if("string"!=typeof u&&(u=""),d=!!d,p=!!p,!(c=void 0===c||!!c)||e.nodeType==a){for(h="",g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u+" ");return h}switch(e.nodeType){case t:var b=e.tagName.toLowerCase();h=d?newLine+u:"",h+="<";var w=(v=e).prefix?v.prefix:v.outerHTML&&new RegExp("<([^:]+):"+v.tagName+"[^>]*>","i").test(v.outerHTML)?RegExp.$1.toLowerCase():"",C=!!w;for(C&&(h+=w+":"),h+=b,g=0,m=e.attributes.length;g<m;g++){var x=e.attributes[g];x.specified&&null!==x.nodeValue&&"style"!==x.nodeName.toLowerCase()&&"string"==typeof x.nodeValue&&0!==x.nodeName.indexOf("_moz")&&(h+=" "+x.nodeName.toLowerCase()+'="',h+=x.nodeValue.toString().replace(/&/g,"&").replace(/</g,"<").replace(/"/g,"""),h+='"')}if(e.style.cssText&&""!==y(e)&&(h+=' style="'+y(e)+'"'),array_contains(s,b)||C&&!e.hasChildNodes())h+="/>";else{h+=">";var E=!(1===e.childNodes.length&&e.childNodes[0].nodeType===n),L=array_contains(i,b);for(g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u+" ",E,L);var S="</"+b+">";h+=E?newLine+u+S:S}return h;case n:if((f=e).nodeType==n&&/^[ \t\r\n]*$/.test(f.nodeValue))h="";else{if(p)h=e.nodeValue;else{var T=splitIntoLines(trim(e.nodeValue)),M=[];for(g=0,m=T.length;g<m;g++)M[g]=trim(T[g]);h=M.join(newLine+u)}d&&(h=newLine+u+h)}return h;case r:return"<![CDATA["+e.nodeValue+"]]>"+newLine;case o:for(h="",g=0,m=e.childNodes.length;g<m;g++)h+=l(e.childNodes[g],!0,u);return h;default:return""}}ConsoleAppender.addGlobalCommandLineFunction("$",(function(e,t,n){return document.getElementById(t[0])})),ConsoleAppender.addGlobalCommandLineFunction("dir",(function(t,n,r){for(var o=[],a=0,i=n.length;a<i;a++)o[a]=e(n[a]);return o.join(newLine+newLine)})),ConsoleAppender.addGlobalCommandLineFunction("dirxml",(function(e,t,n){for(var r=[],o=0,a=t.length;o<a;o++)r[o]=l(t[o]);return r.join(newLine+newLine)})),ConsoleAppender.addGlobalCommandLineFunction("cd",(function(e,t,n){var r,o;return 0===t.length||""===t[0]?(r=window,o="Command line set to run in main window"):t[0].window==t[0]?(r=t[0],o="Command line set to run in frame '"+t[0].name+"'"):(r=window.frames[t[0]])?o="Command line set to run in frame '"+t[0]+"'":(n.isError=!0,o="Frame '"+t[0]+"' does not exist",r=e.getCommandWindow()),e.setCommandWindow(r),o})),ConsoleAppender.addGlobalCommandLineFunction("clear",(function(e,t,n){n.appendResult=!1,e.clear()})),ConsoleAppender.addGlobalCommandLineFunction("keys",(function(e,t,n){var r=[];for(var o in t[0])r.push(o);return r})),ConsoleAppender.addGlobalCommandLineFunction("values",(function(e,t,n){var r=[];for(var o in t[0])try{r.push(t[0][o])}catch(e){logLog.warn("values(): Unable to obtain value for key "+o+". Details: "+getExceptionMessage(e))}return r})),ConsoleAppender.addGlobalCommandLineFunction("expansionDepth",(function(e,t,n){var r=parseInt(t[0],10);return isNaN(r)||r<0?(n.isError=!0,t[0]+" is not a valid expansion depth"):(e.setCommandLineObjectExpansionDepth(r),"Object expansion depth set to "+r)}))}(),log4javascript.setDocumentReady=function(){pageLoaded=!0,log4javascript.dispatchEvent("load",{})},window.addEventListener)window.addEventListener("load",log4javascript.setDocumentReady,!1);else if(window.attachEvent)window.attachEvent("onload",log4javascript.setDocumentReady);else{var oldOnload=window.onload;"function"!=typeof window.onload?window.onload=log4javascript.setDocumentReady:window.onload=function(e){oldOnload&&oldOnload(e),log4javascript.setDocumentReady()}}return log4javascript},void 0===(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof(__WEBPACK_AMD_DEFINE_FACTORY__=factory)?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},function(e,t,n){
|
9
|
+
/**
|
10
|
+
* lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.
|
11
|
+
* @version v1.0.5
|
12
|
+
* @link https://github.com/sadams/lite-url
|
13
|
+
* @license BSD-3-Clause
|
14
|
+
*/
|
15
|
+
(function(){"use strict";function n(e,t,n){var r=e.split(t);return n(r.shift(),r.join(t))}function r(e){var t={hash:"",host:"",hostname:"",origin:"",pathname:"",protocol:"",search:"",password:"",username:"",port:""};return n(e,"#",(function(e,r){r&&(t.hash=r?"#"+r:""),n(e,"?",(function(e,r){r&&(t.search="?"+r),e&&n(e,"//",(function(e,r){t.protocol=e,n(r,"/",(function(e,r){t.pathname="/"+(r||""),(t.protocol||e)&&(t.origin=t.protocol+"//"+e),n(e,"@",(function(e,r){if(r){var o=e.split(":");t.username=o[0],t.password=o[1]}else r=e;t.host=r,n(r,":",(function(e,n){t.hostname=e,n&&(t.port=n)}))}))}))}))}))})),t.href=t.origin+t.pathname+t.search+t.hash,t}function o(e){var t={},n=e.search;if(n){var r=(n=n.replace(new RegExp("\\?"),"")).split("&");for(var o in r)if(r.hasOwnProperty(o)&&r[o]){var a=r[o].split("=");t[a[0]]=a[1]}}return t}function a(e){var t=i[e];return void 0!==t||((t=r(e)).params=o(t),i[e]=t),t}var i={};return a.changeQueryParser=function(e){o=e},e.exports&&(t=e.exports=a),t.liteURL=a,a}).call(this)},function(e,t,n){(function(e,r){var o;
|
16
|
+
/*!
|
17
|
+
* Platform.js v1.3.6
|
18
|
+
* Copyright 2014-2020 Benjamin Tan
|
19
|
+
* Copyright 2011-2013 John-David Dalton
|
20
|
+
* Available under MIT license
|
21
|
+
*/(function(){"use strict";var a={function:!0,object:!0},i=a[typeof window]&&window||this,s=a[typeof t]&&t,l=a[typeof e]&&e&&!e.nodeType&&e,c=s&&l&&"object"==typeof r&&r;!c||c.global!==c&&c.window!==c&&c.self!==c||(i=c);var u=Math.pow(2,53)-1,d=/\bOpera/,p=Object.prototype,h=p.hasOwnProperty,g=p.toString;function m(e){return(e=String(e)).charAt(0).toUpperCase()+e.slice(1)}function f(e){return e=C(e),/^(?:webOS|i(?:OS|P))/.test(e)?e:m(e)}function v(e,t){for(var n in e)h.call(e,n)&&t(e[n],n,e)}function y(e){return null==e?m(e):g.call(e).slice(8,-1)}function b(e){return String(e).replace(/([ -])(?!$)/g,"$1?")}function w(e,t){var n=null;return function(e,t){var n=-1,r=e?e.length:0;if("number"==typeof r&&r>-1&&r<=u)for(;++n<r;)t(e[n],n,e);else v(e,t)}(e,(function(r,o){n=t(n,r,o,e)})),n}function C(e){return String(e).replace(/^ +| +$/g,"")}var x=function e(t){var n=i,r=t&&"object"==typeof t&&"String"!=y(t);r&&(n=t,t=null);var o=n.navigator||{},a=o.userAgent||"";t||(t=a);var s,l,c,u,p,h=r?!!o.likeChrome:/\bChrome\b/.test(t)&&!/internal|\n/i.test(g.toString()),m=r?"Object":"ScriptBridgingProxyObject",x=r?"Object":"Environment",E=r&&n.java?"JavaPackage":y(n.java),L=r?"Object":"RuntimeObject",S=/\bJava/.test(E)&&n.java,T=S&&y(n.environment)==x,M=S?"a":"α",A=S?"b":"β",I=n.document||{},k=n.operamini||n.opera,D=d.test(D=r&&k?k["[[Class]]"]:y(k))?D:k=null,N=t,R=[],O=null,F=t==a,P=F&&k&&"function"==typeof k.version&&k.version(),$=w([{label:"EdgeHTML",pattern:"Edge"},"Trident",{label:"WebKit",pattern:"AppleWebKit"},"iCab","Presto","NetFront","Tasman","KHTML","Gecko"],(function(e,n){return e||RegExp("\\b"+(n.pattern||b(n))+"\\b","i").exec(t)&&(n.label||n)})),j=function(e){return w(e,(function(e,n){return e||RegExp("\\b"+(n.pattern||b(n))+"\\b","i").exec(t)&&(n.label||n)}))}(["Adobe AIR","Arora","Avant Browser","Breach","Camino","Electron","Epiphany","Fennec","Flock","Galeon","GreenBrowser","iCab","Iceweasel","K-Meleon","Konqueror","Lunascape","Maxthon",{label:"Microsoft Edge",pattern:"(?:Edge|Edg|EdgA|EdgiOS)"},"Midori","Nook Browser","PaleMoon","PhantomJS","Raven","Rekonq","RockMelt",{label:"Samsung Internet",pattern:"SamsungBrowser"},"SeaMonkey",{label:"Silk",pattern:"(?:Cloud9|Silk-Accelerated)"},"Sleipnir","SlimBrowser",{label:"SRWare Iron",pattern:"Iron"},"Sunrise","Swiftfox","Vivaldi","Waterfox","WebPositive",{label:"Yandex Browser",pattern:"YaBrowser"},{label:"UC Browser",pattern:"UCBrowser"},"Opera Mini",{label:"Opera Mini",pattern:"OPiOS"},"Opera",{label:"Opera",pattern:"OPR"},"Chromium","Chrome",{label:"Chrome",pattern:"(?:HeadlessChrome)"},{label:"Chrome Mobile",pattern:"(?:CriOS|CrMo)"},{label:"Firefox",pattern:"(?:Firefox|Minefield)"},{label:"Firefox for iOS",pattern:"FxiOS"},{label:"IE",pattern:"IEMobile"},{label:"IE",pattern:"MSIE"},"Safari"]),B=W([{label:"BlackBerry",pattern:"BB10"},"BlackBerry",{label:"Galaxy S",pattern:"GT-I9000"},{label:"Galaxy S2",pattern:"GT-I9100"},{label:"Galaxy S3",pattern:"GT-I9300"},{label:"Galaxy S4",pattern:"GT-I9500"},{label:"Galaxy S5",pattern:"SM-G900"},{label:"Galaxy S6",pattern:"SM-G920"},{label:"Galaxy S6 Edge",pattern:"SM-G925"},{label:"Galaxy S7",pattern:"SM-G930"},{label:"Galaxy S7 Edge",pattern:"SM-G935"},"Google TV","Lumia","iPad","iPod","iPhone","Kindle",{label:"Kindle Fire",pattern:"(?:Cloud9|Silk-Accelerated)"},"Nexus","Nook","PlayBook","PlayStation Vita","PlayStation","TouchPad","Transformer",{label:"Wii U",pattern:"WiiU"},"Wii","Xbox One",{label:"Xbox 360",pattern:"Xbox"},"Xoom"]),_=function(e){return w(e,(function(e,n,r){return e||(n[B]||n[/^[a-z]+(?: +[a-z]+\b)*/i.exec(B)]||RegExp("\\b"+b(r)+"(?:\\b|\\w*\\d)","i").exec(t))&&r}))}({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,"Kindle Fire":1},Asus:{Transformer:1},"Barnes & Noble":{Nook:1},BlackBerry:{PlayBook:1},Google:{"Google TV":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,"Xbox One":1},Motorola:{Xoom:1},Nintendo:{"Wii U":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{"Galaxy S":1,"Galaxy S2":1,"Galaxy S3":1,"Galaxy S4":1},Sony:{PlayStation:1,"PlayStation Vita":1},Xiaomi:{Mi:1,Redmi:1}}),H=function(e){return w(e,(function(e,n){var r=n.pattern||b(n);return!e&&(e=RegExp("\\b"+r+"(?:/[\\d.]+|[ \\w.]*)","i").exec(t))&&(e=function(e,t,n){var r={"10.0":"10",6.4:"10 Technical Preview",6.3:"8.1",6.2:"8",6.1:"Server 2008 R2 / 7","6.0":"Server 2008 / Vista",5.2:"Server 2003 / XP 64-bit",5.1:"XP",5.01:"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return t&&n&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\d.]+$/.exec(e)])&&(e="Windows "+r),e=String(e),t&&n&&(e=e.replace(RegExp(t,"i"),n)),e=f(e.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0])}(e,r,n.label||n)),e}))}(["Windows Phone","KaiOS","Android","CentOS",{label:"Chrome OS",pattern:"CrOS"},"Debian",{label:"DragonFly BSD",pattern:"DragonFly"},"Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Tizen","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "]);function W(e){return w(e,(function(e,n){var r=n.pattern||b(n);return!e&&(e=RegExp("\\b"+r+" *\\d+[.\\w_]*","i").exec(t)||RegExp("\\b"+r+" *\\w+-[\\w]*","i").exec(t)||RegExp("\\b"+r+"(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)","i").exec(t))&&((e=String(n.label&&!RegExp(r,"i").test(n.label)?n.label:e).split("/"))[1]&&!/[\d.]+/.test(e[0])&&(e[0]+=" "+e[1]),n=n.label||n,e=f(e[0].replace(RegExp(r,"i"),n).replace(RegExp("; *(?:"+n+"[_-])?","i")," ").replace(RegExp("("+n+")[-_.]?(\\w)","i"),"$1 $2"))),e}))}function U(e){return w(e,(function(e,n){return e||(RegExp(n+"(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)","i").exec(t)||0)[1]||null}))}if($&&($=[$]),/\bAndroid\b/.test(H)&&!B&&(s=/\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(t))&&(B=C(s[1]).replace(/^[a-z]{2}-[a-z]{2};\s*/i,"")||null),_&&!B?B=W([_]):_&&B&&(B=B.replace(RegExp("^("+b(_)+")[-_.\\s]","i"),_+" ").replace(RegExp("^("+b(_)+")[-_.]?(\\w)","i"),_+" $2")),(s=/\bGoogle TV\b/.exec(B))&&(B=s[0]),/\bSimulator\b/i.test(t)&&(B=(B?B+" ":"")+"Simulator"),"Opera Mini"==j&&/\bOPiOS\b/.test(t)&&R.push("running in Turbo/Uncompressed mode"),"IE"==j&&/\blike iPhone OS\b/.test(t)?(_=(s=e(t.replace(/like iPhone OS/,""))).manufacturer,B=s.product):/^iP/.test(B)?(j||(j="Safari"),H="iOS"+((s=/ OS ([\d_]+)/i.exec(t))?" "+s[1].replace(/_/g,"."):"")):"Konqueror"==j&&/^Linux\b/i.test(H)?H="Kubuntu":_&&"Google"!=_&&(/Chrome/.test(j)&&!/\bMobile Safari\b/i.test(t)||/\bVita\b/.test(B))||/\bAndroid\b/.test(H)&&/^Chrome/.test(j)&&/\bVersion\//i.test(t)?(j="Android Browser",H=/\bAndroid\b/.test(H)?H:"Android"):"Silk"==j?(/\bMobi/i.test(t)||(H="Android",R.unshift("desktop mode")),/Accelerated *= *true/i.test(t)&&R.unshift("accelerated")):"UC Browser"==j&&/\bUCWEB\b/.test(t)?R.push("speed mode"):"PaleMoon"==j&&(s=/\bFirefox\/([\d.]+)\b/.exec(t))?R.push("identifying as Firefox "+s[1]):"Firefox"==j&&(s=/\b(Mobile|Tablet|TV)\b/i.exec(t))?(H||(H="Firefox OS"),B||(B=s[1])):!j||(s=!/\bMinefield\b/i.test(t)&&/\b(?:Firefox|Safari)\b/.exec(j))?(j&&!B&&/[\/,]|^[^(]+?\)/.test(t.slice(t.indexOf(s+"/")+8))&&(j=null),(s=B||_||H)&&(B||_||/\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(H))&&(j=/[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(H)?H:s)+" Browser")):"Electron"==j&&(s=(/\bChrome\/([\d.]+)\b/.exec(t)||0)[1])&&R.push("Chromium "+s),P||(P=U(["(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)","Version",b(j),"(?:Firefox|Minefield|NetFront)"])),(s=("iCab"==$&&parseFloat(P)>3?"WebKit":/\bOpera\b/.test(j)&&(/\bOPR\b/.test(t)?"Blink":"Presto"))||/\b(?:Midori|Nook|Safari)\b/i.test(t)&&!/^(?:Trident|EdgeHTML)$/.test($)&&"WebKit"||!$&&/\bMSIE\b/i.test(t)&&("Mac OS"==H?"Tasman":"Trident")||"WebKit"==$&&/\bPlayStation\b(?! Vita\b)/i.test(j)&&"NetFront")&&($=[s]),"IE"==j&&(s=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(t)||0)[1])?(j+=" Mobile",H="Windows Phone "+(/\+$/.test(s)?s:s+".x"),R.unshift("desktop mode")):/\bWPDesktop\b/i.test(t)?(j="IE Mobile",H="Windows Phone 8.x",R.unshift("desktop mode"),P||(P=(/\brv:([\d.]+)/.exec(t)||0)[1])):"IE"!=j&&"Trident"==$&&(s=/\brv:([\d.]+)/.exec(t))&&(j&&R.push("identifying as "+j+(P?" "+P:"")),j="IE",P=s[1]),F){if(u="global",p=null!=(c=n)?typeof c[u]:"number",/^(?:boolean|number|string|undefined)$/.test(p)||"object"==p&&!c[u])y(s=n.runtime)==m?(j="Adobe AIR",H=s.flash.system.Capabilities.os):y(s=n.phantom)==L?(j="PhantomJS",P=(s=s.version||null)&&s.major+"."+s.minor+"."+s.patch):"number"==typeof I.documentMode&&(s=/\bTrident\/(\d+)/i.exec(t))?(P=[P,I.documentMode],(s=+s[1]+4)!=P[1]&&(R.push("IE "+P[1]+" mode"),$&&($[1]=""),P[1]=s),P="IE"==j?String(P[1].toFixed(1)):P[0]):"number"==typeof I.documentMode&&/^(?:Chrome|Firefox)\b/.test(j)&&(R.push("masking as "+j+" "+P),j="IE",P="11.0",$=["Trident"],H="Windows");else if(S&&(N=(s=S.lang.System).getProperty("os.arch"),H=H||s.getProperty("os.name")+" "+s.getProperty("os.version")),T){try{P=n.require("ringo/engine").version.join("."),j="RingoJS"}catch(e){(s=n.system)&&s.global.system==n.system&&(j="Narwhal",H||(H=s[0].os||null))}j||(j="Rhino")}else"object"==typeof n.process&&!n.process.browser&&(s=n.process)&&("object"==typeof s.versions&&("string"==typeof s.versions.electron?(R.push("Node "+s.versions.node),j="Electron",P=s.versions.electron):"string"==typeof s.versions.nw&&(R.push("Chromium "+P,"Node "+s.versions.node),j="NW.js",P=s.versions.nw)),j||(j="Node.js",N=s.arch,H=s.platform,P=(P=/[\d.]+/.exec(s.version))?P[0]:null));H=H&&f(H)}if(P&&(s=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(P)||/(?:alpha|beta)(?: ?\d)?/i.exec(t+";"+(F&&o.appMinorVersion))||/\bMinefield\b/i.test(t)&&"a")&&(O=/b/i.test(s)?"beta":"alpha",P=P.replace(RegExp(s+"\\+?$"),"")+("beta"==O?A:M)+(/\d+\+?/.exec(s)||"")),"Fennec"==j||"Firefox"==j&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(H))j="Firefox Mobile";else if("Maxthon"==j&&P)P=P.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(B))"Xbox 360"==B&&(H=null),"Xbox 360"==B&&/\bIEMobile\b/.test(t)&&R.unshift("mobile mode");else if(!/^(?:Chrome|IE|Opera)$/.test(j)&&(!j||B||/Browser|Mobi/.test(j))||"Windows CE"!=H&&!/Mobi/i.test(t))if("IE"==j&&F)try{null===n.external&&R.unshift("platform preview")}catch(e){R.unshift("embedded")}else(/\bBlackBerry\b/.test(B)||/\bBB10\b/.test(t))&&(s=(RegExp(B.replace(/ +/g," *")+"/([.\\d]+)","i").exec(t)||0)[1]||P)?(H=((s=[s,/BB10/.test(t)])[1]?(B=null,_="BlackBerry"):"Device Software")+" "+s[0],P=null):this!=v&&"Wii"!=B&&(F&&k||/Opera/.test(j)&&/\b(?:MSIE|Firefox)\b/i.test(t)||"Firefox"==j&&/\bOS X (?:\d+\.){2,}/.test(H)||"IE"==j&&(H&&!/^Win/.test(H)&&P>5.5||/\bWindows XP\b/.test(H)&&P>8||8==P&&!/\bTrident\b/.test(t)))&&!d.test(s=e.call(v,t.replace(d,"")+";"))&&s.name&&(s="ing as "+s.name+((s=s.version)?" "+s:""),d.test(j)?(/\bIE\b/.test(s)&&"Mac OS"==H&&(H=null),s="identify"+s):(s="mask"+s,j=D?f(D.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(s)&&(H=null),F||(P=null)),$=["Presto"],R.push(s));else j+=" Mobile";(s=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(t)||0)[1])&&(s=[parseFloat(s.replace(/\.(\d)$/,".0$1")),s],"Safari"==j&&"+"==s[1].slice(-1)?(j="WebKit Nightly",O="alpha",P=s[1].slice(0,-1)):P!=s[1]&&P!=(s[2]=(/\bSafari\/([\d.]+\+?)/i.exec(t)||0)[1])||(P=null),s[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(t)||0)[1],537.36==s[0]&&537.36==s[2]&&parseFloat(s[1])>=28&&"WebKit"==$&&($=["Blink"]),F&&(h||s[1])?($&&($[1]="like Chrome"),s=s[1]||((s=s[0])<530?1:s<532?2:s<532.05?3:s<533?4:s<534.03?5:s<534.07?6:s<534.1?7:s<534.13?8:s<534.16?9:s<534.24?10:s<534.3?11:s<535.01?12:s<535.02?"13+":s<535.07?15:s<535.11?16:s<535.19?17:s<536.05?18:s<536.1?19:s<537.01?20:s<537.11?"21+":s<537.13?23:s<537.18?24:s<537.24?25:s<537.36?26:"Blink"!=$?"27":"28")):($&&($[1]="like Safari"),s=(s=s[0])<400?1:s<500?2:s<526?3:s<533?4:s<534?"4+":s<535?5:s<537?6:s<538?7:s<601?8:s<602?9:s<604?10:s<606?11:s<608?12:"12"),$&&($[1]+=" "+(s+="number"==typeof s?".x":/[.+]/.test(s)?"":"+")),"Safari"==j&&(!P||parseInt(P)>45)?P=s:"Chrome"==j&&/\bHeadlessChrome/i.test(t)&&R.unshift("headless")),"Opera"==j&&(s=/\bzbov|zvav$/.exec(H))?(j+=" ",R.unshift("desktop mode"),"zvav"==s?(j+="Mini",P=null):j+="Mobile",H=H.replace(RegExp(" *"+s+"$"),"")):"Safari"==j&&/\bChrome\b/.exec($&&$[1])?(R.unshift("desktop mode"),j="Chrome Mobile",P=null,/\bOS X\b/.test(H)?(_="Apple",H="iOS 4.3+"):H=null):/\bSRWare Iron\b/.test(j)&&!P&&(P=U("Chrome")),P&&0==P.indexOf(s=/[\d.]+$/.exec(H))&&t.indexOf("/"+s+"-")>-1&&(H=C(H.replace(s,""))),H&&-1!=H.indexOf(j)&&!RegExp(j+" OS").test(H)&&(H=H.replace(RegExp(" *"+b(j)+" *"),"")),$&&!/\b(?:Avant|Nook)\b/.test(j)&&(/Browser|Lunascape|Maxthon/.test(j)||"Safari"!=j&&/^iOS/.test(H)&&/\bSafari\b/.test($[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(j)&&$[1])&&(s=$[$.length-1])&&R.push(s),R.length&&(R=["("+R.join("; ")+")"]),_&&B&&B.indexOf(_)<0&&R.push("on "+_),B&&R.push((/^on /.test(R[R.length-1])?"":"on ")+B),H&&(s=/ ([\d.+]+)$/.exec(H),l=s&&"/"==H.charAt(H.length-s[0].length-1),H={architecture:32,family:s&&!l?H.replace(s[0],""):H,version:s?s[1]:null,toString:function(){var e=this.version;return this.family+(e&&!l?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(s=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(N))&&!/\bi686\b/i.test(N)?(H&&(H.architecture=64,H.family=H.family.replace(RegExp(" *"+s),"")),j&&(/\bWOW64\b/i.test(t)||F&&/\w(?:86|32)$/.test(o.cpuClass||o.platform)&&!/\bWin64; x64\b/i.test(t))&&R.unshift("32-bit")):H&&/^OS X/.test(H.family)&&"Chrome"==j&&parseFloat(P)>=39&&(H.architecture=64),t||(t=null);var G={};return G.description=t,G.layout=$&&$[0],G.manufacturer=_,G.name=j,G.prerelease=O,G.product=B,G.ua=t,G.version=j&&P,G.os=H||{architecture:null,family:null,version:null,toString:function(){return"null"}},G.parse=e,G.toString=function(){return this.description||""},G.version&&R.unshift(P),G.name&&R.unshift(j),H&&j&&(H!=String(H).split(" ")[0]||H!=j.split(" ")[0]&&!B)&&R.push(B?"("+H+")":"on "+H),R.length&&(G.description=R.join(" ")),G}();i.platform=x,void 0===(o=function(){return x}.call(t,n,t,e))||(e.exports=o)}).call(this)}).call(this,n(6)(e),n(0))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";
|
2
22
|
/*!
|
3
23
|
* J1 Adapter
|
4
24
|
* Copyright (C) 2021 Juergen Adams
|
5
25
|
* Licensed under MIT License.
|
6
|
-
*/e.exports=(j1,window,{_init_:function(){}})},function(e,n
|
26
|
+
*/e.exports=(j1,window,{_init_:function(){}})},function(e,t,n){"use strict";
|
7
27
|
/*!
|
8
28
|
* J1 Core
|
9
29
|
* Copyright (C) 2021 Juergen Adams
|
10
30
|
* Licensed under MIT License.
|
11
|
-
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
|
31
|
+
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
12
32
|
/*!
|
13
33
|
* J1 Asciidoctor
|
14
34
|
* Copyright (C) 2021 Juergen Adams
|
15
35
|
* Licensed under MIT License.
|
16
36
|
*/
|
17
|
-
e.exports=(jQuery,{init:function(e){var n=e,t=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},n),logText="J1 Asciidoctor is being initialized",t.info(logText),this.callouts()},callouts:function(e){var n="";0==$(".colist > table > colgroup").length&&(n+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",n+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(n))},conums:function(e){var n=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(n))}))}})},function(e,n,t){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,n){var t,r;r="run module scrollSmooth",(t=log4javascript.getLogger("j1.core.scrollSmooth")).info(r);var o=n.duration,a=n.offset;this.scrollTo(e,{duration:o,offset:a,callback:null}),r="scrollSmooth finished",t.info(r)},scrollTo:function(e,n){var t,r,o=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,r){return(e/=r/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-t,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}}}(jQuery)},function(e,n,t){"use strict";var r={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,n,t){return Math.min(Math.max(e,n),t)}function l(e,n){return e.indexOf(n)>-1}function c(e,n){return e.apply(null,n)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!r.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var n=/\(([^)]+)\)/.exec(e);return n?n[1].split(",").map((function(e){return parseFloat(e)})):[]}function f(e,n){var t=d(e),r=s(u.und(t[0])?1:t[0],.1,100),o=s(u.und(t[1])?100:t[1],.1,100),a=s(u.und(t[2])?10:t[2],.1,100),l=s(u.und(t[3])?0:t[3],.1,100),c=Math.sqrt(o/r),f=a/(2*Math.sqrt(o*r)),p=f<1?c*Math.sqrt(1-f*f):0,m=f<1?(f*c-l)/p:-l+c;function v(e){var t=n?n*e/1e3:e;return t=f<1?Math.exp(-t*f*c)*(1*Math.cos(p*t)+m*Math.sin(p*t)):(1+m*t)*Math.exp(-t*c),0===e||1===e?e:1-t}return n?v:function(){var n=i.springs[e];if(n)return n;for(var t=0,r=0;;)if(1===v(t+=1/6)){if(++r>=16)break}else r=0;var o=t*(1/6)*1e3;return i.springs[e]=o,o}}function p(e){return void 0===e&&(e=10),function(n){return Math.ceil(s(n,1e-6,1)*e)*(1/e)}}var m,v,h=function(){function e(e,n){return 1-3*n+3*e}function n(e,n){return 3*n-6*e}function t(e){return 3*e}function r(r,o,a){return((e(o,a)*r+n(o,a))*r+t(o))*r}function o(r,o,a){return 3*e(o,a)*r*r+2*n(o,a)*r+t(o)}return function(e,n,t,a){if(0<=e&&e<=1&&0<=t&&t<=1){var i=new Float32Array(11);if(e!==n||t!==a)for(var s=0;s<11;++s)i[s]=r(.1*s,e,t);return function(o){return e===n&&t===a||0===o||1===o?o:r(l(o),n,a)}}function l(n){for(var a=0,s=1;10!==s&&i[s]<=n;++s)a+=.1;--s;var l=a+.1*((n-i[s])/(i[s+1]-i[s])),c=o(l,e,t);return c>=.001?function(e,n,t,a){for(var i=0;i<4;++i){var s=o(n,t,a);if(0===s)return n;n-=(r(n,t,a)-e)/s}return n}(n,l,e,t):0===c?l:function(e,n,t,o,a){var i,s,l=0;do{(i=r(s=n+(t-n)/2,o,a)-e)>0?t=s:n=s}while(Math.abs(i)>1e-7&&++l<10);return s}(n,a,a+.1,e,t)}}}(),g=(m={linear:function(){return function(e){return e}}},v={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var n,t=4;e<((n=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*n-2)/22-e,2)}},Elastic:function(e,n){void 0===e&&(e=1),void 0===n&&(n=.5);var t=s(e,1,10),r=s(n,.1,2);return function(e){return 0===e||1===e?e:-t*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){v[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(v).forEach((function(e){var n=v[e];m["easeIn"+e]=n,m["easeOut"+e]=function(e,t){return function(r){return 1-n(e,t)(1-r)}},m["easeInOut"+e]=function(e,t){return function(r){return r<.5?n(e,t)(2*r)/2:1-n(e,t)(-2*r+2)/2}}})),m);function b(e,n){if(u.fnc(e))return e;var t=e.split("(")[0],r=g[t],o=d(e);switch(t){case"spring":return f(e,n);case"cubicBezier":return c(h,o);case"steps":return c(p,o);default:return c(r,o)}}function w(e){try{return document.querySelectorAll(e)}catch(e){return}}function y(e,n){for(var t=e.length,r=arguments.length>=2?arguments[1]:void 0,o=[],a=0;a<t;a++)if(a in e){var i=e[a];n.call(r,i,a,e)&&o.push(i)}return o}function C(e){return e.reduce((function(e,n){return e.concat(u.arr(n)?C(n):n)}),[])}function $(e){return u.arr(e)?e:(u.str(e)&&(e=w(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function k(e,n){return e.some((function(e){return e===n}))}function x(e){var n={};for(var t in e)n[t]=e[t];return n}function S(e,n){var t=x(e);for(var r in e)t[r]=n.hasOwnProperty(r)?n[r]:e[r];return t}function T(e,n){var t=x(e);for(var r in n)t[r]=u.und(e[r])?n[r]:e[r];return t}function L(e){return u.rgb(e)?(t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n=e))?"rgba("+t[1]+",1)":n:u.hex(e)?function(e){var n=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,n,t,r){return n+n+t+t+r+r})),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return"rgba("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+",1)"}(e):u.hsl(e)?function(e){var n,t,r,o=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(o[1],10)/360,i=parseInt(o[2],10)/100,s=parseInt(o[3],10)/100,l=o[4]||1;function c(e,n,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(n-e)*t:t<.5?n:t<2/3?e+(n-e)*(2/3-t)*6:e}if(0==i)n=t=r=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;n=c(d,u,a+1/3),t=c(d,u,a),r=c(d,u,a-1/3)}return"rgba("+255*n+","+255*t+","+255*r+","+l+")"}(e):void 0;var n,t}function O(e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(n)return n[1]}function j(e,n){return u.fnc(e)?e(n.target,n.id,n.total):e}function M(e,n){return e.getAttribute(n)}function q(e,n,t){if(k([t,"deg","rad","turn"],O(n)))return n;var r=i.CSS[n+t];if(!u.und(r))return r;var o=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(o),o.style.position="absolute",o.style.width=100+t;var s=100/o.offsetWidth;a.removeChild(o);var l=s*parseFloat(n);return i.CSS[n+t]=l,l}function N(e,n,t){if(n in e.style){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),o=e.style[n]||getComputedStyle(e).getPropertyValue(r)||"0";return t?q(e,o,t):o}}function E(e,n){return u.dom(e)&&!u.inp(e)&&(M(e,n)||u.svg(e)&&e[n])?"attribute":u.dom(e)&&k(a,n)?"transform":u.dom(e)&&"transform"!==n&&N(e,n)?"css":null!=e[n]?"object":void 0}function _(e){if(u.dom(e)){for(var n,t=e.style.transform||"",r=/(\w+)\(([^)]*)\)/g,o=new Map;n=r.exec(t);)o.set(n[1],n[2]);return o}}function I(e,n,t,r){var o=l(n,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(n),a=_(e).get(n)||o;return t&&(t.transforms.list.set(n,a),t.transforms.last=n),r?q(e,a,r):a}function A(e,n,t,r){switch(E(e,n)){case"transform":return I(e,n,r,t);case"css":return N(e,n,t);case"attribute":return M(e,n);default:return e[n]||0}}function P(e,n){var t=/^(\*=|\+=|-=)/.exec(e);if(!t)return e;var r=O(e)||0,o=parseFloat(n),a=parseFloat(e.replace(t[0],""));switch(t[0][0]){case"+":return o+a+r;case"-":return o-a+r;case"*":return o*a+r}}function D(e,n){if(u.col(e))return L(e);if(/\s/g.test(e))return e;var t=O(e),r=t?e.substr(0,e.length-t.length):e;return n?r+n:r}function F(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function H(e){for(var n,t=e.points,r=0,o=0;o<t.numberOfItems;o++){var a=t.getItem(o);o>0&&(r+=F(n,a)),n=a}return r}function B(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*M(e,"r")}(e);case"rect":return function(e){return 2*M(e,"width")+2*M(e,"height")}(e);case"line":return function(e){return F({x:M(e,"x1"),y:M(e,"y1")},{x:M(e,"x2"),y:M(e,"y2")})}(e);case"polyline":return H(e);case"polygon":return function(e){var n=e.points;return H(e)+F(n.getItem(n.numberOfItems-1),n.getItem(0))}(e)}}function z(e,n){var t=n||{},r=t.el||function(e){for(var n=e.parentNode;u.svg(n)&&u.svg(n.parentNode);)n=n.parentNode;return n}(e),o=r.getBoundingClientRect(),a=M(r,"viewBox"),i=o.width,s=o.height,l=t.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function Q(e,n){function t(t){void 0===t&&(t=0);var r=n+t>=1?n+t:0;return e.el.getPointAtLength(r)}var r=z(e.el,e.svg),o=t(),a=t(-1),i=t(1);switch(e.property){case"x":return(o.x-r.x)*r.w;case"y":return(o.y-r.y)*r.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function R(e,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=D(u.pth(e)?e.totalLength:e,n)+"";return{original:r,numbers:r.match(t)?r.match(t).map(Number):[0],strings:u.str(e)||n?r.split(t):[]}}function Y(e){return y(e?C(u.arr(e)?e.map($):$(e)):[],(function(e,n,t){return t.indexOf(e)===n}))}function V(e){var n=Y(e);return n.map((function(e,t){return{target:e,id:t,total:n.length,transforms:{list:_(e)}}}))}function X(e,n){var t=x(n);if(/^spring/.test(t.easing)&&(t.duration=f(t.easing)),u.arr(e)){var r=e.length;2===r&&!u.obj(e[0])?e={value:e}:u.fnc(n.duration)||(t.duration=n.duration/r)}var o=u.arr(e)?e:[e];return o.map((function(e,t){var r=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(r.delay)&&(r.delay=t?0:n.delay),u.und(r.endDelay)&&(r.endDelay=t===o.length-1?n.endDelay:0),r})).map((function(e){return T(e,t)}))}function Z(e,n){var t=[],r=n.keyframes;for(var o in r&&(n=T(function(e){for(var n=y(C(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,n){return e.indexOf(n)<0&&e.push(n),e}),[]),t={},r=function(r){var o=n[r];t[o]=e.map((function(e){var n={};for(var t in e)u.key(t)?t==o&&(n.value=e[t]):n[t]=e[t];return n}))},o=0;o<n.length;o++)r(o);return t}(r),n)),n)u.key(o)&&t.push({name:o,tweens:X(n[o],e)});return t}function J(e,n){var t;return e.tweens.map((function(r){var o=function(e,n){var t={};for(var r in e){var o=j(e[r],n);u.arr(o)&&1===(o=o.map((function(e){return j(e,n)}))).length&&(o=o[0]),t[r]=o}return t.duration=parseFloat(t.duration),t.delay=parseFloat(t.delay),t}(r,n),a=o.value,i=u.arr(a)?a[1]:a,s=O(i),l=A(n.target,e.name,s,n),c=t?t.to.original:l,d=u.arr(a)?a[0]:c,f=O(d)||O(l),p=s||f;return u.und(i)&&(i=c),o.from=R(d,p),o.to=R(P(i,d),p),o.start=t?t.end:0,o.end=o.start+o.delay+o.duration+o.endDelay,o.easing=b(o.easing,o.duration),o.isPath=u.pth(a),o.isColor=u.col(o.from.original),o.isColor&&(o.round=1),t=o,o}))}var U={css:function(e,n,t){return e.style[n]=t},attribute:function(e,n,t){return e.setAttribute(n,t)},object:function(e,n,t){return e[n]=t},transform:function(e,n,t,r,o){if(r.list.set(n,t),n===r.last||o){var a="";r.list.forEach((function(e,n){a+=n+"("+e+") "})),e.style.transform=a}}};function W(e,n){V(e).forEach((function(e){for(var t in n){var r=j(n[t],e),o=e.target,a=O(r),i=A(o,t,a,e),s=P(D(r,a||O(i)),i),l=E(o,t);U[l](o,t,s,e.transforms,!0)}}))}function G(e,n){return y(C(e.map((function(e){return n.map((function(n){return function(e,n){var t=E(e.target,n.name);if(t){var r=J(n,e),o=r[r.length-1];return{type:t,property:n.name,animatable:e,tweens:r,duration:o.end,delay:r[0].delay,endDelay:o.endDelay}}}(e,n)}))}))),(function(e){return!u.und(e)}))}function K(e,n){var t=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},o={};return o.duration=t?Math.max.apply(Math,e.map((function(e){return r(e)+e.duration}))):n.duration,o.delay=t?Math.min.apply(Math,e.map((function(e){return r(e)+e.delay}))):n.delay,o.endDelay=t?o.duration-Math.max.apply(Math,e.map((function(e){return r(e)+e.duration-e.endDelay}))):n.endDelay,o}var ee=0;var ne,te=[],re=[],oe=function(){function e(){ne=requestAnimationFrame(n)}function n(n){var t=te.length;if(t){for(var r=0;r<t;){var o=te[r];if(o.paused){var a=te.indexOf(o);a>-1&&(te.splice(a,1),t=te.length)}else o.tick(n);r++}e()}else ne=cancelAnimationFrame(ne)}return e}();function ae(e){void 0===e&&(e={});var n,t=0,a=0,i=0,l=0,c=null;function u(e){var n=window.Promise&&new Promise((function(e){return c=e}));return e.finished=n,n}var d=function(e){var n=S(r,e),t=S(o,e),a=Z(t,e),i=V(e.targets),s=G(i,a),l=K(s,t),c=ee;return ee++,T(n,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function f(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,n.forEach((function(e){return e.reversed=d.reversed}))}function p(e){return d.reversed?d.duration-e:e}function m(){t=0,a=p(d.currentTime)*(1/ae.speed)}function v(e,n){n&&n.seek(e-n.timelineOffset)}function h(e){for(var n=0,t=d.animations,r=t.length;n<r;){var o=t[n],a=o.animatable,i=o.tweens,l=i.length-1,c=i[l];l&&(c=y(i,(function(n){return e<n.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,f=isNaN(u)?1:c.easing(u),p=c.to.strings,m=c.round,v=[],h=c.to.numbers.length,g=void 0,b=0;b<h;b++){var w=void 0,C=c.to.numbers[b],$=c.from.numbers[b]||0;w=c.isPath?Q(c.value,f*C):$+f*(C-$),m&&(c.isColor&&b>2||(w=Math.round(w*m)/m)),v.push(w)}var k=p.length;if(k){g=p[0];for(var x=0;x<k;x++){p[x];var S=p[x+1],T=v[x];isNaN(T)||(g+=S?T+S:T+" ")}}else g=v[0];U[o.type](a.target,o.property,g,a.transforms),o.currentValue=g,n++}}function g(e){d[e]&&!d.passThrough&&d[e](d)}function b(e){var r=d.duration,o=d.delay,m=r-d.endDelay,b=p(e);d.progress=s(b/r*100,0,100),d.reversePlayback=b<d.currentTime,n&&function(e){if(d.reversePlayback)for(var t=l;t--;)v(e,n[t]);else for(var r=0;r<l;r++)v(e,n[r])}(b),!d.began&&d.currentTime>0&&(d.began=!0,g("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,g("loopBegin")),b<=o&&0!==d.currentTime&&h(0),(b>=m&&d.currentTime!==r||!r)&&h(r),b>o&&b<m?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,g("changeBegin")),g("change"),h(b)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,g("changeComplete")),d.currentTime=s(b,0,r),d.began&&g("update"),e>=r&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(t=i,g("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&f()):(d.paused=!0,d.completed||(d.completed=!0,g("loopComplete"),g("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,n=d.children;for(var t=l=n.length;t--;)d.children[t].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,h(d.reversed?d.duration:0)},d.set=function(e,n){return W(e,n),d},d.tick=function(e){i=e,t||(t=i),b((i+(a-t))*ae.speed)},d.seek=function(e){b(p(e))},d.pause=function(){d.paused=!0,m()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,te.push(d),m(),ne||oe())},d.reverse=function(){f(),d.completed=!d.reversed,m()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,n){for(var t=n.length;t--;)k(e,n[t].animatable.target)&&n.splice(t,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(te.forEach((function(e){return e.pause()})),re=te.slice(0),ae.running=te=[]):re.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=te,ae.remove=function(e){for(var n=Y(e),t=te.length;t--;){var r=te[t],o=r.animations,a=r.children;ie(n,o);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(n,l),l.length||s.children.length||a.splice(i,1)}o.length||a.length||r.pause()}},ae.get=A,ae.set=W,ae.convertPx=q,ae.path=function(e,n){var t=u.str(e)?w(e)[0]:e,r=n||100;return function(e){return{property:e,el:t,svg:z(t),totalLength:B(t)*(r/100)}}},ae.setDashoffset=function(e){var n=B(e);return e.setAttribute("stroke-dasharray",n),n},ae.stagger=function(e,n){void 0===n&&(n={});var t=n.direction||"normal",r=n.easing?b(n.easing):null,o=n.grid,a=n.axis,i=n.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),f=d?parseFloat(e[0]):parseFloat(e),p=d?parseFloat(e[1]):0,m=O(d?e[1]:e)||0,v=n.start||0+(d?f:0),h=[],g=0;return function(e,n,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!h.length){for(var b=0;b<u;b++){if(o){var w=l?(o[0]-1)/2:i%o[0],y=l?(o[1]-1)/2:Math.floor(i/o[0]),C=w-b%o[0],$=y-Math.floor(b/o[0]),k=Math.sqrt(C*C+$*$);"x"===a&&(k=-C),"y"===a&&(k=-$),h.push(k)}else h.push(Math.abs(i-b));g=Math.max.apply(Math,h)}r&&(h=h.map((function(e){return r(e/g)*g}))),"reverse"===t&&(h=h.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return v+(d?(p-f)/g:f)*(Math.round(100*h[n])/100)+m}},ae.timeline=function(e){void 0===e&&(e={});var n=ae(e);return n.duration=0,n.add=function(t,r){var a=te.indexOf(n),i=n.children;function s(e){e.passThrough=!0}a>-1&&te.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=T(t,S(o,e));c.targets=c.targets||e.targets;var d=n.duration;c.autoplay=!1,c.direction=n.direction,c.timelineOffset=u.und(r)?d:P(r,d),s(n),n.seek(c.timelineOffset);var f=ae(c);s(f),i.push(f);var p=K(i,e);return n.delay=p.delay,n.endDelay=p.endDelay,n.duration=p.duration,n.seek(0),n.reset(),n.autoplay&&n.play(),n},n},ae.easing=b,ae.penner=g,ae.random=function(e,n){return Math.floor(Math.random()*(n-e+1))+e},e.exports=ae},function(e,n,t){(function(r){var o,a,i,s;s=void 0!==r?r:this.window||this.global,a=[],o=function(e){"use strict";var n,r,o,a=t(9),i={},s={},l=t(10),c=t(11),u=t(12),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),n&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),n&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},n=0;n<arguments.length;n++){var t=arguments[n];for(var r in t)f.call(t,r)&&(e[r]=t[r])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=t(13).initSmoothScrolling(i)),n=l(i),r=c(i),this._buildHtml=n,this._parseContent=r,s.destroy(),null!==(o=r.selectHeadings(i.contentSelector,i.headingSelector)))){var m=r.nestHeadingsArray(o).nest;i.skipRendering||n.render(i.tocSelector,m),this._scrollListener=p((function(e){n.updateToc(o),!i.disableTocScrollSync&&u(i);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(n.updateToc(o),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var v=null;return this._clickListener=p((function(e){i.scrollSmooth&&n.disableTocAnimation(e),n.updateToc(o),v&&clearTimeout(v),v=setTimeout((function(){n.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function p(e,n,t){var r,o;return n||(n=250),function(){var a=t||this,i=+new Date,s=arguments;r&&i<r+n?(clearTimeout(o),o=setTimeout((function(){r=i,e.apply(a,s)}),n)):(r=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof o?o.apply(n,a):o)||(e.exports=i)}).call(this,t(8))},function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,n){e.exports=function(e){var n=[].forEach,t=[].some,r=document.body,o=!0;function a(t,r){var o=r.appendChild(function(t){var r=document.createElement("li"),o=document.createElement("a");e.listItemClass&&r.setAttribute("class",e.listItemClass);e.onClick&&(o.onclick=e.onClick);e.includeHtml&&t.childNodes.length?n.call(t.childNodes,(function(e){o.appendChild(e.cloneNode(!0))})):o.textContent=t.textContent;return o.setAttribute("href",e.basePath+"#"+t.id),o.setAttribute("class",e.linkClass+" node-name--"+t.nodeName+" "+e.extraLinkClasses),r.appendChild(o),r}(t));if(t.children.length){var s=i(t.isCollapsed);t.children.forEach((function(e){a(e,s)})),o.appendChild(s)}}function i(n){var t=e.orderedList?"ol":"ul",r=document.createElement(t),o=e.listClass+" "+e.extraListClasses;return n&&(o+=" "+e.collapsibleClass,o+=" "+e.isCollapsedClass),r.setAttribute("class",o),r}return{enableTocAnimation:function(){o=!0},disableTocAnimation:function(n){var t=n.target||n.srcElement;"string"==typeof t.className&&-1!==t.className.indexOf(e.linkClass)&&(o=!1)},render:function(e,n){var t=i(!1);n.forEach((function(e){a(e,t)}));var r=document.querySelector(e);if(null!==r)return r.firstChild&&r.removeChild(r.firstChild),0===n.length?r:r.appendChild(t)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop,e.positionFixedSelector&&function(){var n;n=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop;var t=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),n>e.fixedSidebarOffset?-1===t.className.indexOf(e.positionFixedClass)&&(t.className+=" "+e.positionFixedClass):t.className=t.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(o&&null!==document.querySelector(e.tocSelector)&&l.length>0){t.call(l,(function(n,t){return function n(t){var r=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(r=t.offsetTop,e.hasInnerContainers&&(r+=n(t.offsetParent))),r}(n)>i+e.headingsOffset+10?(s=l[t],!0):t===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);n.call(c,(function(n){n.className=n.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);n.call(u,(function(n){n.className=n.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var f=d.parentNode;f&&-1===f.className.indexOf(e.activeListItemClass)&&(f.className+=" "+e.activeListItemClass);var p=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);n.call(p,(function(n){-1===n.className.indexOf(e.isCollapsedClass)&&(n.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function n(t){if(-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass))return t.className=t.className.split(" "+e.isCollapsedClass).join(""),n(t.parentNode.parentNode);return t}(d.parentNode.parentNode)}}}}},function(e,n){e.exports=function(e){var n=[].reduce;function t(e){return e[e.length-1]}function r(e){return+e.nodeName.split("H").join("")}function o(n){if(!(n instanceof window.HTMLElement))return n;if(e.ignoreHiddenElements&&(!n.offsetHeight||!n.offsetParent))return null;var t={id:n.id,children:[],nodeName:n.nodeName,headingLevel:r(n),textContent:e.headingLabelCallback?String(e.headingLabelCallback(n.textContent)):n.textContent.trim()};return e.includeHtml&&(t.childNodes=n.childNodes),e.headingObjectCallback?e.headingObjectCallback(t,n):t}return{nestHeadingsArray:function(r){return n.call(r,(function(n,r){var a=o(r);return a&&function(n,r){for(var a=o(n),i=a.headingLevel,s=r,l=t(s),c=i-(l?l.headingLevel:0);c>0;)(l=t(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,n.nest),n}),{nest:[]})},selectHeadings:function(n,t){var r=t;e.ignoreSelector&&(r=t.split(",").map((function(n){return n.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(n).querySelectorAll(r)}catch(e){return console.warn("Element not found: "+n),null}}}}},function(e,n){e.exports=function(e){var n=document.querySelector(e.tocSelector);if(n&&n.scrollHeight>n.clientHeight){var t=n.querySelector("."+e.activeListItemClass);t&&(n.scrollTop=t.offsetTop)}}},function(e,n){n.initSmoothScrolling=function(e){document.documentElement.style;var n=e.duration,t=e.offset,r=location.hash?o(location.href):location.href;function o(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||o(i.href)!==r&&o(i.href)+"#"!==r||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,n){var t,r,o=window.pageYOffset,a={duration:n.duration,offset:n.offset||0,callback:n.callback,easing:n.easing||function(e,n,t,r){return(e/=r/2)<1?t/2*e*e+n:(e--,-t/2*(e*(e-2)-1)+n)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-t,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){t=e,c(e)}))}(a.target.hash,{duration:n,offset:t,callback:function(){var e,n;e=a.target.hash,(n=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(n.tagName)||(n.tabIndex=-1),n.focus())}})}),!1)}},function(e,n){$((function(){$(".result").each((function(e,n){var t=$(n),r=t.prev().find(".title"),o=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');r.append(o),o.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(t)}))}))}))}]);
|
37
|
+
e.exports=(jQuery,{init:function(e){var t=e,n=log4javascript.getLogger("j1.core.asciidoctor");e=$.extend({dummyOption:!1},t),logText="J1 Asciidoctor is being initialized",n.info(logText),this.callouts()},callouts:function(e){var t="";0==$(".colist > table > colgroup").length&&(t+="\x3c!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] --\x3e\n",t+='<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>',$(".colist > table").prepend(t))},conums:function(e){var t=setInterval((function(){"finished"==j1.getState()&&0==$(".colist > table > colgroup").length&&($(".colist > table").prepend('<colgroup> <col style="width: 5%;"> <col style="width: 95%;"> </colgroup>'),clearInterval(t))}))}})},function(e,t,n){"use strict";e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},e);return{scroll:function(e,t){var n,r;r="run module scrollSmooth",(n=log4javascript.getLogger("j1.core.scrollSmooth")).info(r);var o=t.duration,a=t.offset;this.scrollTo(e,{duration:o,offset:a,callback:null}),r="scrollSmooth finished",n.info(r)},scrollTo:function(e,t){var n,r,o=window.pageYOffset,a={duration:t.duration,offset:t.offset||0,callback:t.callback,easing:t.easing||function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:(e--,-n/2*(e*(e-2)-1)+t)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-n,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),$(window).scrollTop($(window).scrollTop()+1),$(window).scrollTop($(window).scrollTop()-1),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){n=e,c(e)}))}}}(jQuery)},function(e,t,n){"use strict";var r={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],i={CSS:{},springs:{}};function s(e,t,n){return Math.min(Math.max(e,t),n)}function l(e,t){return e.indexOf(t)>-1}function c(e,t){return e.apply(null,t)}var u={arr:function(e){return Array.isArray(e)},obj:function(e){return l(Object.prototype.toString.call(e),"Object")},pth:function(e){return u.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||u.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return u.hex(e)||u.rgb(e)||u.hsl(e)},key:function(e){return!r.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function d(e){var t=/\(([^)]+)\)/.exec(e);return t?t[1].split(",").map((function(e){return parseFloat(e)})):[]}function p(e,t){var n=d(e),r=s(u.und(n[0])?1:n[0],.1,100),o=s(u.und(n[1])?100:n[1],.1,100),a=s(u.und(n[2])?10:n[2],.1,100),l=s(u.und(n[3])?0:n[3],.1,100),c=Math.sqrt(o/r),p=a/(2*Math.sqrt(o*r)),h=p<1?c*Math.sqrt(1-p*p):0,g=p<1?(p*c-l)/h:-l+c;function m(e){var n=t?t*e/1e3:e;return n=p<1?Math.exp(-n*p*c)*(1*Math.cos(h*n)+g*Math.sin(h*n)):(1+g*n)*Math.exp(-n*c),0===e||1===e?e:1-n}return t?m:function(){var t=i.springs[e];if(t)return t;for(var n=0,r=0;;)if(1===m(n+=1/6)){if(++r>=16)break}else r=0;var o=n*(1/6)*1e3;return i.springs[e]=o,o}}function h(e){return void 0===e&&(e=10),function(t){return Math.ceil(s(t,1e-6,1)*e)*(1/e)}}var g,m,f=function(){function e(e,t){return 1-3*t+3*e}function t(e,t){return 3*t-6*e}function n(e){return 3*e}function r(r,o,a){return((e(o,a)*r+t(o,a))*r+n(o))*r}function o(r,o,a){return 3*e(o,a)*r*r+2*t(o,a)*r+n(o)}return function(e,t,n,a){if(0<=e&&e<=1&&0<=n&&n<=1){var i=new Float32Array(11);if(e!==t||n!==a)for(var s=0;s<11;++s)i[s]=r(.1*s,e,n);return function(o){return e===t&&n===a||0===o||1===o?o:r(l(o),t,a)}}function l(t){for(var a=0,s=1;10!==s&&i[s]<=t;++s)a+=.1;--s;var l=a+.1*((t-i[s])/(i[s+1]-i[s])),c=o(l,e,n);return c>=.001?function(e,t,n,a){for(var i=0;i<4;++i){var s=o(t,n,a);if(0===s)return t;t-=(r(t,n,a)-e)/s}return t}(t,l,e,n):0===c?l:function(e,t,n,o,a){var i,s,l=0;do{(i=r(s=t+(n-t)/2,o,a)-e)>0?n=s:t=s}while(Math.abs(i)>1e-7&&++l<10);return s}(t,a,a+.1,e,n)}}}(),v=(g={linear:function(){return function(e){return e}}},m={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*t-2)/22-e,2)}},Elastic:function(e,t){void 0===e&&(e=1),void 0===t&&(t=.5);var n=s(e,1,10),r=s(t,.1,2);return function(e){return 0===e||1===e?e:-n*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,t){m[e]=function(){return function(e){return Math.pow(e,t+2)}}})),Object.keys(m).forEach((function(e){var t=m[e];g["easeIn"+e]=t,g["easeOut"+e]=function(e,n){return function(r){return 1-t(e,n)(1-r)}},g["easeInOut"+e]=function(e,n){return function(r){return r<.5?t(e,n)(2*r)/2:1-t(e,n)(-2*r+2)/2}}})),g);function y(e,t){if(u.fnc(e))return e;var n=e.split("(")[0],r=v[n],o=d(e);switch(n){case"spring":return p(e,t);case"cubicBezier":return c(f,o);case"steps":return c(h,o);default:return c(r,o)}}function b(e){try{return document.querySelectorAll(e)}catch(e){return}}function w(e,t){for(var n=e.length,r=arguments.length>=2?arguments[1]:void 0,o=[],a=0;a<n;a++)if(a in e){var i=e[a];t.call(r,i,a,e)&&o.push(i)}return o}function C(e){return e.reduce((function(e,t){return e.concat(u.arr(t)?C(t):t)}),[])}function x(e){return u.arr(e)?e:(u.str(e)&&(e=b(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function E(e,t){return e.some((function(e){return e===t}))}function L(e){var t={};for(var n in e)t[n]=e[n];return t}function S(e,t){var n=L(e);for(var r in e)n[r]=t.hasOwnProperty(r)?t[r]:e[r];return n}function T(e,t){var n=L(e);for(var r in t)n[r]=u.und(e[r])?t[r]:e[r];return n}function M(e){return u.rgb(e)?(n=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(t=e))?"rgba("+n[1]+",1)":t:u.hex(e)?function(e){var t=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,r){return t+t+n+n+r+r})),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return"rgba("+parseInt(n[1],16)+","+parseInt(n[2],16)+","+parseInt(n[3],16)+",1)"}(e):u.hsl(e)?function(e){var t,n,r,o=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(o[1],10)/360,i=parseInt(o[2],10)/100,s=parseInt(o[3],10)/100,l=o[4]||1;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==i)t=n=r=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;t=c(d,u,a+1/3),n=c(d,u,a),r=c(d,u,a-1/3)}return"rgba("+255*t+","+255*n+","+255*r+","+l+")"}(e):void 0;var t,n}function A(e){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(t)return t[1]}function I(e,t){return u.fnc(e)?e(t.target,t.id,t.total):e}function k(e,t){return e.getAttribute(t)}function D(e,t,n){if(E([n,"deg","rad","turn"],A(t)))return t;var r=i.CSS[t+n];if(!u.und(r))return r;var o=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(o),o.style.position="absolute",o.style.width=100+n;var s=100/o.offsetWidth;a.removeChild(o);var l=s*parseFloat(t);return i.CSS[t+n]=l,l}function N(e,t,n){if(t in e.style){var r=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),o=e.style[t]||getComputedStyle(e).getPropertyValue(r)||"0";return n?D(e,o,n):o}}function R(e,t){return u.dom(e)&&!u.inp(e)&&(k(e,t)||u.svg(e)&&e[t])?"attribute":u.dom(e)&&E(a,t)?"transform":u.dom(e)&&"transform"!==t&&N(e,t)?"css":null!=e[t]?"object":void 0}function O(e){if(u.dom(e)){for(var t,n=e.style.transform||"",r=/(\w+)\(([^)]*)\)/g,o=new Map;t=r.exec(n);)o.set(t[1],t[2]);return o}}function F(e,t,n,r){var o=l(t,"scale")?1:0+function(e){return l(e,"translate")||"perspective"===e?"px":l(e,"rotate")||l(e,"skew")?"deg":void 0}(t),a=O(e).get(t)||o;return n&&(n.transforms.list.set(t,a),n.transforms.last=t),r?D(e,a,r):a}function P(e,t,n,r){switch(R(e,t)){case"transform":return F(e,t,r,n);case"css":return N(e,t,n);case"attribute":return k(e,t);default:return e[t]||0}}function $(e,t){var n=/^(\*=|\+=|-=)/.exec(e);if(!n)return e;var r=A(e)||0,o=parseFloat(t),a=parseFloat(e.replace(n[0],""));switch(n[0][0]){case"+":return o+a+r;case"-":return o-a+r;case"*":return o*a+r}}function j(e,t){if(u.col(e))return M(e);if(/\s/g.test(e))return e;var n=A(e),r=n?e.substr(0,e.length-n.length):e;return t?r+t:r}function B(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function _(e){for(var t,n=e.points,r=0,o=0;o<n.numberOfItems;o++){var a=n.getItem(o);o>0&&(r+=B(t,a)),t=a}return r}function H(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*k(e,"r")}(e);case"rect":return function(e){return 2*k(e,"width")+2*k(e,"height")}(e);case"line":return function(e){return B({x:k(e,"x1"),y:k(e,"y1")},{x:k(e,"x2"),y:k(e,"y2")})}(e);case"polyline":return _(e);case"polygon":return function(e){var t=e.points;return _(e)+B(t.getItem(t.numberOfItems-1),t.getItem(0))}(e)}}function W(e,t){var n=t||{},r=n.el||function(e){for(var t=e.parentNode;u.svg(t)&&u.svg(t.parentNode);)t=t.parentNode;return t}(e),o=r.getBoundingClientRect(),a=k(r,"viewBox"),i=o.width,s=o.height,l=n.viewBox||(a?a.split(" "):[0,0,i,s]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:i/l[2],h:s/l[3]}}function U(e,t){function n(n){void 0===n&&(n=0);var r=t+n>=1?t+n:0;return e.el.getPointAtLength(r)}var r=W(e.el,e.svg),o=n(),a=n(-1),i=n(1);switch(e.property){case"x":return(o.x-r.x)*r.w;case"y":return(o.y-r.y)*r.h;case"angle":return 180*Math.atan2(i.y-a.y,i.x-a.x)/Math.PI}}function G(e,t){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=j(u.pth(e)?e.totalLength:e,t)+"";return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:u.str(e)||t?r.split(n):[]}}function q(e){return w(e?C(u.arr(e)?e.map(x):x(e)):[],(function(e,t,n){return n.indexOf(e)===t}))}function V(e){var t=q(e);return t.map((function(e,n){return{target:e,id:n,total:t.length,transforms:{list:O(e)}}}))}function K(e,t){var n=L(t);if(/^spring/.test(n.easing)&&(n.duration=p(n.easing)),u.arr(e)){var r=e.length;2===r&&!u.obj(e[0])?e={value:e}:u.fnc(t.duration)||(n.duration=t.duration/r)}var o=u.arr(e)?e:[e];return o.map((function(e,n){var r=u.obj(e)&&!u.pth(e)?e:{value:e};return u.und(r.delay)&&(r.delay=n?0:t.delay),u.und(r.endDelay)&&(r.endDelay=n===o.length-1?t.endDelay:0),r})).map((function(e){return T(e,n)}))}function z(e,t){var n=[],r=t.keyframes;for(var o in r&&(t=T(function(e){for(var t=w(C(e.map((function(e){return Object.keys(e)}))),(function(e){return u.key(e)})).reduce((function(e,t){return e.indexOf(t)<0&&e.push(t),e}),[]),n={},r=function(r){var o=t[r];n[o]=e.map((function(e){var t={};for(var n in e)u.key(n)?n==o&&(t.value=e[n]):t[n]=e[n];return t}))},o=0;o<t.length;o++)r(o);return n}(r),t)),t)u.key(o)&&n.push({name:o,tweens:K(t[o],e)});return n}function X(e,t){var n;return e.tweens.map((function(r){var o=function(e,t){var n={};for(var r in e){var o=I(e[r],t);u.arr(o)&&1===(o=o.map((function(e){return I(e,t)}))).length&&(o=o[0]),n[r]=o}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(r,t),a=o.value,i=u.arr(a)?a[1]:a,s=A(i),l=P(t.target,e.name,s,t),c=n?n.to.original:l,d=u.arr(a)?a[0]:c,p=A(d)||A(l),h=s||p;return u.und(i)&&(i=c),o.from=G(d,h),o.to=G($(i,d),h),o.start=n?n.end:0,o.end=o.start+o.delay+o.duration+o.endDelay,o.easing=y(o.easing,o.duration),o.isPath=u.pth(a),o.isColor=u.col(o.from.original),o.isColor&&(o.round=1),n=o,o}))}var J={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,r,o){if(r.list.set(t,n),t===r.last||o){var a="";r.list.forEach((function(e,t){a+=t+"("+e+") "})),e.style.transform=a}}};function Y(e,t){V(e).forEach((function(e){for(var n in t){var r=I(t[n],e),o=e.target,a=A(r),i=P(o,n,a,e),s=$(j(r,a||A(i)),i),l=R(o,n);J[l](o,n,s,e.transforms,!0)}}))}function Q(e,t){return w(C(e.map((function(e){return t.map((function(t){return function(e,t){var n=R(e.target,t.name);if(n){var r=X(t,e),o=r[r.length-1];return{type:n,property:t.name,animatable:e,tweens:r,duration:o.end,delay:r[0].delay,endDelay:o.endDelay}}}(e,t)}))}))),(function(e){return!u.und(e)}))}function Z(e,t){var n=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},o={};return o.duration=n?Math.max.apply(Math,e.map((function(e){return r(e)+e.duration}))):t.duration,o.delay=n?Math.min.apply(Math,e.map((function(e){return r(e)+e.delay}))):t.delay,o.endDelay=n?o.duration-Math.max.apply(Math,e.map((function(e){return r(e)+e.duration-e.endDelay}))):t.endDelay,o}var ee=0;var te,ne=[],re=[],oe=function(){function e(){te=requestAnimationFrame(t)}function t(t){var n=ne.length;if(n){for(var r=0;r<n;){var o=ne[r];if(o.paused){var a=ne.indexOf(o);a>-1&&(ne.splice(a,1),n=ne.length)}else o.tick(t);r++}e()}else te=cancelAnimationFrame(te)}return e}();function ae(e){void 0===e&&(e={});var t,n=0,a=0,i=0,l=0,c=null;function u(e){var t=window.Promise&&new Promise((function(e){return c=e}));return e.finished=t,t}var d=function(e){var t=S(r,e),n=S(o,e),a=z(n,e),i=V(e.targets),s=Q(i,a),l=Z(s,n),c=ee;return ee++,T(t,{id:c,children:[],animatables:i,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}(e);u(d);function p(){var e=d.direction;"alternate"!==e&&(d.direction="normal"!==e?"normal":"reverse"),d.reversed=!d.reversed,t.forEach((function(e){return e.reversed=d.reversed}))}function h(e){return d.reversed?d.duration-e:e}function g(){n=0,a=h(d.currentTime)*(1/ae.speed)}function m(e,t){t&&t.seek(e-t.timelineOffset)}function f(e){for(var t=0,n=d.animations,r=n.length;t<r;){var o=n[t],a=o.animatable,i=o.tweens,l=i.length-1,c=i[l];l&&(c=w(i,(function(t){return e<t.end}))[0]||c);for(var u=s(e-c.start-c.delay,0,c.duration)/c.duration,p=isNaN(u)?1:c.easing(u),h=c.to.strings,g=c.round,m=[],f=c.to.numbers.length,v=void 0,y=0;y<f;y++){var b=void 0,C=c.to.numbers[y],x=c.from.numbers[y]||0;b=c.isPath?U(c.value,p*C):x+p*(C-x),g&&(c.isColor&&y>2||(b=Math.round(b*g)/g)),m.push(b)}var E=h.length;if(E){v=h[0];for(var L=0;L<E;L++){h[L];var S=h[L+1],T=m[L];isNaN(T)||(v+=S?T+S:T+" ")}}else v=m[0];J[o.type](a.target,o.property,v,a.transforms),o.currentValue=v,t++}}function v(e){d[e]&&!d.passThrough&&d[e](d)}function y(e){var r=d.duration,o=d.delay,g=r-d.endDelay,y=h(e);d.progress=s(y/r*100,0,100),d.reversePlayback=y<d.currentTime,t&&function(e){if(d.reversePlayback)for(var n=l;n--;)m(e,t[n]);else for(var r=0;r<l;r++)m(e,t[r])}(y),!d.began&&d.currentTime>0&&(d.began=!0,v("begin")),!d.loopBegan&&d.currentTime>0&&(d.loopBegan=!0,v("loopBegin")),y<=o&&0!==d.currentTime&&f(0),(y>=g&&d.currentTime!==r||!r)&&f(r),y>o&&y<g?(d.changeBegan||(d.changeBegan=!0,d.changeCompleted=!1,v("changeBegin")),v("change"),f(y)):d.changeBegan&&(d.changeCompleted=!0,d.changeBegan=!1,v("changeComplete")),d.currentTime=s(y,0,r),d.began&&v("update"),e>=r&&(a=0,d.remaining&&!0!==d.remaining&&d.remaining--,d.remaining?(n=i,v("loopComplete"),d.loopBegan=!1,"alternate"===d.direction&&p()):(d.paused=!0,d.completed||(d.completed=!0,v("loopComplete"),v("complete"),!d.passThrough&&"Promise"in window&&(c(),u(d)))))}return d.reset=function(){var e=d.direction;d.passThrough=!1,d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.loopBegan=!1,d.changeBegan=!1,d.completed=!1,d.changeCompleted=!1,d.reversePlayback=!1,d.reversed="reverse"===e,d.remaining=d.loop,t=d.children;for(var n=l=t.length;n--;)d.children[n].reset();(d.reversed&&!0!==d.loop||"alternate"===e&&1===d.loop)&&d.remaining++,f(d.reversed?d.duration:0)},d.set=function(e,t){return Y(e,t),d},d.tick=function(e){i=e,n||(n=i),y((i+(a-n))*ae.speed)},d.seek=function(e){y(h(e))},d.pause=function(){d.paused=!0,g()},d.play=function(){d.paused&&(d.completed&&d.reset(),d.paused=!1,ne.push(d),g(),te||oe())},d.reverse=function(){p(),d.completed=!d.reversed,g()},d.restart=function(){d.reset(),d.play()},d.reset(),d.autoplay&&d.play(),d}function ie(e,t){for(var n=t.length;n--;)E(e,t[n].animatable.target)&&t.splice(n,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(ne.forEach((function(e){return e.pause()})),re=ne.slice(0),ae.running=ne=[]):re.forEach((function(e){return e.play()}))})),ae.version="3.2.0",ae.speed=1,ae.running=ne,ae.remove=function(e){for(var t=q(e),n=ne.length;n--;){var r=ne[n],o=r.animations,a=r.children;ie(t,o);for(var i=a.length;i--;){var s=a[i],l=s.animations;ie(t,l),l.length||s.children.length||a.splice(i,1)}o.length||a.length||r.pause()}},ae.get=P,ae.set=Y,ae.convertPx=D,ae.path=function(e,t){var n=u.str(e)?b(e)[0]:e,r=t||100;return function(e){return{property:e,el:n,svg:W(n),totalLength:H(n)*(r/100)}}},ae.setDashoffset=function(e){var t=H(e);return e.setAttribute("stroke-dasharray",t),t},ae.stagger=function(e,t){void 0===t&&(t={});var n=t.direction||"normal",r=t.easing?y(t.easing):null,o=t.grid,a=t.axis,i=t.from||0,s="first"===i,l="center"===i,c="last"===i,d=u.arr(e),p=d?parseFloat(e[0]):parseFloat(e),h=d?parseFloat(e[1]):0,g=A(d?e[1]:e)||0,m=t.start||0+(d?p:0),f=[],v=0;return function(e,t,u){if(s&&(i=0),l&&(i=(u-1)/2),c&&(i=u-1),!f.length){for(var y=0;y<u;y++){if(o){var b=l?(o[0]-1)/2:i%o[0],w=l?(o[1]-1)/2:Math.floor(i/o[0]),C=b-y%o[0],x=w-Math.floor(y/o[0]),E=Math.sqrt(C*C+x*x);"x"===a&&(E=-C),"y"===a&&(E=-x),f.push(E)}else f.push(Math.abs(i-y));v=Math.max.apply(Math,f)}r&&(f=f.map((function(e){return r(e/v)*v}))),"reverse"===n&&(f=f.map((function(e){return a?e<0?-1*e:-e:Math.abs(v-e)})))}return m+(d?(h-p)/v:p)*(Math.round(100*f[t])/100)+g}},ae.timeline=function(e){void 0===e&&(e={});var t=ae(e);return t.duration=0,t.add=function(n,r){var a=ne.indexOf(t),i=t.children;function s(e){e.passThrough=!0}a>-1&&ne.splice(a,1);for(var l=0;l<i.length;l++)s(i[l]);var c=T(n,S(o,e));c.targets=c.targets||e.targets;var d=t.duration;c.autoplay=!1,c.direction=t.direction,c.timelineOffset=u.und(r)?d:$(r,d),s(t),t.seek(c.timelineOffset);var p=ae(c);s(p),i.push(p);var h=Z(i,e);return t.delay=h.delay,t.endDelay=h.endDelay,t.duration=h.duration,t.seek(0),t.reset(),t.autoplay&&t.play(),t},t},ae.easing=y,ae.penner=v,ae.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},e.exports=ae},function(e,t,n){(function(r){var o,a,i,s;s=void 0!==r?r:this.window||this.global,a=[],o=function(e){"use strict";var t,r,o,a=n(14),i={},s={},l=n(15),c=n(16),u=n(17),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var p=Object.prototype.hasOwnProperty;return s.destroy=function(){if(!i.skipRendering)try{document.querySelector(i.tocSelector).innerHTML=""}catch(e){console.warn("Element not found: "+i.tocSelector)}i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),t&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),t&&document.removeEventListener("click",this._clickListener,!1))},s.init=function(e){if(d&&(i=function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)p.call(n,r)&&(e[r]=n[r])}return e}(a,e||{}),this.options=i,this.state={},i.scrollSmooth&&(i.duration=i.scrollSmoothDuration,i.offset=i.scrollSmoothOffset,s.scrollSmooth=n(18).initSmoothScrolling(i)),t=l(i),r=c(i),this._buildHtml=t,this._parseContent=r,s.destroy(),null!==(o=r.selectHeadings(i.contentSelector,i.headingSelector)))){var g=r.nestHeadingsArray(o).nest;i.skipRendering||t.render(i.tocSelector,g),this._scrollListener=h((function(e){t.updateToc(o),!i.disableTocScrollSync&&u(i);var n=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||n)&&(t.updateToc(o),i.scrollEndCallback&&i.scrollEndCallback(e))}),i.throttleTimeout),this._scrollListener(),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var m=null;return this._clickListener=h((function(e){i.scrollSmooth&&t.disableTocAnimation(e),t.updateToc(o),m&&clearTimeout(m),m=setTimeout((function(){t.enableTocAnimation()}),i.scrollSmoothDuration)}),i.throttleTimeout),i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}},s.refresh=function(e){s.destroy(),s.init(e||this.options)},e.tocbot=s,s}function h(e,t,n){var r,o;return t||(t=250),function(){var a=n||this,i=+new Date,s=arguments;r&&i<r+t?(clearTimeout(o),o=setTimeout((function(){r=i,e.apply(a,s)}),t)):(r=i,e.apply(a,s))}}}(s),void 0===(i="function"==typeof o?o.apply(t,a):o)||(e.exports=i)}).call(this,n(0))},function(e,t){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},function(e,t){e.exports=function(e){var t=[].forEach,n=[].some,r=document.body,o=!0;function a(n,r){var o=r.appendChild(function(n){var r=document.createElement("li"),o=document.createElement("a");e.listItemClass&&r.setAttribute("class",e.listItemClass);e.onClick&&(o.onclick=e.onClick);e.includeHtml&&n.childNodes.length?t.call(n.childNodes,(function(e){o.appendChild(e.cloneNode(!0))})):o.textContent=n.textContent;return o.setAttribute("href",e.basePath+"#"+n.id),o.setAttribute("class",e.linkClass+" node-name--"+n.nodeName+" "+e.extraLinkClasses),r.appendChild(o),r}(n));if(n.children.length){var s=i(n.isCollapsed);n.children.forEach((function(e){a(e,s)})),o.appendChild(s)}}function i(t){var n=e.orderedList?"ol":"ul",r=document.createElement(n),o=e.listClass+" "+e.extraListClasses;return t&&(o+=" "+e.collapsibleClass,o+=" "+e.isCollapsedClass),r.setAttribute("class",o),r}return{enableTocAnimation:function(){o=!0},disableTocAnimation:function(t){var n=t.target||t.srcElement;"string"==typeof n.className&&-1!==n.className.indexOf(e.linkClass)&&(o=!1)},render:function(e,t){var n=i(!1);t.forEach((function(e){a(e,n)}));var r=document.querySelector(e);if(null!==r)return r.firstChild&&r.removeChild(r.firstChild),0===t.length?r:r.appendChild(n)},updateToc:function(a){var i;i=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop,e.positionFixedSelector&&function(){var t;t=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||r.scrollTop;var n=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),t>e.fixedSidebarOffset?-1===n.className.indexOf(e.positionFixedClass)&&(n.className+=" "+e.positionFixedClass):n.className=n.className.split(" "+e.positionFixedClass).join("")}();var s,l=a;if(o&&null!==document.querySelector(e.tocSelector)&&l.length>0){n.call(l,(function(t,n){return function t(n){var r=0;return n!==document.querySelector(e.contentSelector&&null!=n)&&(r=n.offsetTop,e.hasInnerContainers&&(r+=t(n.offsetParent))),r}(t)>i+e.headingsOffset+10?(s=l[n],!0):n===l.length-1?(s=l[l.length-1],!0):void 0}));var c=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);t.call(c,(function(t){t.className=t.className.split(" "+e.activeLinkClass).join("")}));var u=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);t.call(u,(function(t){t.className=t.className.split(" "+e.activeListItemClass).join("")}));var d=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+s.nodeName+'[href="'+e.basePath+"#"+s.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');-1===d.className.indexOf(e.activeLinkClass)&&(d.className+=" "+e.activeLinkClass);var p=d.parentNode;p&&-1===p.className.indexOf(e.activeListItemClass)&&(p.className+=" "+e.activeListItemClass);var h=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);t.call(h,(function(t){-1===t.className.indexOf(e.isCollapsedClass)&&(t.className+=" "+e.isCollapsedClass)})),d.nextSibling&&-1!==d.nextSibling.className.indexOf(e.isCollapsedClass)&&(d.nextSibling.className=d.nextSibling.className.split(" "+e.isCollapsedClass).join("")),function t(n){if(-1!==n.className.indexOf(e.collapsibleClass)&&-1!==n.className.indexOf(e.isCollapsedClass))return n.className=n.className.split(" "+e.isCollapsedClass).join(""),t(n.parentNode.parentNode);return n}(d.parentNode.parentNode)}}}}},function(e,t){e.exports=function(e){var t=[].reduce;function n(e){return e[e.length-1]}function r(e){return+e.nodeName.split("H").join("")}function o(t){if(!(t instanceof window.HTMLElement))return t;if(e.ignoreHiddenElements&&(!t.offsetHeight||!t.offsetParent))return null;var n={id:t.id,children:[],nodeName:t.nodeName,headingLevel:r(t),textContent:e.headingLabelCallback?String(e.headingLabelCallback(t.textContent)):t.textContent.trim()};return e.includeHtml&&(n.childNodes=t.childNodes),e.headingObjectCallback?e.headingObjectCallback(n,t):n}return{nestHeadingsArray:function(r){return t.call(r,(function(t,r){var a=o(r);return a&&function(t,r){for(var a=o(t),i=a.headingLevel,s=r,l=n(s),c=i-(l?l.headingLevel:0);c>0;)(l=n(s))&&void 0!==l.children&&(s=l.children),c--;i>=e.collapseDepth&&(a.isCollapsed=!0),s.push(a)}(a,t.nest),t}),{nest:[]})},selectHeadings:function(t,n){var r=n;e.ignoreSelector&&(r=n.split(",").map((function(t){return t.trim()+":not("+e.ignoreSelector+")"})));try{return document.querySelector(t).querySelectorAll(r)}catch(e){return console.warn("Element not found: "+t),null}}}}},function(e,t){e.exports=function(e){var t=document.querySelector(e.tocSelector);if(t&&t.scrollHeight>t.clientHeight){var n=t.querySelector("."+e.activeListItemClass);n&&(t.scrollTop=n.offsetTop)}}},function(e,t){t.initSmoothScrolling=function(e){document.documentElement.style;var t=e.duration,n=e.offset,r=location.hash?o(location.href):location.href;function o(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(a){var i;"a"!==(i=a.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||o(i.href)!==r&&o(i.href)+"#"!==r||a.target.className.indexOf("no-smooth-scroll")>-1||"#"===a.target.href.charAt(a.target.href.length-2)&&"!"===a.target.href.charAt(a.target.href.length-1)||-1===a.target.className.indexOf(e.linkClass)||function(e,t){var n,r,o=window.pageYOffset,a={duration:t.duration,offset:t.offset||0,callback:t.callback,easing:t.easing||function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:(e--,-n/2*(e*(e-2)-1)+t)}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]'),s="string"==typeof e?a.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,l="function"==typeof a.duration?a.duration(s):a.duration;function c(e){r=e-n,window.scrollTo(0,a.easing(r,o,s,l)),r<l?requestAnimationFrame(c):(window.scrollTo(0,o+s),"function"==typeof a.callback&&a.callback())}requestAnimationFrame((function(e){n=e,c(e)}))}(a.target.hash,{duration:t,offset:n,callback:function(){var e,t;e=a.target.hash,(t=document.getElementById(e.substring(1)))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())}})}),!1)}},function(e,t){$((function(){$(".result").each((function(e,t){var n=$(t),r=n.prev().find(".title"),o=$('<div class="view-result j1-viewer"><span class="btn-viewer j1-tooltip" data-toggle="tooltip" data-placement="left" title="toggle results" data-original-title="toggle results">View</span></div>');r.append(o),o.on("click",(function(e){e.preventDefault(),function(e){window.clearTimeout(void 0),e.prev().toggleClass("stacked"),e.toggle()}(n)}))}))}))}]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["dist/template.js"],"names":["e","n","t","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","window","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","_init_","$","extend","foo","bar","getState","isMobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","init","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","click","preventDefault","returnValue","hasClass","wrap","Array","find","each","push","html","a","splice","Math","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","width","u","data","f","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","eq","setTimeout","fadeIn","clearTimeout","height","v","offset","top","updateSidebar","JSON","stringify","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","setInterval","clearInterval","scroll","duration","scrollTo","callback","pageYOffset","easing","document","querySelector","decodeURI","split","join","getBoundingClientRect","documentElement","body","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","max","indexOf","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","str","fnc","und","hex","rgb","hsl","col","key","exec","map","parseFloat","sqrt","exp","cos","sin","ceil","h","Float32Array","abs","g","linear","Sine","PI","Circ","Back","Bounce","pow","Elastic","asin","forEach","keys","b","w","querySelectorAll","y","arguments","C","reduce","concat","NodeList","HTMLCollection","slice","k","some","x","S","T","L","replace","parseInt","O","j","target","id","total","M","getAttribute","q","createElement","tagName","parentNode","appendChild","style","position","offsetWidth","removeChild","N","toLowerCase","getComputedStyle","getPropertyValue","E","_","transform","Map","set","I","transforms","list","A","P","D","F","H","points","numberOfItems","getItem","B","getTotalLength","z","el","viewBox","Q","getPointAtLength","property","atan2","R","totalLength","original","numbers","match","Number","strings","Y","V","X","Z","keyframes","name","tweens","J","to","from","start","end","isPath","isColor","U","attribute","setAttribute","object","W","G","animatable","K","ee","ne","te","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","children","animatables","animations","reversed","currentTime","speed","seek","isNaN","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","addEventListener","hidden","running","version","remove","convertPx","path","setDashoffset","stagger","grid","axis","floor","timeline","add","penner","random","global","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","childNodes","cloneNode","textContent","nodeName","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","String","trim","scrollHeight","clientHeight","location","hash","href","lastIndexOf","charAt","getElementById","substring","tabIndex","focus","prev","append","toggleClass"],"mappings":"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"}
|
1
|
+
{"version":3,"sources":["dist/template.js"],"names":["e","t","n","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","this","Function","window","Cookies","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","a","noConflict","arguments","length","replace","decodeURIComponent","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","split","cookie","slice","join","charAt","read","parse","set","getJSON","remove","withConverter","module","__webpack_require__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","isUndefined","EventSupport","Array","push","shift","splice","concat","eventTypes","eventListeners","setEventTypes","handleError","addEventListener","array_contains","removeEventListener","array_remove","dispatchEvent","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","message","description","getUrlFileName","max","lastIndexOf","substr","getExceptionStringRep","lineNumber","fileName","logLog","warn","showStackTraces","stack","bool","Boolean","trim","splitIntoLines","version","edition","urlEncode","extractBooleanFromParam","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","Error","apply","obj","args","methodName","argsStrings","len","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","error","exception","enabled","log4javascript_disabled","setEnabled","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","Level","level","name","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","addChild","invalidateAppenderCache","getAdditivity","setAdditivity","addAppender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","getEffectiveAppenders","log","getEffectiveLevel","LoggingEvent","callAppenders","doAppend","setLevel","getLevel","group","groupEnd","time","timeEnd","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","logger","timeStamp","timeStampInMilliseconds","timeStampInSeconds","milliseconds","getMilliseconds","messages","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","formatWithException","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","combineMessages","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","u","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","isReadable","G","y","M","w","W","D","F","E","H","k","K","h","S","Z","setMilliseconds","getDifference","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","getWeekInMonth","getDayInYear","formatString","setMinimalDaysInFirstWeek","getMinimalDaysInFirstWeek","exec","g","f","v","getTimezoneOffset","b","abs","C","index","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","x","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","setTimeout","L","onreadystatechange","readyState","open","withCredentials","setRequestHeader","send","getSessionId","setSessionId","isTimed","setTimed","getTimerInterval","setTimerInterval","isWaitForResponse","setWaitForResponse","getBatchSize","setBatchSize","isSendAllOnUnload","setSendAllOnUnload","setRequestSuccessCallback","setFailCallback","getPostVarName","setPostVarName","getHeaders","addHeader","toLowerCase","sendAll","sendAllRemaining","onbeforeunload","setCookie","setTime","toGMTString","getCookie","indexOf","unescape","getBaseUrl","getElementsByTagName","src","isLoaded","loaded","padWithSpaces","PopUpAppender","focusPopUp","initiallyMinimized","lazyInit","useDocumentWrite","newestMessageAtTop","scrollToLatestMessage","width","height","maxMessages","T","showCommandLine","commandLineObjectExpansionDepth","A","showHideButton","I","showCloseButton","N","isNewestMessageAtTop","setNewestMessageAtTop","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","setScrollToLatest","getWidth","setWidth","getHeight","setHeight","getMaxMessages","setMaxMessages","isShowCommandLine","setShowCommandLine","isShowHideButton","setShowHideButton","isShowCloseButton","setShowCloseButton","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","R","O","loggingEvent","levelName","formattedMessage","initiallyExpanded","P","isInitiallyMinimized","setInitiallyMinimized","isUseDocumentWrite","setUseDocumentWrite","$","ee","j","focus","clear","clearLog","focusCommandLine","focusSearch","B","getCommandWindow","setCommandWindow","executeLastCommand","evalLastCommand","_","getCommandLayout","setCommandLayout","evalCommandAndAppend","appendResult","execScript","appender","commandReturnValue","commandLineFunctionsHash","evalExpr","result","addCommandLineFunction","storeCommandHistory","writeln","close","U","setAppender","setMainWindow","commandHistory","currentCommandIndex","win","unload","caller","setInterval","clearInterval","q","domain","hostname","V","addCssProperty","z","X","J","hide","blur","style","display","show","isVisible","confirm","parentNode","removeChild","appendChild","createElement","border","innerHTML","getElementById","nodeType","position","left","right","bottom","body","frames","Y","Q","useOldPopUp","complainAboutPopUpBlocking","reopenWhenClosed","isUseOldPopUp","setUseOldPopUp","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","isFocusPopUp","setFocusPopUp","isReopenWhenClosed","setReopenWhenClosed","frameElement","tagName","id","host","closed","setCloseIfOpenerCloses","mainPageReloaded","getConsoleWindow","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InPageAppender","InlineAppender","cssText","childNodes","prefix","outerHTML","RegExp","$1","attributes","specified","nodeValue","nodeName","hasChildNodes","setDocumentReady","attachEvent","oldOnload","onload","hash","origin","pathname","protocol","search","password","username","port","params","changeQueryParser","function","object","global","self","pow","toUpperCase","userAgent","likeChrome","java","environment","operamini","label","Apple","iPad","iPhone","iPod","Alcatel","Archos","Amazon","Kindle","Asus","Transformer","Nook","BlackBerry","PlayBook","Google","Nexus","HP","TouchPad","HTC","Huawei","Lenovo","LG","Microsoft","Xbox","Motorola","Xoom","Nintendo","Wii","Nokia","Lumia","Oppo","Samsung","Sony","PlayStation","Xiaomi","Mi","Redmi","manufacturer","product","unshift","parseFloat","runtime","flash","system","Capabilities","os","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","process","browser","versions","electron","node","nw","arch","appMinorVersion","external","architecture","family","cpuClass","prerelease","ua","webpackPolyfill","deprecate","paths","_init_","extend","foo","bar","getState","isMobile","vendor","bsFormClearButton","on","val","nextAll","removeClass","addClass","init","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","click","preventDefault","hasClass","wrap","find","each","html","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","data","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","eq","fadeIn","clearTimeout","offset","top","updateSidebar","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","getBoundingClientRect","documentElement","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","arr","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","str","fnc","und","hex","rgb","hsl","col","key","map","sqrt","exp","cos","sin","ceil","Float32Array","linear","Sine","PI","Circ","Back","Bounce","Elastic","asin","forEach","keys","querySelectorAll","reduce","NodeList","HTMLCollection","some","target","total","getAttribute","offsetWidth","getComputedStyle","getPropertyValue","transform","Map","transforms","list","points","numberOfItems","getItem","getTotalLength","el","viewBox","getPointAtLength","property","atan2","totalLength","original","numbers","match","strings","keyframes","tweens","to","from","end","isPath","isColor","attribute","setAttribute","animatable","te","ne","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","animatables","animations","reversed","currentTime","speed","seek","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","convertPx","setDashoffset","stagger","grid","axis","timeline","add","penner","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","cloneNode","textContent","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","scrollHeight","clientHeight","tabIndex","prev","toggleClass"],"mappings":"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"}
|
data/lib/j1/version.rb
CHANGED
data/lib/starter_web/Gemfile
CHANGED
@@ -54,7 +54,7 @@ gem 'jekyll', '~> 4.2'
|
|
54
54
|
|
55
55
|
# Theme Rubies, default: J1 Template (NOT used for the development system)
|
56
56
|
#
|
57
|
-
gem 'j1-template', '~> 2021.1.
|
57
|
+
gem 'j1-template', '~> 2021.1.11'
|
58
58
|
|
59
59
|
# ------------------------------------------------------------------------------
|
60
60
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,7 +53,7 @@ environment: production
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2021.1.
|
56
|
+
version: 2021.1.11
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
@@ -412,7 +412,7 @@ end::tables[]
|
|
412
412
|
// -----------------------------------------------------------------------------
|
413
413
|
tag::products[]
|
414
414
|
:j1--license: MIT License
|
415
|
-
:j1--version: 2021.1.
|
415
|
+
:j1--version: 2021.1.11
|
416
416
|
:j1--site-name: Jekyll One
|
417
417
|
end::products[]
|
418
418
|
|