j1-template 2021.1.10 → 2021.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/assets/error_pages/HTTP204.html +3 -0
  3. data/assets/error_pages/HTTP400.html +3 -0
  4. data/assets/error_pages/HTTP401.html +3 -0
  5. data/assets/error_pages/HTTP403.html +3 -0
  6. data/assets/error_pages/HTTP404.html +3 -0
  7. data/assets/error_pages/HTTP500.html +3 -0
  8. data/assets/error_pages/HTTP501.html +3 -0
  9. data/assets/error_pages/HTTP502.html +3 -0
  10. data/assets/error_pages/HTTP503.html +3 -0
  11. data/assets/themes/j1/adapter/js/cookieConsent.js +18 -8
  12. data/assets/themes/j1/adapter/js/j1.js +93 -39
  13. data/assets/themes/j1/adapter/js/navigator.js +5 -2
  14. data/assets/themes/j1/adapter/js/themer.js +137 -92
  15. data/assets/themes/j1/core/js/template.js +24 -4
  16. data/assets/themes/j1/core/js/template.js.map +1 -1
  17. data/assets/themes/j1/core/js/template.min.js +24 -4
  18. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  19. data/lib/j1/version.rb +1 -1
  20. data/lib/starter_web/Gemfile +1 -1
  21. data/lib/starter_web/_config.yml +1 -1
  22. data/lib/starter_web/_data/resources.yml +0 -4
  23. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  24. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  25. data/lib/starter_web/package.json +1 -1
  26. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  27. data/lib/starter_web/utilsrv/package.json +1 -1
  28. metadata +2 -7
  29. data/assets/themes/j1/adapter/js/themer.1.js +0 -326
  30. data/assets/themes/j1/modules/util/js/js.cookie.js +0 -163
  31. data/assets/themes/j1/modules/util/js/lite-url.js +0 -203
  32. data/assets/themes/j1/modules/util/js/lite-url.min.js +0 -7
  33. 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
- // Detect|Set J1 UserState
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 = j1.adapter.themer;
156
- logger = log4javascript.getLogger('j1.adapter.themer');
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
- // detect|set user state cookie
163
- user_state_detected = j1.existsCookie(cookie_names.user_state);
164
- if (user_state_detected) {
165
- user_state = j1.readCookie(cookie_names.user_state);
166
- user_consent = j1.readCookie(cookie_names.user_consent);
167
- }
168
-
169
- // initial theme data
170
- if (user_state.theme_css === '') {
171
- user_state.theme_name = default_theme_name;
172
- user_state.theme_css = default_theme_css;
173
- user_state.theme_author = default_theme_author;
174
- user_state.theme_author_url = default_theme_author_url;
175
- }
176
-
177
- styleLoaded = styleSheetLoaded(user_state.theme_css);
178
- theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
179
-
180
- // skip loading theme UNO css file except NOT loaded
181
- if (!user_state.theme_name.includes('Uno') || !styleLoaded) {
182
- $('head').append(theme_css_html);
183
- }
184
-
185
- // store if theme_switcher is enabled
186
- user_state.theme_switcher = themerOptions.enabled;
187
-
188
- if (!user_consent.analyses || !user_consent.personalization) {
189
- // expire state cookie to session
190
- j1.writeCookie({
191
- name: cookie_names.user_state,
192
- data: user_state,
193
- samesite: 'Strict'
194
- });
195
- } else {
196
- j1.writeCookie({
197
- name: cookie_names.user_state,
198
- data: user_state,
199
- samesite: 'Strict',
200
- expires: 365
201
- });
202
- }
203
-
204
- var dependencies_met_j1_finished = setInterval (function () {
205
- // jadams, 2021-01-03: dependency has to be checked in more detail
206
- // if (j1.getState() == 'finished') {
207
- if (true) {
208
- if (themerOptions.enabled) {
209
- // enable BS ThemeSwitcher
210
- logger.info('themes detected as: enabled');
211
- logger.info('theme is being initialized: ' + user_state.theme_name);
212
-
213
- // load list of remote themes
214
- //
215
- if ($('#remote_themes').length) {
216
- /* eslint-disable */
217
- // initialize Bootswatch Theme Switcher
218
- $('#remote_themes').bootstrapThemeSwitcher.defaults = {
219
- debug: themerOptions.debug,
220
- saveToCookie: themerOptions.saveToCookie,
221
- cssThemeLink: themerOptions.cssThemeLink,
222
- cookieThemeName: themerOptions.cookieThemeName,
223
- cookieDefaultThemeName: themerOptions.cookieDefaultThemeName,
224
- cookieThemeCss: themerOptions.cookieThemeCss,
225
- cookieThemeExtensionCss: themerOptions.cookieThemeExtensionCss,
226
- cookieExpiration: themerOptions.cookieExpiration,
227
- cookiePath: themerOptions.cookiePath,
228
- defaultCssFile: themerOptions.defaultCssFile,
229
- bootswatchApiUrl: themerOptions.bootswatchApiUrl,
230
- bootswatchApiVersion: themerOptions.bootswatchApiVersion,
231
- loadFromBootswatch: themerOptions.loadFromBootswatch,
232
- localFeed: themerOptions.localThemes,
233
- excludeBootswatch: themerOptions.excludeBootswatch,
234
- includeBootswatch: themerOptions.includeBootswatch,
235
- skipIncludeBootswatch: themerOptions.skipIncludeBootswatch
236
- }
237
- /* eslint-enable */
238
-
239
- logger.info('theme loaded: ' + user_state.theme_name);
240
- logger.info('theme css file: ' + user_state.theme_css);
241
- _this.setState('finished');
242
- logger.info('state: ' + _this.getState());
243
- logger.info('module initialized successfully');
244
- logger.info('met dependencies for: j1.adapter');
245
- }
246
- } else {
247
- _this.setState('finished');
248
- logger.info('state: ' + _this.getState());
249
- logger.info('themes detected as: disabled');
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
- clearInterval(dependencies_met_j1_finished);
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 'dependencies_met_j1_finished'
298
+ }, 25); // END dependencies_met_user_state_available
254
299
  }, // END init
255
300
 
256
301
  // -------------------------------------------------------------------------
@@ -1,18 +1,38 @@
1
- !function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.asciidoctor=t(4),window.j1.core.scrollSmooth=t(5),window.j1.anime=t(6);t(7),t(14)},function(e,n,t){"use strict";
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(/\]\]>/,"]]>]]&gt;<![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="&nbsp;";}',"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&&currentSearch.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&&currentEl!=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&&currentSearch.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!=="")&&currentSearch&&currentSearch.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&&currentMatchIndex!==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&&currentMatchIndex!==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,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;");}',"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,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;"),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,t){"use strict";
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(/\\]\\]>/,\"]]>]]&gt;<![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=\"&nbsp;\";}','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&&currentSearch.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&&currentEl!=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&&currentSearch.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!==\"\")&&currentSearch&&currentSearch.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&&currentMatchIndex!==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&&currentMatchIndex!==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,\"&amp;\").replace(/[<]/g,\"&lt;\").replace(/>/g,\"&gt;\");}','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,\"&amp;\").replace(/</g,\"&lt;\").replace(/\"/g,\"&quot;\");}\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 n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/assets/themes/j1/core/js",t(t.s=0)}([function(e,n,t){window.j1.adapter=t(1),window.j1.core=t(2),window.j1.core.navigator=t(3),window.j1.core.asciidoctor=t(4),window.j1.core.scrollSmooth=t(5),window.j1.anime=t(6);t(7),t(14)},function(e,n,t){"use strict";
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(/\]\]>/,"]]>]]&gt;<![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="&nbsp;";}',"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&&currentSearch.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&&currentEl!=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&&currentSearch.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!=="")&&currentSearch&&currentSearch.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&&currentMatchIndex!==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&&currentMatchIndex!==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,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;");}',"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,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;"),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,t){"use strict";
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
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2021.1.10'
2
+ VERSION = '2021.1.11'
3
3
  end
@@ -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.10'
57
+ gem 'j1-template', '~> 2021.1.11'
58
58
 
59
59
  # ------------------------------------------------------------------------------
60
60
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: production
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2021.1.10
56
+ version: 2021.1.11
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -362,10 +362,6 @@ resources:
362
362
 
363
363
  ]
364
364
  files: [
365
- modules/util/js/js.cookie.js,
366
- modules/util/js/lite-url.js,
367
- modules/util/js/platform.js,
368
- modules/util/js/domready.js,
369
365
  modules/util/js/gtag-opt-in.js,
370
366
  adapter/js/j1.js
371
367
  ]
@@ -412,7 +412,7 @@ end::tables[]
412
412
  // -----------------------------------------------------------------------------
413
413
  tag::products[]
414
414
  :j1--license: MIT License
415
- :j1--version: 2021.1.10
415
+ :j1--version: 2021.1.11
416
416
  :j1--site-name: Jekyll One
417
417
  end::products[]
418
418
 
@@ -360,6 +360,6 @@ end
360
360
 
361
361
  module Jekyll
362
362
  module J1LunrSearch
363
- VERSION = '2021.1.10'
363
+ VERSION = '2021.1.11'
364
364
  end
365
365
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1_starter",
4
- "version": "2021.1.10",
4
+ "version": "2021.1.11",
5
5
  "description": "J1 Template Starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.1.10",
4
+ "version": "2021.1.11",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {