PageSourceSearch

https://ecoeleusis.org/wp-content/plugins/gallery-by-supsystic/src…/Galleries/assets/js/lib/jquery.history.js

js ecoeleusis.org collected 2026-10-02 14:19:30 UTC 39,058 bytes, 801 lines download raw bytes

1if (!window.History.Adapter) {
2  (typeof JSON != 'object' && (JSON = {}),
3    (function () {
4      'use strict';
5      function f(e) {
6        return e < 10 ? '0' + e : e;
7      }
8      function quote(e) {
9        return (
10          (escapable.lastIndex = 0),
11          escapable.test(e)
12            ? '"' +
13              e.replace(escapable, function (e) {
14                var t = meta[e];
15                return typeof t == 'string' ? t : '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
16              }) +
17              '"'
18            : '"' + e + '"'
19        );
20      }
21      function str(e, t) {
22        var n,
23          r,
24          i,
25          s,
26          o = gap,
27          u,
28          a = t[e];
29        (a && typeof a == 'object' && typeof a.toJSON == 'function' && (a = a.toJSON(e)), typeof rep == 'function' && (a = rep.call(t, e, a)));
30        switch (typeof a) {
31          case 'string':
32            return quote(a);
33          case 'number':
34            return isFinite(a) ? String(a) : 'null';
35          case 'boolean':
36          case 'null':
37            return String(a);
38          case 'object':
39            if (!a) return 'null';
40            ((gap += indent), (u = []));
41            if (Object.prototype.toString.apply(a) === '[object Array]') {
42              s = a.length;
43              for (n = 0; n < s; n += 1) u[n] = str(n, a) || 'null';
44              return ((i = u.length === 0 ? '[]' : gap ? '[\n' + gap + u.join(',\n' + gap) + '\n' + o + ']' : '[' + u.join(',') + ']'), (gap = o), i);
45            }
46            if (rep && typeof rep == 'object') {
47              s = rep.length;
48              for (n = 0; n < s; n += 1) typeof rep[n] == 'string' && ((r = rep[n]), (i = str(r, a)), i && u.push(quote(r) + (gap ? ': ' : ':') + i));
49            } else for (r in a) Object.prototype.hasOwnProperty.call(a, r) && ((i = str(r, a)), i && u.push(quote(r) + (gap ? ': ' : ':') + i));
50            return ((i = u.length === 0 ? '{}' : gap ? '{\n' + gap + u.join(',\n' + gap) + '\n' + o + '}' : '{' + u.join(',') + '}'), (gap = o), i);
51        }
52      }
53      typeof Date.prototype.toJSON != 'function' &&
54        ((Date.prototype.toJSON = function (e) {
55          return isFinite(this.valueOf()) ? this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) + ':' + f(this.getUTCMinutes()) + ':' + f(this.getUTCSeconds()) + 'Z' : null;
56        }),
57        (String.prototype.toJSON =
58          Number.prototype.toJSON =
59          Boolean.prototype.toJSON =
60            function (e) {
61              return this.valueOf();
62            }));
63      var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
64        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
65        gap,
66        indent,
67        meta = { '\b': '\\b', '	': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' },
68        rep;
69      (typeof JSON.stringify != 'function' &&
70        (JSON.stringify = function (e, t, n) {
71          var r;
72          ((gap = ''), (indent = ''));
73          if (typeof n == 'number') for (r = 0; r < n; r += 1) indent += ' ';
74          else typeof n == 'string' && (indent = n);
75          rep = t;
76          if (!t || typeof t == 'function' || (typeof t == 'object' && typeof t.length == 'number')) return str('', { '': e });
77          throw new Error('JSON.stringify');
78        }),
79        typeof JSON.parse != 'function' &&
80          (JSON.parse = function (text, reviver) {
81            function walk(e, t) {
82              var n,
83                r,
84                i = e[t];
85              if (i && typeof i == 'object') for (n in i) Object.prototype.hasOwnProperty.call(i, n) && ((r = walk(i, n)), r !== undefined ? (i[n] = r) : delete i[n]);
86              return reviver.call(e, t, i);
87            }
88            var j;
89            ((text = String(text)),
90              (cx.lastIndex = 0),
91              cx.test(text) &&
92                (text = text.replace(cx, function (e) {
93                  return '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
94                })));
95            if (
96              /^[\],:{}\s]*$/.test(
97                text
98                  .replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
99                  .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
100                  .replace(/(?:^|:|,)(?:\s*\[)+/g, '')
101              )
102            )
103              return ((j = eval('(' + text + ')')), typeof reviver == 'function' ? walk({ '': j }, '') : j);
104            throw new SyntaxError('JSON.parse');
105          }));
106    })(),
107    (function (e, t) {
108      'use strict';
109      var n = (e.History = e.History || {}),
110        r = e.jQuery;
111      if (typeof n.Adapter != 'undefined') throw new Error('History.js Adapter has already been loaded...');
112      ((n.Adapter = {
113        bind: function (e, t, n) {
114          r(e).bind(t, n);
115        },
116        trigger: function (e, t, n) {
117          r(e).trigger(t, n);
118        },
119        extractEventData: function (e, n, r) {
120          var i = (n && n.originalEvent && n.originalEvent[e]) || (r && r[e]) || t;
121          return i;
122        },
123        onDomLoad: function (e) {
124          r(e);
125        },
126      }),
127        typeof n.init != 'undefined' && n.init());
128    })(window),
129    (function (e, t) {
130      'use strict';
131      var n = e.document,
132        r = e.setTimeout || r,
133        i = e.clearTimeout || i,
134        s = e.setInterval || s,
135        o = (e.History = e.History || {});
136      if (typeof o.initHtml4 != 'undefined') throw new Error('History.js HTML4 Support has already been loaded...');
137      ((o.initHtml4 = function () {
138        if (typeof o.initHtml4.initialized != 'undefined') return !1;
139        ((o.initHtml4.initialized = !0),
140          (o.enabled = !0),
141          (o.savedHashes = []),
142          (o.isLastHash = function (e) {
143            var t = o.getHashByIndex(),
144              n;
145            return ((n = e === t), n);
146          }),
147          (o.isHashEqual = function (e, t) {
148            return ((e = encodeURIComponent(e).replace(/%25/g, '%')), (t = encodeURIComponent(t).replace(/%25/g, '%')), e === t);
149          }),
150          (o.saveHash = function (e) {
151            return o.isLastHash(e) ? !1 : (o.savedHashes.push(e), !0);
152          }),
153          (o.getHashByIndex = function (e) {
154            var t = null;
155            return (typeof e == 'undefined' ? (t = o.savedHashes[o.savedHashes.length - 1]) : e < 0 ? (t = o.savedHashes[o.savedHashes.length + e]) : (t = o.savedHashes[e]), t);
156          }),
157          (o.discardedHashes = {}),
158          (o.discardedStates = {}),
159          (o.discardState = function (e, t, n) {
160            var r = o.getHashByState(e),
161              i;
162            return ((i = { discardedState: e, backState: n, forwardState: t }), (o.discardedStates[r] = i), !0);
163          }),
164          (o.discardHash = function (e, t, n) {
165            var r = { discardedHash: e, backState: n, forwardState: t };
166            return ((o.discardedHashes[e] = r), !0);
167          }),
168          (o.discardedState = function (e) {
169            var t = o.getHashByState(e),
170              n;
171            return ((n = o.discardedStates[t] || !1), n);
172          }),
173          (o.discardedHash = function (e) {
174            var t = o.discardedHashes[e] || !1;
175            return t;
176          }),
177          (o.recycleState = function (e) {
178            var t = o.getHashByState(e);
179            return (o.discardedState(e) && delete o.discardedStates[t], !0);
180          }),
181          o.emulated.hashChange &&
182            ((o.hashChangeInit = function () {
183              o.checkerFunction = null;
184              var t = '',
185                r,
186                i,
187                u,
188                a,
189                f = Boolean(o.getHash());
190              return (
191                o.isInternetExplorer()
192                  ? ((r = 'historyjs-iframe'),
193                    (i = n.createElement('iframe')),
194                    i.setAttribute('id', r),
195                    i.setAttribute('src', '#'),
196                    (i.style.display = 'none'),
197                    n.body.appendChild(i),
198                    i.contentWindow.document.open(),
199                    i.contentWindow.document.close(),
200                    (u = ''),
201                    (a = !1),
202                    (o.checkerFunction = function () {
203                      if (a) return !1;
204                      a = !0;
205                      var n = o.getHash(),
206                        r = o.getHash(i.contentWindow.document);
207                      return (
208                        n !== t
209                          ? ((t = n), r !== n && ((u = r = n), i.contentWindow.document.open(), i.contentWindow.document.close(), (i.contentWindow.document.location.hash = o.escapeHash(n))), o.Adapter.trigger(e, 'hashchange'))
210                          : r !== u && ((u = r), f && r === '' ? o.back() : o.setHash(r, !1)),
211                        (a = !1),
212                        !0
213                      );
214                    }))
215                  : (o.checkerFunction = function () {
216                      var n = o.getHash() || '';
217                      return (n !== t && ((t = n), o.Adapter.trigger(e, 'hashchange')), !0);
218                    }),
219                o.intervalList.push(s(o.checkerFunction, o.options.hashChangeInterval)),
220                !0
221              );
222            }),
223            o.Adapter.onDomLoad(o.hashChangeInit)),
224          o.emulated.pushState &&
225            ((o.onHashChange = function (t) {
226              var n = (t && t.newURL) || o.getLocationHref(),
227                r = o.getHashByUrl(n),
228                i = null,
229                s = null,
230                u = null,
231                a;
232              return o.isLastHash(r)
233                ? (o.busy(!1), !1)
234                : (o.doubleCheckComplete(),
235                  o.saveHash(r),
236                  r && o.isTraditionalAnchor(r)
237                    ? (o.Adapter.trigger(e, 'anchorchange'), o.busy(!1), !1)
238                    : ((i = o.extractState(o.getFullUrl(r || o.getLocationHref()), !0)),
239                      o.isLastSavedState(i) ? (o.busy(!1), !1) : ((s = o.getHashByState(i)), (a = o.discardedState(i)), a ? (o.getHashByIndex(-2) === o.getHashByState(a.forwardState) ? o.back(!1) : o.forward(!1), !1) : (o.pushState(i.data, i.title, encodeURI(i.url), !1), !0))));
240            }),
241            o.Adapter.bind(e, 'hashchange', o.onHashChange),
242            (o.pushState = function (t, n, r, i) {
243              r = encodeURI(r).replace(/%25/g, '%');
244              if (o.getHashByUrl(r)) throw new Error('History.js does not support states with fragment-identifiers (hashes/anchors).');
245              if (i !== !1 && o.busy()) return (o.pushQueue({ scope: o, callback: o.pushState, args: arguments, queue: i }), !1);
246              o.busy(!0);
247              var s = o.createStateObject(t, n, r),
248                u = o.getHashByState(s),
249                a = o.getState(!1),
250                f = o.getHashByState(a),
251                l = o.getHash(),
252                c = o.expectedStateId == s.id;
253              return (
254                o.storeState(s),
255                (o.expectedStateId = s.id),
256                o.recycleState(s),
257                o.setTitle(s),
258                u === f ? (o.busy(!1), !1) : (o.saveState(s), c || o.Adapter.trigger(e, 'statechange'), !o.isHashEqual(u, l) && !o.isHashEqual(u, o.getShortUrl(o.getLocationHref())) && o.setHash(u, !1), o.busy(!1), !0)
259              );
260            }),
261            (o.replaceState = function (t, n, r, i) {
262              r = encodeURI(r).replace(/%25/g, '%');
263              if (o.getHashByUrl(r)) throw new Error('History.js does not support states with fragment-identifiers (hashes/anchors).');
264              if (i !== !1 && o.busy()) return (o.pushQueue({ scope: o, callback: o.replaceState, args: arguments, queue: i }), !1);
265              o.busy(!0);
266              var s = o.createStateObject(t, n, r),
267                u = o.getHashByState(s),
268                a = o.getState(!1),
269                f = o.getHashByState(a),
270                l = o.getStateByIndex(-2);
271              return (o.discardState(a, s, l), u === f ? (o.storeState(s), (
271o.expectedStateId = s.id), o.recycleState(s), o.setTitle(s), o.saveState(s), o.Adapter.trigger(e, 'statechange'), o.busy(!1)) : o.pushState(s.data, s.title, s.url, !1), !0);
272            })),
273          o.emulated.pushState &&
274            o.getHash() &&
275            !o.emulated.hashChange &&
276            o.Adapter.onDomLoad(function () {
277              o.Adapter.trigger(e, 'hashchange');
278            }));
279      }),
280        typeof o.init != 'undefined' && o.init());
281    })(window),
282    (function (e, t) {
283      'use strict';
284      var n = e.console || t,
285        r = e.document,
286        i = e.navigator,
287        s = !1,
288        o = e.setTimeout,
289        u = e.clearTimeout,
290        a = e.setInterval,
291        f = e.clearInterval,
292        l = e.JSON,
293        c = e.alert,
294        h = (e.History = e.History || {}),
295        p = e.history;
296      try {
297        ((s = e.sessionStorage), s.setItem('TEST', '1'), s.removeItem('TEST'));
298      } catch (d) {
299        s = !1;
300      }
301      ((l.stringify = l.str
301ingify || l.encode), (l.parse = l.parse || l.decode));
302      if (typeof h.init != 'undefined') throw new Error('History.js Core has already been loaded...');
303      ((h.init = function (e) {
304        return typeof h.Adapter == 'undefined' ? !1 : (typeof h.initCore != 'undefined' && h.initCore(), typeof h.initHtml4 != 'undefined' && h.initHtml4(), !0);
305      }),
306        (h.initCore = function (d) {
307          if (typeof h.initCore.initialized != 'undefined') return !1;
308          ((h.initCore.initialized = !0),
309            (h.options = h.options || {}),
310            (h.options.hashChangeInterval = h.options.hashChangeInterval || 100),
311            (h.options.safariPollInterval = h.options.safariPollInterval || 500),
312            (h.options.doubleCheckInterval = h.options.doubleCheckInterval || 500),
313            (h.options.disableSuid = h.options.disableSuid || !1),
314            (h.options.storeInterval = h.options.storeInterval || 1e3),
315            (h.options.busyDelay = h.options.busyDelay || 250),
316            (h.options.debug = h.options.debug || !1),
317            (h.options.initialTitle = h.options.initialTitle || r.title),
318            (h.options.html4Mode = h.options.html4Mode || !1),
319            (h.options.delayInit = h.options.delayInit || !1),
320            (h.intervalList = []),
321            (h.clearAllIntervals = function () {
322              var e,
323                t = h.intervalList;
324              if (typeof t != 'undefined' && t !== null) {
325                for (e = 0; e < t.length; e++) f(t[e]);
326                h.intervalList = null;
327              }
328            }),
329            (h.debug = function () {
330              (h.options.debug || !1) && h.log.apply(h, arguments);
331            }),
332            (h.log = function () {
333              var e = typeof n != 'undefined' && typeof n.log != 'undefined' && typeof n.log.apply != 'undefined',
334                t = r.getElementById('log'),
335                i,
336                s,
337                o,
338                u,
339                a;
340              e ? ((u = Array.prototype.slice.call(arguments)), (i = u.shift()), typeof n.debug != 'undefined' ? n.debug.apply(n, [i, u]) : n.log.apply(n, [i, u])) : (i = '\n' + arguments[0] + '\n');
341              for (s = 1, o = arguments.length; s < o; ++s) {
342                a = arguments[s];
343                if (typeof a == 'object' && typeof l != 'undefined')
344                  try {
345                    a = l.stringify(a);
346                  } catch (f) {}
347                i += '\n' + a + '\n';
348              }
349              return (t ? ((t.value += i + '\n-----\n'), (t.scrollTop = t.scrollHeight - t.clientHeight)) : e || c(i), !0);
350            }),
351            (h.getInternetExplorerMajorVersion = function () {
352              var e = (h.getInternetExplorerMajorVersion.cached =
353                typeof h.getInternetExplorerMajorVersion.cached != 'undefined'
354                  ? h.getInternetExplorerMajorVersion.cached
355                  : (function () {
356                      var e = 3,
357                        t = r.createElement('div'),
358                        n = t.getElementsByTagName('i');
359                      while ((t.innerHTML = '<!--[if gt IE ' + ++e + ']><i></i><![endif]-->') && n[0]);
360                      return e > 4 ? e : !1;
361                    })());
362              return e;
363            }),
364            (h.isInternetExplorer = function () {
365              var e = (h.isInternetExplorer.cached = typeof h.isInternetExplorer.cached != 'undefined' ? h.isInternetExplorer.cached : Boolean(h.getInternetExplorerMajorVersion()));
366              return e;
367            }),
368            h.options.html4Mode
369              ? (h.emulated = { pushState: !0, hashChange: !0 })
370              : (h.emulated = {
371                  pushState: !Boolean(e.history && e.history.pushState && e.history.replaceState && !/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i.test(i.userAgent) && !/AppleWebKit\/5([0-2]|3[0-2])/i.test(i.userAgent)),
372                  hashChange: Boolean(!('onhashchange' in e || 'onhashchange' in r) || (h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 8)),
373                }),
374            (h.enabled = !h.emulated.pushState),
375            (h.bugs = {
376              setHash: Boolean(!h.emulated.pushState && i.vendor === 'Apple Computer, Inc.' && /AppleWeb
376Kit\/5([0-2]|3[0-3])/.test(i.userAgent)),
377              safariPoll: Boolean(!h.emulated.pushState && i.vendor === 'Apple Computer, Inc.' && /AppleWebKit\/5([0-2]|3[0-3])/.test(i.userAgent)),
378              ieDoubleCheck: Boolean(h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 8),
379              hashEscape: Boolean(h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 7),
380            }),
381            (h.isEmptyObject = function (e) {
382              for (var t in e) if (e.hasOwnProperty(t)) return !1;
383              return !0;
384            }),
385            (h.cloneObject = function (e) {
386              var t, n;
387              return (e ? ((t = l.stringify(e)), (n = l.parse(t))) : (n = {}), n);
388            }),
389            (h.getRootUrl = function () {
390              var e = r.location.protocol + '//' + (r.location.hostname || r.location.host);
391              if (r.location.port || !1) e += ':' + r.location.port;
392              return ((e += '/'), e);
393            }),
394            (h.getBaseHref = function () {
395              var e = r.getElementsByTagName('base'),
396                t = null,
397                n = '';
398              return (e.length === 1 && ((t = e[0]), (n = t.href.replace(/[^\/]+$/, ''))), (n = n.replace(/\/+$/, '')), n && (n += '/'), n);
399            }),
400            (h.getBaseUrl = function () {
401              var e = h.getBaseHref() || h.getBasePageUrl() || h.getRootUrl();
402              return e;
403            }),
404            (h.getPageUrl = function () {
405              var e = h.getState(!1, !1),
406                t = (e || {}).url || h.getLocationHref(),
407                n;
408              return (
409                (n = t.replace(/\/+$/, '').replace(/[^\/]+$/, function (e, t, n) {
410                  return /\./.test(e) ? e : e + '/';
411                })),
412                n
413              );
414            }),
415            (h.getBasePageUrl = function () {
416              var e =
417                h
418                  .getLocationHref()
419                  .replace(/[#\?].*/, '')
420                  .replace(/[^\/]+$/, function (e, t, n) {
421                    return /[^\/]$/.test(e) ? '' : e;
422                  })
423                  .replace(/\/+$/, '') + '/';
424              return e;
425            }),
426            (h.getFullUrl = function (e, t) {
427              var n = e,
428                r = e.substring(0, 1);
429              return (
430                (t = typeof t == 'undefined' ? !0 : t),
431                /[a-z]+\:\/\//.test(e) ||
432                  (r === '/'
433                    ? (n = h.getRootUrl() + e.replace(/^\/+/, ''))
434                    : r === '#'
435                      ? (n = h.getPageUrl().replace(/#.*/, '') + e)
436                      : r === '?'
437                        ? (n = h.getPageUrl().replace(/[\?#].*/, '') + e)
438                        : t
439                          ? (n = h.getBaseUrl() + e.replace(/^(\.\/)+/, ''))
440                          : (n = h.getBasePageUrl() + e.replace(/^(\.\/)+/, ''))),
441                n.replace(/\#$/, '')
442              );
443            }),
444            (h.getShortUrl = function (e) {
445              var t = e,
446                n = h.getBaseUrl(),
447                r = h.getRootUrl();
448              return (h.emulated.pushState && (t = t.replace(n, '')), (t = t.replace(r, '/')), h.isTraditionalAnchor(t) && (t = './' + t), (t = t.replace(/^(\.\/)+/g, './').replace(/\#$/, '')), t);
449            }),
450            (h.getLocationHref = function (e) {
451              return (
452                (e = e || r),
453                e.URL === e.location.href
454                  ? e.location.href
455                  : e.location.href === decodeURIComponent(e.URL)
456                    ? e.URL
457                    : e.location.hash && decodeURIComponent(e.location.href.replace(/^[^#]+/, '')) === e.location.hash
458                      ? e.location.href
459                      : e.URL.indexOf('#') == -1 && e.location.href.indexOf('#') != -1
460                        ? e.location.href
461                        : e.URL || e.location.href
462              );
463            }),
464            (h.store = {}),
465            (h.idToState = h.idToState || {}),
466            (h.stateToId = h.stateToId || {}),
467            (h.urlToId = h.urlToId || {}),
468            (h.storedStates = h.storedStates || []),
469            (h.savedStates = h.savedStates || []),
470            (h.normalizeStore = function () {
471              ((h.store.idToState = h.store.idToState || {}), (h.store.urlToId = h.store.urlToId || {}), (h.store.stateToId = h.store.stateToId || {}));
472            }),
473            (h.getState = function (e, t) {
474              (typeof e == 'undefined' && (e = !0), typeof t == 'undefined' && (t = !0));
475              var n = h.getLastSavedState();
476              return (!n && t && (n = h.createStateObject()), e && ((n = h.cloneObject(n)), (n.url = n.cleanUrl || n.url)), n);
477            }),
478            (h.getIdByState = function (e) {
479              var t = h.extractId(e.url),
480                n;
481              if (!t) {
482                n = h.getStateString(e);
483                if (typeof h.stateToId[n] != 'undefined') t = h.stateToId[n];
484                else if (typeof h.store.stateToId[n] != 'undefined') t = h.store.stateToId[n];
485                else {
486                  for (;;) {
487                    t = new Date().getTime() + String(Math.random()).replace(/\D/g, '');
488                    if (typeof h.idToState[t] == 'undefined' && typeof h.store.idToState[t] == 'undefined') break;
489                  }
490                  ((h.stateToId[n] = t), (h.idToState[t] = e));
491                }
492              }
493              return t;
494            }),
495            (h.normalizeState = function (e) {
496              var t, n;
497              if (!e || typeof e != 'object') e = {};
498              if (typeof e.normalized != 'undefined') return e;
499              if (!e.data || typeof e.data != 'object') e.data = {};
500              return (
501                (t = {}),
502                (t.normalized = !0),
503                (t.title = e.title || ''),
504                (t.url = h.getFullUrl(e.url ? e.url : h.getLocationHref())),
505                (t.hash = h.getShortUrl(t.url)),
506                (t.data = h.cloneObject(e.data)),
507                (t.id = h.getIdByState(t)),
508                (t.cleanUrl = t.url.replace(/\??\&_suid.*/, '')),
509                (t.url = t.cleanUrl),
510                (n = !h.isEmptyObject(t.data)),
511                (t.title || n) && h.options.disableSuid !== !0 && ((t.hash = h.getShortUrl(t.url).replace(/\??\&_suid.*/, '')), /\?/.test(t.hash) || (t.hash += '?'), (t.hash += '&_suid=' 
511+ t.id)),
512                (t.hashedUrl = h.getFullUrl(t.hash)),
513                (h.emulated.pushState || h.bugs.safariPoll) && h.hasUrlDuplicate(t) && (t.url = t.hashedUrl),
514                t
515              );
516            }),
517            (h.createStateObject = function (e, t, n) {
518              var r = { data: e, title: t, url: n };
519              return ((r = h.normalizeState(r)), r);
520            }),
521            (h.getStateById = function (e) {
522              e = String(e);
523              var n = h.idToState[e] || h.store.idToState[e] || t;
524              return n;
525            }),
526            (h.getStateString = function (e) {
527              var t, n, r;
528              return ((t = h.normalizeState(e)), (n = { data: t.data, title: e.title, url: e.url }), (r = l.stringify(n)), r);
529            }),
530            (h.getStateId = function (e) {
531              var t, n;
532              return ((t = h.normalizeState(e)), (n = t.id), n);
533            }),
534            (h.getHashByState = function (e) {
535              var t, n;
536              return ((t = h.normalizeState(e)), (n = t.hash), n);
537            }),
538            (h.extractId = function (e) {
539              var t, n, r, i;
540              return (e.indexOf('#') != -1 ? (i = e.split('#')[0]) : (i = e), (n = /(.*)\&_suid=([0-9]+)$/.exec(i)), (r = n ? n[1] || e : e), (t = n ? String(n[2] || '') : ''), t || !1);
541            }),
542            (h.isTraditionalAnchor = function (e) {
543              var t = !/[\/\?\.]/.test(e);
544              return t;
545            }),
546            (h.extractState = function (e, t) {
547              var n = null,
548                r,
549                i;
550              return ((t = t || !1), (r = h.extractId(e)), r && (n = h.getStateById(r)), n || ((i = h.getFullUrl(e)), (r = h.getIdByUrl(i) || !1), r && (n = h.getStateById(r)), !n && t && !h.isTraditionalAnchor(e) && (n = h.createStateObject(null, null, i))), n);
551            }),
552            (h.getIdByUrl = function (e) {
553              var n = h.urlToId[e] || h.store.urlToId[e] || t;
554              return n;
555            }),
556            (h.getLastSavedState = function () {
557              return h.savedStates[h.savedStates.length - 1] || t;
558            }),
559            (h.getLastStoredState = function () {
560              return h.storedStates[h.storedStates.length - 1] || t;
561            }),
562            (h.hasUrlDuplicate = function (e) {
563              var t = !1,
564                n;
565              return ((n = h.extractState(e.url)), (t = n && n.id !== e.id), t);
566            }),
567            (h.storeState = function (e) {
568              return ((h.urlToId[e.url] = e.id), h.storedStates.push(h.cloneObject(e)), e);
569            }),
570            (h.isLastSavedState = function (e) {
571              var t = !1,
572                n,
573                r,
574                i;
575              return (h.savedStates.length && ((n = e.id), (r = h.getLastSavedState()), (i = r.id), (t = n === i)), t);
576            }),
577            (h.saveState = function (e) {
578              return h.isLastSavedState(e) ? !1 : (h.savedStates.push(h.cloneObject(e)), !0);
579            }),
580            (h.getStateByIndex = function (e) {
581              var t = null;
582              return (typeof e == 'undefined' ? (t = h.savedStates[h.savedStates.length - 1]) : e < 0 ? (t = h.savedStates[h.savedStates.length + e]) : (t = h.savedStates[e]), t);
583            }),
584            (h.getCurrentIndex = function () {
585              var e = null;
586              return (h.savedStates.length < 1 ? (e = 0) : (e = h.savedStates.length - 1), e);
587            }),
588            (h.getHash = function (e) {
589              var t = h.getLocationHref(e),
590                n;
591              return ((n = h.getHashByUrl(t)), n);
592            }),
593            (h.unescapeHash = function (e) {
594              var t = h.normalizeHash(e);
595              return ((t = decodeURIComponent(t)), t);
596            }),
597            (h.normalizeHash = function (e) {
598              var t = e.replace(/[^#]*#/, '').replace(/#.*/, '');
599              return t;
600            }),
601            (h.setHash = function (e, t) {
602              var n, i;
603              return t !== !1 && h.busy()
604                ? (h.pushQueue({ scope: h, callback: h.setHash, args: arguments, queue: t }), !1)
605                : (h.busy(!0), (n = h.extractState(e, !0)), n && !h.emulated.pushState ? h.pushState(n.data, n.title, n.url, !1) : h.getHash() !== e && (h.bugs.setHash ? ((i 
605= h.getPageUrl()), h.pushState(null, null, i + '#' + e, !1)) : (r.location.hash = e)), h);
606            }),
607            (h.escapeHash = function (t) {
608              var n = h.normalizeHash(t);
609              return ((n = e.encodeURIComponent(n)), h.bugs.hashEscape || (n = n.replace(/\%21/g, '!').replace(/\%26/g, '&').replace(/\%3D/g, '=').replace(/\%3F/g, '?')), n);
610            }),
611            (h.getHashByUrl = function (e) {
612              var t = String(e).replace(/([^#]*)#?([^#]*)#?(.*)/, '$2');
613              return ((t = h.unescapeHash(t)), t);
614            }),
615            (h.setTitle = function (e) {
616              var t = e.title,
617                n;
618              t || ((n = h.getStateByIndex(0)), n && n.url === e.url && (t = n.title || h.options.initialTitle));
619              try {
620                r.getElementsByTagName('title')[0].innerHTML = t.replace('<', '&lt;').replace('>', '&gt;').replace(' & ', ' &amp; ');
621              } catch (i) {}
622              return ((r.title = t), h);
623            }),
624            (h.queues = []),
625            (h.busy = function (e) {
626              typeof e != 'undefined' ? (h.busy.flag = e) : typeof h.busy.flag == 'undefined' && (h.busy.flag = !1);
627              if (!h.busy.flag) {
628                u(h.busy.timeout);
629                var t = function () {
630                  var e, n, r;
631                  if (h.busy.flag) return;
632                  for (e = h.queues.length - 1; e >= 0; --e) {
633                    n = h.queues[e];
634                    if (n.length === 0) continue;
635                    ((r = n.shift()), h.fireQueueItem(r), (h.busy.timeout = o(t, h.options.busyDelay)));
636                  }
637                };
638                h.busy.timeout = o(t, h.options.busyDelay);
639              }
640              return h.busy.flag;
641            }),
642            (h.busy.flag = !1),
643            (h.fireQueueItem = function (e) {
644              return e.callback.apply(e.scope || h, e.args || []);
645            }),
646            (h.pushQueue = function (e) {
647              return ((h.queues[e.queue || 0] = h.queues[e.queue || 0] || []), h.queues[e.queue || 0].push(e), h);
648            }),
649            (h.queue = function (e, t) {
650              return (typeof e == 'function' && (e = { callback: e }), typeof t != 'undefined' && (e.queue = t), h.busy() ? h.pushQueue(e) : h.fireQueueItem(e), h);
651            }),
652            (h.clearQueue = function () {
653              return ((h.busy.flag = !1), (h.queues = []), h);
654            }),
655            (h.stateChanged = !1),
656            (h.doubleChecker = !1),
657            (h.doubleCheckComplete = function () {
658              return ((h.stateChanged = !0), h.doubleCheckClear(), h);
659            }),
660            (h.doubleCheckClear = function () {
661              return (h.doubleChecker && (u(h.doubleChecker), (h.doubleChecker = !1)), h);
662            }),
663            (h.doubleCheck = function (e) {
664              return (
665                (h.stateChanged = !1),
666                h.doubleCheckClear(),
667                h.bugs.ieDoubleCheck &&
668                  (h.doubleChecker = o(function () {
669                    return (h.doubleCheckClear(), h.stateChanged || e(), !0);
670                  }, h.options.doubleCheckInterval)),
671                h
672              );
673            }),
674            (h.safariStatePoll = function () {
675              var t = h.extractState(h.getLocationHref()),
676                n;
677              if (!h.isLastSavedState(t)) return ((n = t), n || (n = h.createStateObject()), h.Adapter.trigger(e, 'popstate'), h);
678              return;
679            }),
680            (h.back = function (e) {
681              return e !== !1 && h.busy()
682                ? (h.pushQueue({ scope: h, callback: h.back, args: arguments, queue: e }), !1)
683                : (h.busy(!0),
684                  h.doubleCheck(function () {
685                    h.back(!1);
686                  }),
687                  p.go(-1),
688                  !0);
689            }),
690            (h.forward = function (e) {
691              return e !== !1 && h.busy()
692                ? (h.pushQueue({ scope: h, callback: h.forward, args: arguments, queue: e }), !1)
693                : (h.busy(!0),
694                  h.doubleCheck(function () {
695                    h.forward(!1);
696                  }),
697                  p.go(1),
698                  !0);
699            }),
700            (h.go = function (e, t) {
701              var n;
702              if (e > 0) for (n = 1; n <= e; ++n) h.forward(t);
703              else {
704                if (!(e < 0)) throw new Error('History.go: History.go requires a positive or negative integer passed.');
705                for (n = -1; n >= e; --n) h.back(t);
706              }
707              return h;
708            }));
709          if (h.emulated.pushState) {
710            var v = function () {};
711            ((h.pushState = h.pushState || v), (h.replaceState = h.replaceState || v));
712          } else
713            ((h.onPopState = function (t, n) {
714              var r = !1,
715                i = !1,
716                s,
717                o;
718              return (
719                h.doubleCheckComplete(),
720                (s = h.getHash()),
721                s
722                  ? ((o = h.extractState(s || h.getLocationHref(), !0)), o ? h.replaceState(o.data, o.title, o.url, !1) : (h.Adapter.trigger(e, 'anchorchange'), h.busy(!1)), (h.expectedStateId = !1), !1)
723                  : ((r = h.Adapter.extractEventData('state', t, n) || !1),
724                    r ? (i = h.getStateById(r)) : h.expectedStateId ? (i = h.getStateById(h.expectedStateId)) : (i = h.extractState(h.getLocationHref())),
725                    i || (i = h.createStateObject(null, null, h.getLocationHref())),
726                    (h.expectedStateId = !1),
727                    h.isLastSavedState(i) ? (h.busy(!1), !1) : (h.storeState(i), h.saveState(i), h.setTitle(i), h.Adapter.trigger(e, 'statechange'), h.busy(!1), !0))
728              );
729            }),
730              h.Adapter.bind(e, 'popstate', h.onPopState),
731              (h.pushState = function (t, n, r, i) {
732                if (h.getHashByUrl(r) && h.emulated.pushState) throw new Error('History.js does not support states with fragement-identifiers (hashes/anchors).');
733                if (i !== !1 && h.busy()) return (h.pushQueue({ scope: h, callback: h.pushState, args: arguments, queue: i }), !1);
734                h.busy(!0);
735                var s = h.createStateObject(t, n, r);
736                return (h.isLastSavedState(s) ? h.busy(!1) : (h.storeState(s), (h.expectedStateId = s.id), p.pushState(s.id, s.title, s.url), h.Adapter.trigger(e, 'popstate')), !0);
737              }),
738              (h.replaceState = function (t, n, r, i) {
739                if (h.getHashByUrl(r) && h.emulated.pushState) throw new Error('History.js does not support states with fragement-identifiers (hashes/anchors).');
740                if (i !== !1 && h.busy()) return (h.pushQueue({ scope: h, callback: h.replaceState, args: arguments, queue: i }), !1);
741                h.busy(!0);
742                var s = h.createStateObject(t, n, r);
743                return (h.isLastSavedState(s) ? h.busy(!1) : (h.storeState(s), (h.expectedStateId = s.id), p.replaceState(s.id, s.title, s.url), h.Adapter.trigger(e, 'popstate')), !0);
744              }));
745          if (s) {
746            try {
747              h.store = l.parse(s.getItem('History.store')) || {};
748            } catch (m) {
749              h.store = {};
750            }
751            h.normalizeStore();
752          } else ((h.store = {}), h.normalizeStore());
753          (h.Adapter.bind(e, 'unload', h.clearAllIntervals),
754            h.saveState(h.storeState(h.extractState(h.getLocationHref(), !0))),
755            s &&
756              ((h.onUnload = function () {
757                var e, t, n;
758                try {
759                  e = l.parse(s.getItem('History.store')) || {};
760                } catch (r) {
761                  e = {};
762                }
763                ((e.idToState = e.idToState || {}), (e.urlToId = e.urlToId || {}), (e.stateToId = e.stateToId || {}));
764                for (t in h.idToState) {
765                  if (!h.idToState.hasOwnProperty(t)) continue;
766                  e.idToState[t] = h.idToState[t];
767                }
768                for (t in h.urlToId) {
769                  if (!h.urlToId.hasOwnProperty(t)) continue;
770                  e.urlToId[t] = h.urlToId[t];
771                }
772                for (t in h.stateToId) {
773                  if (!h.stateToId.hasOwnProperty(t)) continue;
774                  e.stateToId[t] = h.stateToId[t];
775                }
776                ((h.store = e), h.normalizeStore(), (n = l.stringify(e)));
777                try {
778                  s.setItem('History.store', n);
779                } catch (i) {
780                  if (i.code !== DOMException.QUOTA_EXCEEDED_ERR) throw i;
781                  s.length && (s.removeItem('History.store'), s.setItem('History.store', n));
782                }
783              }),
784              h.intervalList.push(a(h.onUnload, h.options.storeInterval)),
785              h.Adapter.bind(e, 'beforeunload', h.onUnload),
786              h.Adapter.bind(e, 'unload', h.onUnload)));
787          if (!h.emulated.pushState) {
788            h.bugs.safariPoll && h.intervalList.push(a(h.safariStatePoll, h.options.safariPollInterval));
789            if (i.vendor === 'Apple Computer, Inc.' || (i.appCodeName || '') === 'Mozilla')
790              (h.Adapter.bind(e, 'hashchange', function () {
791                h.Adapter.trigger(e, 'popstate');
792              }),
793                h.getHash() &&
794                  h.Adapter.onDomLoad(function () {
795                    h.Adapter.trigger(e, 'hashchange');
796                  }));
797          }
798        }),
799        (!h.options || !h.options.delayInit) && h.init());
800    })(window));
801}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.