diff options
Diffstat (limited to 'themes/itheme/static/js')
| -rw-r--r-- | themes/itheme/static/js/algoliasearch.umd.js | 2316 | ||||
| -rw-r--r-- | themes/itheme/static/js/animation.js | 88 | ||||
| -rw-r--r-- | themes/itheme/static/js/autocomplete-js.js | 9 | ||||
| -rw-r--r-- | themes/itheme/static/js/md5.js | 184 |
4 files changed, 2597 insertions, 0 deletions
diff --git a/themes/itheme/static/js/algoliasearch.umd.js b/themes/itheme/static/js/algoliasearch.umd.js new file mode 100644 index 0000000..d48ce17 --- /dev/null +++ b/themes/itheme/static/js/algoliasearch.umd.js @@ -0,0 +1,2316 @@ +/*! algoliasearch.umd.js | 4.17.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ +!(function (t, e) { + "object" == typeof exports && "undefined" != typeof module + ? (module.exports = e()) + : "function" == typeof define && define.amd + ? define(e) + : ((t = t || self).algoliasearch = e()); +})(this, function () { + "use strict"; + function t(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function e(t, e) { + var r = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(t); + e && + (n = n.filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e).enumerable; + })), + r.push.apply(r, n); + } + return r; + } + function r(r) { + for (var n = 1; n < arguments.length; n++) { + var a = null != arguments[n] ? arguments[n] : {}; + n % 2 + ? e(Object(a), !0).forEach(function (e) { + t(r, e, a[e]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(a)) + : e(Object(a)).forEach(function (t) { + Object.defineProperty( + r, + t, + Object.getOwnPropertyDescriptor(a, t), + ); + }); + } + return r; + } + function n(t, e) { + if (null == t) return {}; + var r, + n, + a = (function (t, e) { + if (null == t) return {}; + var r, + n, + a = {}, + o = Object.keys(t); + for (n = 0; n < o.length; n++) + (r = o[n]), e.indexOf(r) >= 0 || (a[r] = t[r]); + return a; + })(t, e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(t); + for (n = 0; n < o.length; n++) + (r = o[n]), + e.indexOf(r) >= 0 || + (Object.prototype.propertyIsEnumerable.call(t, r) && (a[r] = t[r])); + } + return a; + } + function a(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + if ( + !( + Symbol.iterator in Object(t) || + "[object Arguments]" === Object.prototype.toString.call(t) + ) + ) + return; + var r = [], + n = !0, + a = !1, + o = void 0; + try { + for ( + var i, u = t[Symbol.iterator](); + !(n = (i = u.next()).done) && + (r.push(i.value), !e || r.length !== e); + n = !0 + ); + } catch (t) { + (a = !0), (o = t); + } finally { + try { + n || null == u.return || u.return(); + } finally { + if (a) throw o; + } + } + return r; + })(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ); + })() + ); + } + function o(t) { + return ( + (function (t) { + if (Array.isArray(t)) { + for (var e = 0, r = new Array(t.length); e < t.length; e++) + r[e] = t[e]; + return r; + } + })(t) || + (function (t) { + if ( + Symbol.iterator in Object(t) || + "[object Arguments]" === Object.prototype.toString.call(t) + ) + return Array.from(t); + })(t) || + (function () { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + })() + ); + } + function i(t) { + var e, + r = "algoliasearch-client-js-".concat(t.key), + n = function () { + return void 0 === e && (e = t.localStorage || window.localStorage), e; + }, + o = function () { + return JSON.parse(n().getItem(r) || "{}"); + }; + return { + get: function (t, e) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }; + return Promise.resolve() + .then(function () { + var r = JSON.stringify(t), + n = o()[r]; + return Promise.all([n || e(), void 0 !== n]); + }) + .then(function (t) { + var e = a(t, 2), + n = e[0], + o = e[1]; + return Promise.all([n, o || r.miss(n)]); + }) + .then(function (t) { + return a(t, 1)[0]; + }); + }, + set: function (t, e) { + return Promise.resolve().then(function () { + var a = o(); + return ( + (a[JSON.stringify(t)] = e), n().setItem(r, JSON.stringify(a)), e + ); + }); + }, + delete: function (t) { + return Promise.resolve().then(function () { + var e = o(); + delete e[JSON.stringify(t)], n().setItem(r, JSON.stringify(e)); + }); + }, + clear: function () { + return Promise.resolve().then(function () { + n().removeItem(r); + }); + }, + }; + } + function u(t) { + var e = o(t.caches), + r = e.shift(); + return void 0 === r + ? { + get: function (t, e) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }, + n = e(); + return n + .then(function (t) { + return Promise.all([t, r.miss(t)]); + }) + .then(function (t) { + return a(t, 1)[0]; + }); + }, + set: function (t, e) { + return Promise.resolve(e); + }, + delete: function (t) { + return Promise.resolve(); + }, + clear: function () { + return Promise.resolve(); + }, + } + : { + get: function (t, n) { + var a = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }; + return r.get(t, n, a).catch(function () { + return u({ caches: e }).get(t, n, a); + }); + }, + set: function (t, n) { + return r.set(t, n).catch(function () { + return u({ caches: e }).set(t, n); + }); + }, + delete: function (t) { + return r.delete(t).catch(function () { + return u({ caches: e }).delete(t); + }); + }, + clear: function () { + return r.clear().catch(function () { + return u({ caches: e }).clear(); + }); + }, + }; + } + function s() { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : { serializable: !0 }, + e = {}; + return { + get: function (r, n) { + var a = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }, + o = JSON.stringify(r); + if (o in e) + return Promise.resolve(t.serializable ? JSON.parse(e[o]) : e[o]); + var i = n(), + u = + (a && a.miss) || + function () { + return Promise.resolve(); + }; + return i + .then(function (t) { + return u(t); + }) + .then(function () { + return i; + }); + }, + set: function (r, n) { + return ( + (e[JSON.stringify(r)] = t.serializable ? JSON.stringify(n) : n), + Promise.resolve(n) + ); + }, + delete: function (t) { + return delete e[JSON.stringify(t)], Promise.resolve(); + }, + clear: function () { + return (e = {}), Promise.resolve(); + }, + }; + } + function c(t, e, r) { + var n = { "x-algolia-api-key": r, "x-algolia-application-id": e }; + return { + headers: function () { + return t === m.WithinHeaders ? n : {}; + }, + queryParameters: function () { + return t === m.WithinQueryParameters ? n : {}; + }, + }; + } + function f(t) { + var e = 0; + return t(function r() { + return ( + e++, + new Promise(function (n) { + setTimeout( + function () { + n(t(r)); + }, + Math.min(100 * e, 1e3), + ); + }) + ); + }); + } + function d(t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : function (t, e) { + return Promise.resolve(); + }; + return Object.assign(t, { + wait: function (r) { + return d( + t + .then(function (t) { + return Promise.all([e(t, r), t]); + }) + .then(function (t) { + return t[1]; + }), + ); + }, + }); + } + function l(t) { + for (var e = t.length - 1; e > 0; e--) { + var r = Math.floor(Math.random() * (e + 1)), + n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + return t; + } + function p(t, e) { + return e + ? (Object.keys(e).forEach(function (r) { + t[r] = e[r](t); + }), + t) + : t; + } + function h(t) { + for ( + var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), n = 1; + n < e; + n++ + ) + r[n - 1] = arguments[n]; + var a = 0; + return t.replace(/%s/g, function () { + return encodeURIComponent(r[a++]); + }); + } + var m = { WithinQueryParameters: 0, WithinHeaders: 1 }; + function y(t, e) { + var r = t || {}, + n = r.data || {}; + return ( + Object.keys(r).forEach(function (t) { + -1 === + [ + "timeout", + "headers", + "queryParameters", + "data", + "cacheable", + ].indexOf(t) && (n[t] = r[t]); + }), + { + data: Object.entries(n).length > 0 ? n : void 0, + timeout: r.timeout || e, + headers: r.headers || {}, + queryParameters: r.queryParameters || {}, + cacheable: r.cacheable, + } + ); + } + var g = { Read: 1, Write: 2, Any: 3 }, + v = 1, + b = 2, + P = 3; + function w(t) { + var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : v; + return r(r({}, t), {}, { status: e, lastUpdate: Date.now() }); + } + function O(t) { + return "string" == typeof t + ? { protocol: "https", url: t, accept: g.Any } + : { + protocol: t.protocol || "https", + url: t.url, + accept: t.accept || g.Any, + }; + } + var I = "DELETE", + x = "GET", + j = "POST", + D = "PUT"; + function q(t, e) { + return Promise.all( + e.map(function (e) { + return t.get(e, function () { + return Promise.resolve(w(e)); + }); + }), + ).then(function (t) { + var r = t.filter(function (t) { + return (function (t) { + return t.status === v || Date.now() - t.lastUpdate > 12e4; + })(t); + }), + n = t.filter(function (t) { + return (function (t) { + return t.status === P && Date.now() - t.lastUpdate <= 12e4; + })(t); + }), + a = [].concat(o(r), o(n)); + return { + getTimeout: function (t, e) { + return (0 === n.length && 0 === t ? 1 : n.length + 3 + t) * e; + }, + statelessHosts: + a.length > 0 + ? a.map(function (t) { + return O(t); + }) + : e, + }; + }); + } + function S(t, e, n, a) { + var i = [], + u = (function (t, e) { + if (t.method === x || (void 0 === t.data && void 0 === e.data)) return; + var n = Array.isArray(t.data) ? t.data : r(r({}, t.data), e.data); + return JSON.stringify(n); + })(n, a), + s = (function (t, e) { + var n = r(r({}, t.headers), e.headers), + a = {}; + return ( + Object.keys(n).forEach(function (t) { + var e = n[t]; + a[t.toLowerCase()] = e; + }), + a + ); + })(t, a), + c = n.method, + f = n.method !== x ? {} : r(r({}, n.data), a.data), + d = r( + r(r({ "x-algolia-agent": t.userAgent.value }, t.queryParameters), f), + a.queryParameters, + ), + l = 0, + p = function e(r, o) { + var f = r.pop(); + if (void 0 === f) + throw { + name: "RetryError", + message: + "Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.", + transporterStackTrace: R(i), + }; + var p = { + data: u, + headers: s, + method: c, + url: N(f, n.path, d), + connectTimeout: o(l, t.timeouts.connect), + responseTimeout: o(l, a.timeout), + }, + h = function (t) { + var e = { request: p, response: t, host: f, triesLeft: r.length }; + return i.push(e), e; + }, + m = { + onSuccess: function (t) { + return (function (t) { + try { + return JSON.parse(t.content); + } catch (e) { + throw (function (t, e) { + return { + name: "DeserializationError", + message: t, + response: e, + }; + })(e.message, t); + } + })(t); + }, + onRetry: function (n) { + var a = h(n); + return ( + n.isTimedOut && l++, + Promise.all([ + t.logger.info("Retryable failure", A(a)), + t.hostsCache.set(f, w(f, n.isTimedOut ? P : b)), + ]).then(function () { + return e(r, o); + }) + ); + }, + onFail: function (t) { + throw ( + (h(t), + (function (t, e) { + var r = t.content, + n = t.status, + a = r; + try { + a = JSON.parse(r).message; + } catch (t) {} + return (function (t, e, r) { + return { + name: "ApiError", + message: t, + status: e, + transporterStackTrace: r, + }; + })(a, n, e); + })(t, R(i))) + ); + }, + }; + return t.requester.send(p).then(function (t) { + return (function (t, e) { + return (function (t) { + var e = t.status; + return ( + t.isTimedOut || + (function (t) { + var e = t.isTimedOut, + r = t.status; + return !e && 0 == ~~r; + })(t) || + (2 != ~~(e / 100) && 4 != ~~(e / 100)) + ); + })(t) + ? e.onRetry(t) + : 2 == ~~(t.status / 100) + ? e.onSuccess(t) + : e.onFail(t); + })(t, m); + }); + }; + return q(t.hostsCache, e).then(function (t) { + return p(o(t.statelessHosts).reverse(), t.getTimeout); + }); + } + function k(t) { + var e = t.hostsCache, + r = t.logger, + n = t.requester, + o = t.requestsCache, + i = t.responsesCache, + u = t.timeouts, + s = t.userAgent, + c = t.hosts, + f = t.queryParameters, + d = { + hostsCache: e, + logger: r, + requester: n, + requestsCache: o, + responsesCache: i, + timeouts: u, + userAgent: s, + headers: t.headers, + queryParameters: f, + hosts: c.map(function (t) { + return O(t); + }), + read: function (t, e) { + var r = y(e, d.timeouts.read), + n = function () { + return S( + d, + d.hosts.filter(function (t) { + return 0 != (t.accept & g.Read); + }), + t, + r, + ); + }; + if (!0 !== (void 0 !== r.cacheable ? r.cacheable : t.cacheable)) + return n(); + var o = { + request: t, + mappedRequestOptions: r, + transporter: { + queryParameters: d.queryParameters, + headers: d.headers, + }, + }; + return d.responsesCache.get( + o, + function () { + return d.requestsCache.get(o, function () { + return d.requestsCache + .set(o, n()) + .then( + function (t) { + return Promise.all([d.requestsCache.delete(o), t]); + }, + function (t) { + return Promise.all([ + d.requestsCache.delete(o), + Promise.reject(t), + ]); + }, + ) + .then(function (t) { + var e = a(t, 2); + e[0]; + return e[1]; + }); + }); + }, + { + miss: function (t) { + return d.responsesCache.set(o, t); + }, + }, + ); + }, + write: function (t, e) { + return S( + d, + d.hosts.filter(function (t) { + return 0 != (t.accept & g.Write); + }), + t, + y(e, d.timeouts.write), + ); + }, + }; + return d; + } + function T(t) { + var e = { + value: "Algolia for JavaScript (".concat(t, ")"), + add: function (t) { + var r = "; " + .concat(t.segment) + .concat(void 0 !== t.version ? " (".concat(t.version, ")") : ""); + return ( + -1 === e.value.indexOf(r) && (e.value = "".concat(e.value).concat(r)), + e + ); + }, + }; + return e; + } + function N(t, e, r) { + var n = E(r), + a = "" + .concat(t.protocol, "://") + .concat(t.url, "/") + .concat("/" === e.charAt(0) ? e.substr(1) : e); + return n.length && (a += "?".concat(n)), a; + } + function E(t) { + return Object.keys(t) + .map(function (e) { + return h( + "%s=%s", + e, + ((r = t[e]), + "[object Object]" === Object.prototype.toString.call(r) || + "[object Array]" === Object.prototype.toString.call(r) + ? JSON.stringify(t[e]) + : t[e]), + ); + var r; + }) + .join("&"); + } + function R(t) { + return t.map(function (t) { + return A(t); + }); + } + function A(t) { + var e = t.request.headers["x-algolia-api-key"] + ? { "x-algolia-api-key": "*****" } + : {}; + return r( + r({}, t), + {}, + { + request: r( + r({}, t.request), + {}, + { headers: r(r({}, t.request.headers), e) }, + ), + }, + ); + } + var C = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: "2/abtests", data: e }, + r, + ); + }; + }, + U = function (t) { + return function (e, r) { + return t.transporter.write( + { method: I, path: h("2/abtests/%s", e) }, + r, + ); + }; + }, + z = function (t) { + return function (e, r) { + return t.transporter.read({ method: x, path: h("2/abtests/%s", e) }, r); + }; + }, + J = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "2/abtests" }, e); + }; + }, + F = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: h("2/abtests/%s/stop", e) }, + r, + ); + }; + }, + H = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "1/strategies/personalization" }, + e, + ); + }; + }, + M = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: "1/strategies/personalization", data: e }, + r, + ); + }; + }; + function K(t) { + return (function e(r) { + return t.request(r).then(function (n) { + if ((void 0 !== t.batch && t.batch(n.hits), !t.shouldStop(n))) + return n.cursor + ? e({ cursor: n.cursor }) + : e({ page: (r.page || 0) + 1 }); + }); + })({}); + } + var W = function (t) { + return function (e, a) { + var o = a || {}, + i = o.queryParameters, + u = n(o, ["queryParameters"]), + s = r({ acl: e }, void 0 !== i ? { queryParameters: i } : {}); + return d( + t.transporter.write({ method: j, path: "1/keys", data: s }, u), + function (e, r) { + return f(function (n) { + return tt(t)(e.key, r).catch(function (t) { + if (404 !== t.status) throw t; + return n(); + }); + }); + }, + ); + }; + }, + B = function (t) { + return function (e, r, n) { + var a = y(n); + return ( + (a.queryParameters["X-Algolia-User-ID"] = e), + t.transporter.write( + { method: j, path: "1/clusters/mapping", data: { cluster: r } }, + a, + ) + ); + }; + }, + Q = function (t) { + return function (e, r, n) { + return t.transporter.write( + { + method: j, + path: "1/clusters/mapping/batch", + data: { users: e, cluster: r }, + }, + n, + ); + }; + }, + G = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { + clearExistingDictionaryEntries: !0, + requests: { action: "addEntry", body: [] }, + }, + }, + r, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + L = function (t) { + return function (e, r, n) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: "copy", destination: r }, + }, + n, + ), + function (r, n) { + return ut(t)(e, { methods: { waitTask: de } }).waitTask( + r.taskID, + n, + ); + }, + ); + }; + }, + V = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Rules] })); + }; + }, + _ = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Settings] })); + }; + }, + X = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Synonyms] })); + }; + }, + Y = function (t) { + return function (e, r) { + return e.method === x + ? t.transporter.read(e, r) + : t.transporter.write(e, r); + }; + }, + Z = function (t) { + return function (e, r) { + return d( + t.transporter.write({ method: I, path: h("1/keys/%s", e) }, r), + function (r, n) { + return f(function (r) { + return tt(t)(e, n) + .then(r) + .catch(function (t) { + if (404 !== t.status) throw t; + }); + }); + }, + ); + }; + }, + $ = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "deleteEntry", body: { objectID: t } }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !1, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + tt = function (t) { + return function (e, r) { + return t.transporter.read({ method: x, path: h("1/keys/%s", e) }, r); + }; + }, + et = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/task/%s", e.toString()) }, + r, + ); + }; + }, + rt = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "/1/dictionaries/*/settings" }, + e, + ); + }; + }, + nt = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/logs" }, e); + }; + }, + at = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "1/clusters/mapping/top" }, + e, + ); + }; + }, + ot = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/clusters/mapping/%s", e) }, + r, + ); + }; + }, + it = function (t) { + return function (e) { + var r = e || {}, + a = r.retrieveMappings, + o = n(r, ["retrieveMappings"]); + return ( + !0 === a && (o.getClusters = !0), + t.transporter.read( + { method: x, path: "1/clusters/mapping/pending" }, + o, + ) + ); + }; + }, + ut = function (t) { + return function (e) { + var r = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = { transporter: t.transporter, appId: t.appId, indexName: e }; + return p(n, r.methods); + }; + }, + st = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/keys" }, e); + }; + }, + ct = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/clusters" }, e); + }; + }, + ft = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/indexes" }, e); + }; + }, + dt = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/clusters/mapping" }, e); + }; + }, + lt = function (t) { + return function (e, r, n) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: "move", destination: r }, + }, + n, + ), + function (r, n) { + return ut(t)(e, { methods: { waitTask: de } }).waitTask( + r.taskID, + n, + ); + }, + ); + }; + }, + pt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: j, path: "1/indexes/*/batch", data: { requests: e } }, + r, + ), + function (e, r) { + return Promise.all( + Object.keys(e.taskID).map(function (n) { + return ut(t)(n, { methods: { waitTask: de } }).waitTask( + e.taskID[n], + r, + ); + }), + ); + }, + ); + }; + }, + ht = function (t) { + return function (e, r) { + return t.transporter.read( + { method: j, path: "1/indexes/*/objects", data: { requests: e } }, + r, + ); + }; + }, + mt = function (t) { + return function (e, n) { + var a = e.map(function (t) { + return r(r({}, t), {}, { params: E(t.params || {}) }); + }); + return t.transporter.read( + { + method: j, + path: "1/indexes/*/queries", + data: { requests: a }, + cacheable: !0, + }, + n, + ); + }; + }, + yt = function (t) { + return function (e, a) { + return Promise.all( + e.map(function (e) { + var o = e.params, + i = o.facetName, + u = o.facetQuery, + s = n(o, ["facetName", "facetQuery"]); + return ut(t)(e.indexName, { + methods: { searchForFacetValues: ue }, + }).searchForFacetValues(i, u, r(r({}, a), s)); + }), + ); + }; + }, + gt = function (t) { + return function (e, r) { + var n = y(r); + return ( + (n.queryParameters["X-Algolia-User-ID"] = e), + t.transporter.write({ method: I, path: "1/clusters/mapping" }, n) + ); + }; + }, + vt = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "addEntry", body: t }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !0, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + bt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: j, path: h("1/keys/%s/restore", e) }, + r, + ), + function (r, n) { + return f(function (r) { + return tt(t)(e, n).catch(function (t) { + if (404 !== t.status) throw t; + return r(); + }); + }); + }, + ); + }; + }, + Pt = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "addEntry", body: t }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !1, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + wt = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("/1/dictionaries/%s/search", e), + data: { query: r }, + cacheable: !0, + }, + n, + ); + }; + }, + Ot = function (t) { + return function (e, r) { + return t.transporter.read( + { method: j, path: "1/clusters/mapping/search", data: { query: e } }, + r, + ); + }; + }, + It = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: D, path: "/1/dictionaries/*/settings", data: e }, + r, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + xt = function (t) { + return function (e, r) { + var a = Object.assign({}, r), + o = r || {}, + i = o.queryParameters, + u = n(o, ["queryParameters"]), + s = i ? { queryParameters: i } : {}, + c = [ + "acl", + "indexes", + "referers", + "restrictSources", + "queryParameters", + "description", + "maxQueriesPerIPPerHour", + "maxHitsPerQuery", + ]; + return d( + t.transporter.write( + { method: D, path: h("1/keys/%s", e), data: s }, + u, + ), + function (r, n) { + return f(function (r) { + return tt(t)(e, n).then(function (t) { + return (function (t) { + return Object.keys(a) + .filter(function (t) { + return -1 !== c.indexOf(t); + }) + .every(function (e) { + return t[e] === a[e]; + }); + })(t) + ? Promise.resolve() + : r(); + }); + }); + }, + ); + }; + }, + jt = function (t) { + return function (e, r) { + return f(function (n) { + return et(t)(e, r).then(function (t) { + return "published" !== t.status ? n() : void 0; + }); + }); + }; + }, + Dt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/batch", t.indexName), + data: { requests: e }, + }, + r, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + qt = function (t) { + return function (e) { + return K( + r( + r( + { + shouldStop: function (t) { + return void 0 === t.cursor; + }, + }, + e, + ), + {}, + { + request: function (r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/browse", t.indexName), + data: r, + }, + e, + ); + }, + }, + ), + ); + }; + }, + St = function (t) { + return function (e) { + var n = r({ hitsPerPage: 1e3 }, e); + return K( + r( + r( + { + shouldStop: function (t) { + return t.hits.length < n.hitsPerPage; + }, + }, + n, + ), + {}, + { + request: function (e) { + return se(t)("", r(r({}, n), e)).then(function (t) { + return r( + r({}, t), + {}, + { + hits: t.hits.map(function (t) { + return delete t._highlightResult, t; + }), + }, + ); + }); + }, + }, + ), + ); + }; + }, + kt = function (t) { + return function (e) { + var n = r({ hitsPerPage: 1e3 }, e); + return K( + r( + r( + { + shouldStop: function (t) { + return t.hits.length < n.hitsPerPage; + }, + }, + n, + ), + {}, + { + request: function (e) { + return ce(t)("", r(r({}, n), e)).then(function (t) { + return r( + r({}, t), + {}, + { + hits: t.hits.map(function (t) { + return delete t._highlightResult, t; + }), + }, + ); + }); + }, + }, + ), + ); + }; + }, + Tt = function (t) { + return function (e, r, a) { + var o = a || {}, + i = o.batchSize, + u = n(o, ["batchSize"]), + s = { taskIDs: [], objectIDs: [] }; + return d( + (function n() { + var a, + o = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 0, + c = []; + for ( + a = o; + a < e.length && (c.push(e[a]), c.length !== (i || 1e3)); + a++ + ); + return 0 === c.length + ? Promise.resolve(s) + : Dt(t)( + c.map(function (t) { + return { action: r, body: t }; + }), + u, + ).then(function (t) { + return ( + (s.objectIDs = s.objectIDs.concat(t.objectIDs)), + s.taskIDs.push(t.taskID), + a++, + n(a) + ); + }); + })(), + function (e, r) { + return Promise.all( + e.taskIDs.map(function (e) { + return de(t)(e, r); + }), + ); + }, + ); + }; + }, + Nt = function (t) { + return function (e) { + return d( + t.transporter.write( + { method: j, path: h("1/indexes/%s/clear", t.indexName) }, + e, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Et = function (t) { + return function (e) { + var r = e || {}, + a = r.forwardToReplicas, + o = y(n(r, ["forwardToReplicas"])); + return ( + a && (o.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { method: j, path: h("1/indexes/%s/rules/clear", t.indexName) }, + o, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Rt = function (t) { + return function (e) { + var r = e || {}, + a = r.forwardToReplicas, + o = y(n(r, ["forwardToReplicas"])); + return ( + a && (o.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/synonyms/clear", t.indexName), + }, + o, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + At = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/deleteByQuery", t.indexName), + data: e, + }, + r, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Ct = function (t) { + return function (e) { + return d( + t.transporter.write( + { method: I, path: h("1/indexes/%s", t.indexName) }, + e, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Ut = function (t) { + return function (e, r) { + return d( + zt(t)([e], r).then(function (t) { + return { taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + zt = function (t) { + return function (e, r) { + var n = e.map(function (t) { + return { objectID: t }; + }); + return Tt(t)(n, le.DeleteObject, r); + }; + }, + Jt = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { method: I, path: h("1/indexes/%s/rules/%s", t.indexName, e) }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Ft = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: I, + path: h("1/indexes/%s/synonyms/%s", t.indexName, e), + }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Ht = function (t) { + return function (e) { + return Lt(t)(e) + .then(function () { + return !0; + }) + .catch(function (t) { + if (404 !== t.status) throw t; + return !1; + }); + }; + }, + Mt = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("1/answers/%s/prediction", t.indexName), + data: { query: e, queryLanguages: r }, + cacheable: !0, + }, + n, + ); + }; + }, + Kt = function (t) { + return function (e, o) { + var i = o || {}, + u = i.query, + s = i.paginate, + c = n(i, ["query", "paginate"]), + f = 0; + return (function n() { + return ie(t)(u || "", r(r({}, c), {}, { page: f })).then( + function (t) { + for (var r = 0, o = Object.entries(t.hits); r < o.length; r++) { + var i = a(o[r], 2), + u = i[0], + c = i[1]; + if (e(c)) + return { object: c, position: parseInt(u, 10), page: f }; + } + if ((f++, !1 === s || f >= t.nbPages)) + throw { + name: "ObjectNotFoundError", + message: "Object not found.", + }; + return n(); + }, + ); + })(); + }; + }, + Wt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/%s", t.indexName, e) }, + r, + ); + }; + }, + Bt = function () { + return function (t, e) { + for (var r = 0, n = Object.entries(t.hits); r < n.length; r++) { + var o = a(n[r], 2), + i = o[0]; + if (o[1].objectID === e) return parseInt(i, 10); + } + return -1; + }; + }, + Qt = function (t) { + return function (e, a) { + var o = a || {}, + i = o.attributesToRetrieve, + u = n(o, ["attributesToRetrieve"]), + s = e.map(function (e) { + return r( + { indexName: t.indexName, objectID: e }, + i ? { attributesToRetrieve: i } : {}, + ); + }); + return t.transporter.read( + { method: j, path: "1/indexes/*/objects", data: { requests: s } }, + u, + ); + }; + }, + Gt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/rules/%s", t.indexName, e) }, + r, + ); + }; + }, + Lt = function (t) { + return function (e) { + return t.transporter.read( + { + method: x, + path: h("1/indexes/%s/settings", t.indexName), + data: { getVersion: 2 }, + }, + e, + ); + }; + }, + Vt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/synonyms/%s", t.indexName, e) }, + r, + ); + }; + }, + _t = function (t) { + return function (e, r) { + return d( + Xt(t)([e], r).then(function (t) { + return { objectID: t.objectIDs[0], taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Xt = function (t) { + return function (e, r) { + var a = r || {}, + o = a.createIfNotExists, + i = n(a, ["createIfNotExists"]), + u = o ? le.PartialUpdateObject : le.PartialUpdateObjectNoCreate; + return Tt(t)(e, u, i); + }; + }, + Yt = function (t) { + return function (e, i) { + var u = i || {}, + s = u.safe, + c = u.autoGenerateObjectIDIfNotExist, + f = u.batchSize, + l = n(u, ["safe", "autoGenerateObjectIDIfNotExist", "batchSize"]), + p = function (e, r, n, a) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: n, destination: r }, + }, + a, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }, + m = Math.random().toString(36).substring(7), + y = "".concat(t.indexName, "_tmp_").concat(m), + g = ee({ appId: t.appId, transporter: t.transporter, indexName: y }), + v = [], + b = p( + t.indexName, + y, + "copy", + r(r({}, l), {}, { scope: ["settings", "synonyms", "rules"] }), + ); + return ( + v.push(b), + d( + (s ? b.wait(l) : b) + .then(function () { + var t = g( + e, + r( + r({}, l), + {}, + { autoGenerateObjectIDIfNotExist: c, batchSize: f }, + ), + ); + return v.push(t), s ? t.wait(l) : t; + }) + .then(function () { + var e = p(y, t.indexName, "move", l); + return v.push(e), s ? e.wait(l) : e; + }) + .then(function () { + return Promise.all(v); + }) + .then(function (t) { + var e = a(t, 3), + r = e[0], + n = e[1], + i = e[2]; + return { + objectIDs: n.objectIDs, + taskIDs: [r.taskID].concat(o(n.taskIDs), [i.taskID]), + }; + }), + function (t, e) { + return Promise.all( + v.map(function (t) { + return t.wait(e); + }), + ); + }, + ) + ); + }; + }, + Zt = function (t) { + return function (e, n) { + return ne(t)(e, r(r({}, n), {}, { clearExistingRules: !0 })); + }; + }, + $t = function (t) { + return function (e, n) { + return oe(t)(e, r(r({}, n), {}, { clearExistingSynonyms: !0 })); + }; + }, + te = function (t) { + return function (e, r) { + return d( + ee(t)([e], r).then(function (t) { + return { objectID: t.objectIDs[0], taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + ee = function (t) { + return function (e, r) { + var a = r || {}, + o = a.autoGenerateObjectIDIfNotExist, + i = n(a, ["autoGenerateObjectIDIfNotExist"]), + u = o ? le.AddObject : le.UpdateObject; + if (u === le.UpdateObject) { + var s = !0, + c = !1, + f = void 0; + try { + for ( + var l, p = e[Symbol.iterator](); + !(s = (l = p.next()).done); + s = !0 + ) { + if (void 0 === l.value.objectID) + return d( + Promise.reject({ + name: "MissingObjectIDError", + message: + "All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.", + }), + ); + } + } catch (t) { + (c = !0), (f = t); + } finally { + try { + s || null == p.return || p.return(); + } finally { + if (c) throw f; + } + } + } + return Tt(t)(e, u, i); + }; + }, + re = function (t) { + return function (e, r) { + return ne(t)([e], r); + }; + }, + ne = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = a.clearExistingRules, + u = y(n(a, ["forwardToReplicas", "clearExistingRules"])); + return ( + o && (u.queryParameters.forwardToReplicas = 1), + i && (u.queryParameters.clearExistingRules = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/rules/batch", t.indexName), + data: e, + }, + u, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + ae = function (t) { + return function (e, r) { + return oe(t)([e], r); + }; + }, + oe = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = a.clearExistingSynonyms, + u = a.replaceExistingSynonyms, + s = y( + n(a, [ + "forwardToReplicas", + "clearExistingSynonyms", + "replaceExistingSynonyms", + ]), + ); + return ( + o && (s.queryParameters.forwardToReplicas = 1), + (u || i) && (s.queryParameters.replaceExistingSynonyms = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/synonyms/batch", t.indexName), + data: e, + }, + s, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + ie = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/query", t.indexName), + data: { query: e }, + cacheable: !0, + }, + r, + ); + }; + }, + ue = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/facets/%s/query", t.indexName, e), + data: { facetQuery: r }, + cacheable: !0, + }, + n, + ); + }; + }, + se = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/rules/search", t.indexName), + data: { query: e }, + }, + r, + ); + }; + }, + ce = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/synonyms/search", t.indexName), + data: { query: e }, + }, + r, + ); + }; + }, + fe = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: D, + path: h("1/indexes/%s/settings", t.indexName), + data: e, + }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + de = function (t) { + return function (e, r) { + return f(function (n) { + return (function (t) { + return function (e, r) { + return t.transporter.read( + { + method: x, + path: h("1/indexes/%s/task/%s", t.indexName, e.toString()), + }, + r, + ); + }; + })(t)(e, r).then(function (t) { + return "published" !== t.status ? n() : void 0; + }); + }); + }; + }, + le = { + AddObject: "addObject", + UpdateObject: "updateObject", + PartialUpdateObject: "partialUpdateObject", + PartialUpdateObjectNoCreate: "partialUpdateObjectNoCreate", + DeleteObject: "deleteObject", + DeleteIndex: "delete", + ClearIndex: "clear", + }, + pe = { Settings: "settings", Synonyms: "synonyms", Rules: "rules" }, + he = 1, + me = 2, + ye = 3; + function ge(t, e, n) { + var a, + o = { + appId: t, + apiKey: e, + timeouts: { connect: 1, read: 2, write: 30 }, + requester: { + send: function (t) { + return new Promise(function (e) { + var r = new XMLHttpRequest(); + r.open(t.method, t.url, !0), + Object.keys(t.headers).forEach(function (e) { + return r.setRequestHeader(e, t.headers[e]); + }); + var n, + a = function (t, n) { + return setTimeout(function () { + r.abort(), e({ status: 0, content: n, isTimedOut: !0 }); + }, 1e3 * t); + }, + o = a(t.connectTimeout, "Connection timeout"); + (r.onreadystatechange = function () { + r.readyState > r.OPENED && + void 0 === n && + (clearTimeout(o), + (n = a(t.responseTimeout, "Socket timeout"))); + }), + (r.onerror = function () { + 0 === r.status && + (clearTimeout(o), + clearTimeout(n), + e({ + content: r.responseText || "Network request failed", + status: r.status, + isTimedOut: !1, + })); + }), + (r.onload = function () { + clearTimeout(o), + clearTimeout(n), + e({ + content: r.responseText, + status: r.status, + isTimedOut: !1, + }); + }), + r.send(t.data); + }); + }, + }, + logger: + ((a = ye), + { + debug: function (t, e) { + return he >= a && console.debug(t, e), Promise.resolve(); + }, + info: function (t, e) { + return me >= a && console.info(t, e), Promise.resolve(); + }, + error: function (t, e) { + return console.error(t, e), Promise.resolve(); + }, + }), + responsesCache: s(), + requestsCache: s({ serializable: !1 }), + hostsCache: u({ + caches: [i({ key: "".concat("4.17.0", "-").concat(t) }), s()], + }), + userAgent: T("4.17.0").add({ segment: "Browser" }), + }, + f = r(r({}, o), n), + d = function () { + return function (t) { + return (function (t) { + var e = t.region || "us", + n = c(m.WithinHeaders, t.appId, t.apiKey), + a = k( + r( + r( + { + hosts: [ + { url: "personalization.".concat(e, ".algolia.com") }, + ], + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/json", + }), + t.headers, + ), + queryParameters: r( + r({}, n.queryParameters()), + t.queryParameters, + ), + }, + ), + ); + return p({ appId: t.appId, transporter: a }, t.methods); + })( + r( + r(r({}, o), t), + {}, + { + methods: { + getPersonalizationStrategy: H, + setPersonalizationStrategy: M, + }, + }, + ), + ); + }; + }; + return (function (t) { + var e = t.appId, + n = c( + void 0 !== t.authMode ? t.authMode : m.WithinHeaders, + e, + t.apiKey, + ), + a = k( + r( + r( + { + hosts: [ + { url: "".concat(e, "-dsn.algolia.net"), accept: g.Read }, + { url: "".concat(e, ".algolia.net"), accept: g.Write }, + ].concat( + l([ + { url: "".concat(e, "-1.algolianet.com") }, + { url: "".concat(e, "-2.algolianet.com") }, + { url: "".concat(e, "-3.algolianet.com") }, + ]), + ), + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/x-www-form-urlencoded", + }), + t.headers, + ), + queryParameters: r(r({}, n.queryParameters()), t.queryParameters), + }, + ), + ); + return p( + { + transporter: a, + appId: e, + addAlgoliaAgent: function (t, e) { + a.userAgent.add({ segment: t, version: e }); + }, + clearCache: function () { + return Promise.all([ + a.requestsCache.clear(), + a.responsesCache.clear(), + ]).then(function () {}); + }, + }, + t.methods, + ); + })( + r( + r({}, f), + {}, + { + methods: { + search: mt, + searchForFacetValues: yt, + multipleBatch: pt, + multipleGetObjects: ht, + multipleQueries: mt, + copyIndex: L, + copySettings: _, + copySynonyms: X, + copyRules: V, + moveIndex: lt, + listIndices: ft, + getLogs: nt, + listClusters: ct, + multipleSearchForFacetValues: yt, + getApiKey: tt, + addApiKey: W, + listApiKeys: st, + updateApiKey: xt, + deleteApiKey: Z, + restoreApiKey: bt, + assignUserID: B, + assignUserIDs: Q, + getUserID: ot, + searchUserIDs: Ot, + listUserIDs: dt, + getTopUserIDs: at, + removeUserID: gt, + hasPendingMappings: it, + clearDictionaryEntries: G, + deleteDictionaryEntries: $, + getDictionarySettings: rt, + getAppTask: et, + replaceDictionaryEntries: vt, + saveDictionaryEntries: Pt, + searchDictionaryEntries: wt, + setDictionarySettings: It, + waitAppTask: jt, + customRequest: Y, + initIndex: function (t) { + return function (e) { + return ut(t)(e, { + methods: { + batch: Dt, + delete: Ct, + findAnswers: Mt, + getObject: Wt, + getObjects: Qt, + saveObject: te, + saveObjects: ee, + search: ie, + searchForFacetValues: ue, + waitTask: de, + setSettings: fe, + getSettings: Lt, + partialUpdateObject: _t, + partialUpdateObjects: Xt, + deleteObject: Ut, + deleteObjects: zt, + deleteBy: At, + clearObjects: Nt, + browseObjects: qt, + getObjectPosition: Bt, + findObject: Kt, + exists: Ht, + saveSynonym: ae, + saveSynonyms: oe, + getSynonym: Vt, + searchSynonyms: ce, + browseSynonyms: kt, + deleteSynonym: Ft, + clearSynonyms: Rt, + replaceAllObjects: Yt, + replaceAllSynonyms: $t, + searchRules: se, + getRule: Gt, + deleteRule: Jt, + saveRule: re, + saveRules: ne, + replaceAllRules: Zt, + browseRules: St, + clearRules: Et, + }, + }); + }; + }, + initAnalytics: function () { + return function (t) { + return (function (t) { + var e = t.region || "us", + n = c(m.WithinHeaders, t.appId, t.apiKey), + a = k( + r( + r( + { + hosts: [ + { url: "analytics.".concat(e, ".algolia.com") }, + ], + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/json", + }), + t.headers, + ), + queryParameters: r( + r({}, n.queryParameters()), + t.queryParameters, + ), + }, + ), + ); + return p({ appId: t.appId, transporter: a }, t.methods); + })( + r( + r(r({}, o), t), + {}, + { + methods: { + addABTest: C, + getABTest: z, + getABTests: J, + stopABTest: F, + deleteABTest: U, + }, + }, + ), + ); + }; + }, + initPersonalization: d, + initRecommendation: function () { + return function (t) { + return ( + f.logger.info( + "The `initRecommendation` method is deprecated. Use `initPersonalization` instead.", + ), + d()(t) + ); + }; + }, + }, + }, + ), + ); + } + return (ge.version = "4.17.0"), ge; +}); diff --git a/themes/itheme/static/js/animation.js b/themes/itheme/static/js/animation.js new file mode 100644 index 0000000..f7bceb5 --- /dev/null +++ b/themes/itheme/static/js/animation.js @@ -0,0 +1,88 @@ +var animationElements = []; +var imageElements = []; +var animationElementName = ".small-load"; + + +// Hookable function +var loadAnimation = function (item) { + let img = new Image(); + img.src = item.children[0].children[0].dataset.src; + img.onload = function () { + item.classList.remove("small-load", "medium-load", "large-load"); + item.classList.add("small-loaded", "medium-loaded", "large-loaded"); + } +} + +// Hookable function +var loadImage = function (index) { + if (index >= imageElements.length) return; + let item = imageElements[index]; + let image = new Image(); + item.src = item.dataset.src; + image.src = item.src; + + // if the image is loaded, load the next image + image.onload = function () { + loadImage(index + 1); + } + // if the image is not loaded, load the next image + image.onerror = function () { + loadImage(index + 1); + } +} + + +function initImage() { + // get all the images with data-src attribute + imageElements = document.querySelectorAll('img[data-src]') + // load the images one by one + loadImage(0); + + + animationElements = document.querySelectorAll(animationElementName); + // load the images which are in the viewport + viewPortLoad(0); + const debouncedHandleScroll = debounce(lazyAnimation, 10); + // add the event listener + window.addEventListener('scroll', debouncedHandleScroll); +} + + +function viewPortLoad(index) { + if (index >= animationElements.length) return; + let item = animationElements[index]; + if (!isElementInView(item)) { + viewPortLoad(index + 1) + return; + }; + + loadAnimation(item) + viewPortLoad(index + 1); +} + + +function lazyAnimation() { + images = document.querySelectorAll(animationElementName); + viewPortLoad(0); +} + + +// check if the element is in the viewport +function isElementInView(element) { + const rect = element.getBoundingClientRect(); + const elementTop = rect.top; + const elementBottom = rect.bottom; + return (elementTop >= 0 && elementBottom - 200 <= window.innerHeight); +} + +function debounce(fn, delay) { + let timer = null; + return function () { + let context = this; + let args = arguments; + clearTimeout(timer); + timer = setTimeout(function () { + fn.apply(context, args); + }, delay); + }; +} diff --git a/themes/itheme/static/js/autocomplete-js.js b/themes/itheme/static/js/autocomplete-js.js new file mode 100644 index 0000000..f6cdbb2 --- /dev/null +++ b/themes/itheme/static/js/autocomplete-js.js @@ -0,0 +1,9 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/@algolia/autocomplete-js@1.8.3/dist/umd/index.production.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +/*! @algolia/autocomplete-js 1.8.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-js"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,a=[],i=!0,u=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(u)throw o}}return a}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e){return{current:e}}function f(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function d(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var v=0;function m(){return"autocomplete-".concat(v++)}function h(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}function g(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var y=function(){},b="1.8.3",O=[{segment:"autocomplete-core",version:b}];function _(e,t){var n=t;return{then:function(t,r){return _(e.then(j(t,n,e),j(r,n,e)),n)},catch:function(t){return _(e.catch(j(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),_(e.finally(j(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function P(e){return _(e,{isCanceled:!1,onCancelList:[]})}function j(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function S(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}var C=/((gt|sm)-|galaxy nexus)|samsung[- ]/i;function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach((function(t){N(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach((function(t){V(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return H(H({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,environment:r,shouldPanelOpen:function(e){return g(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:m(),plugins:o,initialState:H({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(F(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:y,onResolve:y};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=I(I({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return d(e)})).then((function(e){return e.map((function(e){return H(H({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:H({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){J(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Z(e){return Boolean(e.execute)}function ee(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(Y(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return K(K({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?K(K({},n),{},{params:K(K({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function te(e){var t=e.reduce((function(e,t){if(!Z(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return Z(t)&&Z(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var u;(u=i.items).push.apply(u,Y(a))}else{var c={execute:r,requesterId:o,items:a,searchClient:n};e.push(c)}return e}),[]).map((function(e){if(!Z(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return d(e)}))}function ne(e,t,n){return t.map((function(t){var r=e.filter((function(e){return e.sourceId===t.sourceId})),o=r.map((function(e){return e.items})),a=r[0].transformResponse,i=a?a(function(e){var t=e.map((function(e){var t;return k(k({},e),{},{hits:null===(t=e.hits)||void 0===t?void 0:t.map((function(t){return k(k({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})}))})}));return{results:t,hits:t.map((function(e){return e.hits})).filter(Boolean),facetHits:t.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}}(o)):o;return t.onResolve({source:t,results:o,items:i,state:n.getState()}),i.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:i}}))}var re=["event","nextState","props","query","refresh","store"];function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ce,le,se,pe=null,fe=(ce=-1,le=-1,se=void 0,function(e){var t=++ce;return Promise.resolve(e).then((function(e){return se&&t<le?se:(le=t,se=e,e)}))});function de(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,u=e.store,c=ue(e,re);pe&&o.environment.clearTimeout(pe);var l=c.setCollections,s=c.setIsOpen,p=c.setQuery,f=c.setActiveItemId,v=c.setStatus;if(p(a),f(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var m,h=u.getState().collections.map((function(e){return ae(ae({},e),{},{items:[]})}));v("idle"),l(h),s(null!==(m=r.isOpen)&&void 0!==m?m:o.shouldPanelOpen({state:u.getState()}));var g=P(fe(h).then((function(){return Promise.resolve()})));return u.pendingRequests.add(g)}v("loading"),pe=o.environment.setTimeout((function(){v("stalled")}),o.stallThreshold);var y=P(fe(o.getSources(ae({query:a,refresh:i,state:u.getState()},c)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(ae({query:a,refresh:i,state:u.getState()},c))).then((function(t){return ee(t,e.sourceId,u.getState())}))}))).then(te).then((function(t){return ne(t,e,u)})).then((function(e){return function(e){var t=e.collections,n=e.props,r=e.state,o=t.reduce((function(e,t){return $($({},e),{},z({},t.source.sourceId,$($({},t.source),{},{getItems:function(){return d(t.items)}})))}),{}),a=n.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:r}).sourcesBySourceId;return d(n.reshape({sourcesBySourceId:a,sources:Object.values(a),state:r})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:u.getState()})}))})))).then((function(e){var n;v("idle"),l(e);var p=o.shouldPanelOpen({state:u.getState()});s(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&p||p);var f=A(u.getState());if(null!==u.getState().activeItemId&&f){var d=f.item,m=f.itemInputValue,h=f.itemUrl,g=f.source;g.onActive(ae({event:t,item:d,itemInputValue:m,itemUrl:h,refresh:i,source:g,state:u.getState()},c))}})).finally((function(){v("idle"),pe&&o.environment.clearTimeout(pe)}));return u.pendingRequests.add(y)}var ve=["event","props","refresh","store"];function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach((function(t){ge(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var be=["props","refresh","store"],Oe=["inputElement","formElement","panelElement"],_e=["inputElement"],Pe=["inputElement","maxLength"],je=["sourceIndex"],Se=["sourceIndex"],we=["item","source","sourceIndex"];function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){Ae(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ce(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function De(e){var t=e.props,n=e.refresh,r=e.store,o=Ce(e,be),a=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return Ee({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},Ce(e,Oe))},getRootProps:function(e){return Ee({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){return e.inputElement,Ee({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(Ee({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(Ee({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},Ce(e,_e))},getLabelProps:function(e){var n=e||{},r=n.sourceIndex,o=Ce(n,je);return Ee({htmlFor:"".concat(a(t.id,r),"-input"),id:"".concat(a(t.id,r),"-label")},o)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&de(Ee({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var u=e||{};u.inputElement;var c=u.maxLength,l=void 0===c?512:c,s=Ce(u,Pe),p=A(r.getState()),f=function(e){return Boolean(e&&e.match(C))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),d=null!=p&&p.itemUrl&&!f?"go":"search";return Ee({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:d,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:l,type:"search",onChange:function(e){de(Ee({event:e,props:t,query:e.currentTarget.value.slice(0,l),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=ye(e,ve);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=n.environment.document.getElementById("".concat(n.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},u=function(){var e=A(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,u=e.itemUrl,c=e.source;c.onActive(he({event:t,item:n,itemInputValue:i,itemUrl:u,refresh:r,source:c,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?de(he({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),u(),setTimeout(i,0)})):(o.dispatch(t.key,{}),u(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var c=A(o.getState()),l=c.item,s=c.itemInputValue,p=c.itemUrl,f=c.source;if(t.metaKey||t.ctrlKey)void 0!==p&&(f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:p,item:l,state:o.getState()}));else if(t.shiftKey)void 0!==p&&(f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:p,item:l,state:o.getState()}));else if(t.altKey);else{if(void 0!==p)return f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:p,item:l,state:o.getState()});de(he({event:t,nextState:{isOpen:!1},props:n,query:s,refresh:r,store:o},a)).then((function(){f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a))}))}}}(Ee({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:y,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},s)},getPanelProps:function(e){return Ee({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.sourceIndex,o=Ce(n,Se);return Ee({role:"listbox","aria-labelledby":"".concat(a(t.id,r),"-label"),id:"".concat(a(t.id,r),"-list")},o)},getItemProps:function(e){var i=e.item,u=e.source,c=e.sourceIndex,l=Ce(e,we);return Ee({id:"".concat(a(t.id,c),"-item-").concat(i.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=A(r.getState());if(null!==r.getState().activeItemId&&t){var a=t.item,u=t.itemInputValue,c=t.itemUrl,l=t.source;l.onActive(Ee({event:e,item:a,itemInputValue:u,itemUrl:c,refresh:n,source:l,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=u.getItemInputValue({item:i,state:r.getState()}),c=u.getItemUrl({item:i,state:r.getState()});(c?Promise.resolve():de(Ee({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){u.onSelect(Ee({event:e,item:i,itemInputValue:a,itemUrl:c,refresh:n,source:u,state:r.getState()},o))}))}},l)}}}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e){var t,n,r,o,a=e.plugins,i=e.options,u=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,c=u?qe({},u,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:xe({"autocomplete-core":Object.keys(i)},c),ua:O.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function Re(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=A(n))||void 0===t?void 0:t.itemInputValue)||null}function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(n),!0).forEach((function(t){Le(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Le(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fe=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Te(Te({},e),{},{activeItemId:t.payload});case"setQuery":return Te(Te({},e),{},{query:t.payload,completion:null});case"setCollections":return Te(Te({},e),{},{collections:t.payload});case"setIsOpen":return Te(Te({},e),{},{isOpen:t.payload});case"setStatus":return Te(Te({},e),{},{status:t.payload});case"setContext":return Te(Te({},e),{},{context:Te(Te({},e.context),t.payload)});case"ArrowDown":var n=Te(Te({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:S(1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return Te(Te({},n),{},{completion:Re({state:n})});case"ArrowUp":var r=Te(Te({},e),{},{activeItemId:S(-1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return Te(Te({},r),{},{completion:Re({state:r})});case"Escape":return e.isOpen?Te(Te({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Te(Te({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Te(Te({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Te(Te({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return Te(Te({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Te(Te({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Te(Te({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ve(e){var t=[],n=W(e,t),r=R(Fe,n,(function(e){var t=e.prevState,r=e.state;n.onStateChange(Ue({prevState:t,state:r,refresh:i,navigator:n.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return T(T({},e),{},{items:d(e.items).map((function(e){return T(T({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=De(Ue({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return de(Ue({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}return n.plugins.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Ue(Ue({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Ne({plugins:n.plugins,options:e}),environment:n.environment}),Ue(Ue({refresh:i,navigator:n.navigator},a),o)}var We=function(e,t,n,r){var o;t[0]=0;for(var a=1;a<t.length;a++){var i=t[a++],u=t[a]?(t[0]|=i?1:2,n[t[a++]]):t[++a];3===i?r[0]=u:4===i?r[1]=Object.assign(r[1]||{},u):5===i?(r[1]=r[1]||{})[t[++a]]=u:6===i?r[1][t[++a]]+=u+"":i?(o=e.apply(u,We(e,u,n,["",null])),r.push(o),u[0]?t[0]|=2:(t[a-2]=0,t[a]=o)):r.push(u)}return r},Qe=new Map;function $e(e){var t=Qe.get(this);return t||(t=new Map,Qe.set(this,t)),(t=We(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,o="",a="",i=[0],u=function(e){1===r&&(e||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?i.push(0,e,o):3===r&&(e||o)?(i.push(3,e,o),r=2):2===r&&"..."===o&&e?i.push(4,e,0):2===r&&o&&!e?i.push(5,0,!0,o):r>=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},c=0;c<e.length;c++){c&&(1===r&&u(),u(c));for(var l=0;l<e[c].length;l++)t=e[c][l],1===r?"<"===t?(u(),i=[i],r=3):o+=t:4===r?"--"===o&&">"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(u(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[c][l+1])?(u(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(u(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return u(),i}(e)),t),arguments,[])).length>1?t:t[0]}var ze=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n};function Ge(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function Ke(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];r!==o&&(e[n]=[r,o].filter(Boolean).join(" "))})),e}),{})}var Je=function(e){return e&&"object"===r(e)&&"[object Object]"===Object.prototype.toString.call(e)};function Ye(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];Array.isArray(r)&&Array.isArray(o)?e[n]=r.concat.apply(r,c(o)):Je(r)&&Je(o)?e[n]=Ye(r,o):e[n]=o})),e}),{})}function Xe(e,t){return Object.entries(e).reduce((function(e,r){var a=u(r,2),i=a[0],c=a[1];return t({key:i,value:c})?n(n({},e),{},o({},i,c)):e}),{})}var Ze=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function et(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function tt(e){this._listeners[e.type](e)}function nt(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||et(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Ze.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,tt,r):e.removeEventListener(t,tt,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function rt(e){return"onChange"===e?"onInput":e}function ot(e,t){for(var n in t)nt(e,rt(n),t[n])}function at(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||nt(e,rt(n),t[n])}var it=["children"];function ut(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=i(n,it),u=e.document.createElement(t);return ot(u,a),u.append.apply(u,c(o)),u}}var ct=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"],lt=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='<circle\n cx="50"\n cy="50"\n fill="none"\n r="35"\n stroke="currentColor"\n stroke-dasharray="164.93361431346415 56.97787143782138"\n stroke-width="6"\n>\n <animateTransform\n attributeName="transform"\n type="rotate"\n repeatCount="indefinite"\n dur="1s"\n values="0 50 50;90 50 50;180 50 50;360 50 50"\n keyTimes="0;0.40;0.65;1"\n />\n</circle>',t},st=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n};function pt(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.classNames,a=e.environment,u=e.isDetached,c=e.placeholder,l=void 0===c?"Search":c,s=e.propGetters,p=e.setIsModalOpen,f=e.state,d=e.translations,v=ut(a),m=s.getRootProps(n({state:f,props:t.getRootProps({})},r)),h=v("div",n({class:o.root},m)),g=v("div",{class:o.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),y=v("div",{class:o.detachedOverlay,children:[g],onMouseDown:function(){p(!1),t.setIsOpen(!1)}}),b=s.getLabelProps(n({state:f,props:t.getLabelProps({})},r)),O=v("button",{class:o.submitButton,type:"submit",title:d.submitButtonTitle,children:[st({environment:a})]}),_=v("label",n({class:o.label,children:[O]},b)),P=v("button",{class:o.clearButton,type:"reset",title:d.clearButtonTitle,children:[ze({environment:a})]}),j=v("div",{class:o.loadingIndicator,children:[lt({environment:a})]}),S=function(e){var t=e.autocompleteScopeApi,r=e.environment;e.classNames;var o=e.getInputProps,a=e.getInputPropsCore,u=e.isDetached,c=e.state,l=i(e,ct),s=ut(r)("input",l),p=o(n({state:c,props:a({inputElement:s}),inputElement:s},t));return ot(s,n(n({},p),{},{onKeyDown:function(e){u&&"Tab"===e.key||p.onKeyDown(e)}})),s}({class:o.input,environment:a,state:f,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:r,isDetached:u}),w=v("div",{class:o.inputWrapperPrefix,children:[_,j]}),I=v("div",{class:o.inputWrapperSuffix,children:[P]}),E=v("div",{class:o.inputWrapper,children:[S]}),A=s.getFormProps(n({state:f,props:t.getFormProps({inputElement:S})},r)),C=v("form",n({class:o.form,children:[w,E,I]},A)),D=s.getPanelProps(n({state:f,props:t.getPanelProps({})},r)),k=v("div",n({class:o.panel},D)),x=v("div",{class:o.detachedSearchButtonQuery,textContent:f.query}),q=v("div",{class:o.detachedSearchButtonPlaceholder,hidden:Boolean(f.query),textContent:l});if(u){var N=v("div",{class:o.detachedSearchButtonIcon,children:[st({environment:a})]}),R=v("button",{type:"button",class:o.detachedSearchButton,onClick:function(){p(!0)},children:[N,q,x]}),B=v("button",{type:"button",class:o.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),p(!1)}}),T=v("div",{class:o.detachedFormContainer,children:[C,B]});g.appendChild(T),h.appendChild(R)}else h.appendChild(C);return{detachedContainer:g,detachedOverlay:y,detachedSearchButtonQuery:x,detachedSearchButtonPlaceholder:q,inputWrapper:E,input:S,root:h,form:C,label:_,submitButton:O,clearButton:P,loadingIndicator:j,panel:k}}var ft,dt,vt,mt,ht,gt,yt={},bt=[],Ot=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function _t(e,t){for(var n in t)e[n]=t[n];return e}function Pt(e){var t=e.parentNode;t&&t.removeChild(e)}function jt(e,t,n){var r,o,a,i={};for(a in t)"key"==a?r=t[a]:"ref"==a?o=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?ft.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return St(e,i,r,o,null)}function St(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++vt:o};return null==o&&null!=dt.vnode&&dt.vnode(a),a}function wt(e){return e.children}function It(e,t){this.props=e,this.context=t}function Et(e,t){if(null==t)return e.__?Et(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?Et(e):null}function At(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return At(e)}}function Ct(e){(!e.__d&&(e.__d=!0)&&mt.push(e)&&!Dt.__r++||gt!==dt.debounceRendering)&&((gt=dt.debounceRendering)||ht)(Dt)}function Dt(){for(var e;Dt.__r=mt.length;)e=mt.sort((function(e,t){return e.__v.__b-t.__v.__b})),mt=[],e.some((function(e){var t,n,r,o,a,i;e.__d&&(a=(o=(t=e).__v).__e,(i=t.__P)&&(n=[],(r=_t({},o)).__v=o.__v+1,Lt(i,o,r,t.__n,void 0!==i.ownerSVGElement,null!=o.__h?[a]:null,n,null==a?Et(o):a,o.__h),Ft(n,o),o.__e!=a&&At(o)))}))}function kt(e,t,n,r,o,a,i,u,c,l){var s,p,f,d,v,m,h,g=r&&r.__k||bt,y=g.length;for(n.__k=[],s=0;s<t.length;s++)if(null!=(d=n.__k[s]=null==(d=t[s])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d||"bigint"==typeof d?St(null,d,null,null,d):Array.isArray(d)?St(wt,{children:d},null,null,null):d.__b>0?St(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(f=g[s])||f&&d.key==f.key&&d.type===f.type)g[s]=void 0;else for(p=0;p<y;p++){if((f=g[p])&&d.key==f.key&&d.type===f.type){g[p]=void 0;break}f=null}Lt(e,d,f=f||yt,o,a,i,u,c,l),v=d.__e,(p=d.ref)&&f.ref!=p&&(h||(h=[]),f.ref&&h.push(f.ref,null,d),h.push(p,d.__c||v,d)),null!=v?(null==m&&(m=v),"function"==typeof d.type&&d.__k===f.__k?d.__d=c=xt(d,c,e):c=qt(e,d,f,g,v,c),"function"==typeof n.type&&(n.__d=c)):c&&f.__e==c&&c.parentNode!=e&&(c=Et(f))}for(n.__e=m,s=y;s--;)null!=g[s]&&("function"==typeof n.type&&null!=g[s].__e&&g[s].__e==n.__d&&(n.__d=Et(r,s+1)),Ht(g[s],g[s]));if(h)for(s=0;s<h.length;s++)Ut(h[s],h[++s],h[++s])}function xt(e,t,n){for(var r,o=e.__k,a=0;o&&a<o.length;a++)(r=o[a])&&(r.__=e,t="function"==typeof r.type?xt(r,t,n):qt(n,r,r,o,r.__e,t));return t}function qt(e,t,n,r,o,a){var i,u,c;if(void 0!==t.__d)i=t.__d,t.__d=void 0;else if(null==n||o!=a||null==o.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(o),i=null;else{for(u=a,c=0;(u=u.nextSibling)&&c<r.length;c+=2)if(u==o)break e;e.insertBefore(o,a),i=a}return void 0!==i?i:o.nextSibling}function Nt(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||Ot.test(t)?n:n+"px"}function Rt(e,t,n,r,o){var a;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Nt(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Nt(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])a=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?Tt:Bt,a):e.removeEventListener(t,a?Tt:Bt,a);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function Bt(e){this.l[e.type+!1](dt.event?dt.event(e):e)}function Tt(e){this.l[e.type+!0](dt.event?dt.event(e):e)}function Lt(e,t,n,r,o,a,i,u,c){var l,s,p,f,d,v,m,h,g,y,b,O=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,u=t.__e=n.__e,t.__h=null,a=[u]),(l=dt.__b)&&l(t);try{e:if("function"==typeof O){if(h=t.props,g=(l=O.contextType)&&r[l.__c],y=l?g?g.props.value:l.__:r,n.__c?m=(s=t.__c=n.__c).__=s.__E:("prototype"in O&&O.prototype.render?t.__c=s=new O(h,y):(t.__c=s=new It(h,y),s.constructor=O,s.render=Vt),g&&g.sub(s),s.props=h,s.state||(s.state={}),s.context=y,s.__n=r,p=s.__d=!0,s.__h=[]),null==s.__s&&(s.__s=s.state),null!=O.getDerivedStateFromProps&&(s.__s==s.state&&(s.__s=_t({},s.__s)),_t(s.__s,O.getDerivedStateFromProps(h,s.__s))),f=s.props,d=s.state,p)null==O.getDerivedStateFromProps&&null!=s.componentWillMount&&s.componentWillMount(),null!=s.componentDidMount&&s.__h.push(s.componentDidMount);else{if(null==O.getDerivedStateFromProps&&h!==f&&null!=s.componentWillReceiveProps&&s.componentWillReceiveProps(h,y),!s.__e&&null!=s.shouldComponentUpdate&&!1===s.shouldComponentUpdate(h,s.__s,y)||t.__v===n.__v){s.props=h,s.state=s.__s,t.__v!==n.__v&&(s.__d=!1),s.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),s.__h.length&&i.push(s);break e}null!=s.componentWillUpdate&&s.componentWillUpdate(h,s.__s,y),null!=s.componentDidUpdate&&s.__h.push((function(){s.componentDidUpdate(f,d,v)}))}s.context=y,s.props=h,s.state=s.__s,(l=dt.__r)&&l(t),s.__d=!1,s.__v=t,s.__P=e,l=s.render(s.props,s.state,s.context),s.state=s.__s,null!=s.getChildContext&&(r=_t(_t({},r),s.getChildContext())),p||null==s.getSnapshotBeforeUpdate||(v=s.getSnapshotBeforeUpdate(f,d)),b=null!=l&&l.type===wt&&null==l.key?l.props.children:l,kt(e,Array.isArray(b)?b:[b],t,n,r,o,a,i,u,c),s.base=t.__e,t.__h=null,s.__h.length&&i.push(s),m&&(s.__E=s.__=null),s.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Mt(n.__e,t,n,r,o,a,i,c);(l=dt.diffed)&&l(t)}catch(e){t.__v=null,(c||null!=a)&&(t.__e=u,t.__h=!!c,a[a.indexOf(u)]=null),dt.__e(e,t,n)}}function Ft(e,t){dt.__c&&dt.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){dt.__e(e,t.__v)}}))}function Mt(e,t,n,r,o,a,i,u){var c,l,s,p=n.props,f=t.props,d=t.type,v=0;if("svg"===d&&(o=!0),null!=a)for(;v<a.length;v++)if((c=a[v])&&"setAttribute"in c==!!d&&(d?c.localName===d:3===c.nodeType)){e=c,a[v]=null;break}if(null==e){if(null===d)return document.createTextNode(f);e=o?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,f.is&&f),a=null,u=!1}if(null===d)p===f||u&&e.data===f||(e.data=f);else{if(a=a&&ft.call(e.childNodes),l=(p=n.props||yt).dangerouslySetInnerHTML,s=f.dangerouslySetInnerHTML,!u){if(null!=a)for(p={},v=0;v<e.attributes.length;v++)p[e.attributes[v].name]=e.attributes[v].value;(s||l)&&(s&&(l&&s.__html==l.__html||s.__html===e.innerHTML)||(e.innerHTML=s&&s.__html||""))}if(function(e,t,n,r,o){var a;for(a in n)"children"===a||"key"===a||a in t||Rt(e,a,null,n[a],r);for(a in t)o&&"function"!=typeof t[a]||"children"===a||"key"===a||"value"===a||"checked"===a||n[a]===t[a]||Rt(e,a,t[a],n[a],r)}(e,f,p,o,u),s)t.__k=[];else if(v=t.props.children,kt(e,Array.isArray(v)?v:[v],t,n,r,o&&"foreignObject"!==d,a,i,a?a[0]:n.__k&&Et(n,0),u),null!=a)for(v=a.length;v--;)null!=a[v]&&Pt(a[v]);u||("value"in f&&void 0!==(v=f.value)&&(v!==p.value||v!==e.value||"progress"===d&&!v)&&Rt(e,"value",v,p.value,!1),"checked"in f&&void 0!==(v=f.checked)&&v!==e.checked&&Rt(e,"checked",v,p.checked,!1))}return e}function Ut(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){dt.__e(e,n)}}function Ht(e,t,n){var r,o;if(dt.unmount&&dt.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Ut(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){dt.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&Ht(r[o],t,"function"!=typeof e.type);n||null==e.__e||Pt(e.__e),e.__e=e.__d=void 0}function Vt(e,t,n){return this.constructor(e,n)}ft=bt.slice,dt={__e:function(e,t){for(var n,r,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),o=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),o=n.__d),o)return n.__E=n}catch(t){e=t}throw e}},vt=0,It.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=_t({},this.state),"function"==typeof e&&(e=e(_t({},n),this.props)),e&&_t(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),Ct(this))},It.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ct(this))},It.prototype.render=wt,mt=[],ht="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Dt.__r=0;var Wt="__aa-highlight__",Qt="__/aa-highlight__";function $t(e){var t=e.highlightedValue.split(Wt),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Qt);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function zt(e){return function(e){if(Array.isArray(e))return Gt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Kt(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=h(t,["_highlightResult"].concat(zt(r),["value"]));return"string"!=typeof o&&(o=h(t,r)||""),$t({highlightedValue:o})}var Jt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Yt=new RegExp(/\w/i),Xt=/&(amp|quot|lt|gt|#39);/g,Zt=RegExp(Xt.source);function en(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,u=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return Yt.test((o=a.value)&&Zt.test(o)?o.replace(Xt,(function(e){return Jt[e]})):o)||u!==i?a.isHighlighted:u}function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tn(Object(n),!0).forEach((function(t){rn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function on(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return nn(nn({},t),{},{isHighlighted:!en(e,n)})})):e.map((function(e){return nn(nn({},e),{},{isHighlighted:!1})}))}function an(e){return function(e){if(Array.isArray(e))return un(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return un(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function cn(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=h(t,["_snippetResult"].concat(an(r),["value"]));return"string"!=typeof o&&(o=h(t,r)||""),$t({highlightedValue:o})}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach((function(t){pn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fn=["params"];function dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dn(Object(n),!0).forEach((function(t){mn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gn(e){return function(e){if(Array.isArray(e))return yn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return yn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bn(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},Kt({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Highlight",r}function On(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},on(Kt(r))).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseHighlight",r}function _n(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},on(cn(r))).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseSnippet",r}function Pn(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},cn({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Snippet",r}var jn=["classNames","container","getEnvironmentProps","getFormProps","getInputProps","getItemProps","getLabelProps","getListProps","getPanelProps","getRootProps","panelContainer","panelPlacement","render","renderNoResults","renderer","detachedMediaQuery","components","translations"],Sn={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},wn=function(e,t){var n=e.children;(0,e.render)(n,t)},In={createElement:jt,Fragment:wt,render:function(e,t,n){var r,o,a;dt.__&&dt.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,a=[],Lt(t,e=(!r&&n||t).__k=jt(wt,null,[e]),o||yt,yt,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?ft.call(t.childNodes):null,a,!r&&n?n:o?o.__e:t.firstChild,r),Ft(a,e)}};function En(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var u=r.getBoundingClientRect();return{top:i,left:u.left,right:o.document.documentElement.clientWidth-(u.left+u.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}var An=[{segment:"autocomplete-js",version:b}],Cn=["components"];var Dn=function(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map((function(e){return e.query}))}).then((function(e){return e.map((function(e,n){var r=t.requests[n];return{items:e,sourceId:r.sourceId,transformResponse:r.transformResponse}}))}))}return function(e){return function(r){return sn(sn({requesterId:t,execute:n},e),r)}}}((function(e){return function(e){var t=e.searchClient,n=e.queries,r=e.userAgents,o=void 0===r?[]:r;return"function"==typeof t.addAlgoliaAgent&&[].concat(gn(O),gn(o)).forEach((function(e){var n=e.segment,r=e.version;t.addAlgoliaAgent(n,r)})),t.search(n.map((function(e){var t=e.params;return vn(vn({},hn(e,fn)),{},{params:vn({hitsPerPage:5,highlightPreTag:Wt,highlightPostTag:Qt},t)})}))).then((function(e){return e.results}))}(n(n({},e),{},{userAgents:An}))}),"algolia");var kn=Dn({transformResponse:function(e){return e.hits}});e.autocomplete=function(e){var t,r=function(){var e=[],t=[];function n(n){e.push(n);var r=n();t.push(r)}return{runEffect:n,cleanupEffects:function(){var e=t;t=[],e.forEach((function(e){e()}))},runEffects:function(){var t=e;e=[],t.forEach((function(e){n(e)}))}}}(),u=r.runEffect,c=r.cleanupEffects,l=r.runEffects,s=(t=[],{reactive:function(e){var n=e(),r={_fn:e,_ref:{current:n},get value(){return this._ref.current},set value(e){this._ref.current=e}};return t.push(r),r},runReactives:function(){t.forEach((function(e){e._ref.current=e._fn()}))}}),d=s.reactive,v=s.runReactives,h=p(!1),y=p(e),b=p(void 0),O=d((function(){return function(e){var t,r=e.classNames,o=e.container,a=e.getEnvironmentProps,u=e.getFormProps,c=e.getInputProps,l=e.getItemProps,s=e.getLabelProps,p=e.getListProps,f=e.getPanelProps,d=e.getRootProps,v=e.panelContainer,h=e.panelPlacement,g=e.render,y=e.renderNoResults,b=e.renderer,O=e.detachedMediaQuery,_=e.components,P=e.translations,j=i(e,jn),S="undefined"!=typeof window?window:{},w=Ge(S,o);w.tagName;var I=n(n({},In),b),E={Highlight:bn(I),ReverseHighlight:On(I),ReverseSnippet:_n(I),Snippet:Pn(I)};return{renderer:{classNames:Ke(Sn,null!=r?r:{}),container:w,getEnvironmentProps:null!=a?a:function(e){return e.props},getFormProps:null!=u?u:function(e){return e.props},getInputProps:null!=c?c:function(e){return e.props},getItemProps:null!=l?l:function(e){return e.props},getLabelProps:null!=s?s:function(e){return e.props},getListProps:null!=p?p:function(e){return e.props},getPanelProps:null!=f?f:function(e){return e.props},getRootProps:null!=d?d:function(e){return e.props},panelContainer:v?Ge(S,v):S.document.body,panelPlacement:null!=h?h:"input-wrapper-width",render:null!=g?g:wn,renderNoResults:y,renderer:I,detachedMediaQuery:null!=O?O:getComputedStyle(S.document.documentElement).getPropertyValue("--aa-detached-media-query"),components:n(n({},E),_),translations:n(n({},{clearButtonTitle:"Clear",detachedCancelButtonText:"Cancel",submitButtonTitle:"Submit"}),P)},core:n(n({},j),{},{id:null!==(t=j.id)&&void 0!==t?t:m(),environment:S})}}(y.current)})),_=d((function(){return O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches})),P=d((function(){return Ve(n(n({},O.value.core),{},{onStateChange:function(e){var t,n,r;h.current=e.state.collections.some((function(e){return e.source.templates.noResults})),null===(t=b.current)||void 0===t||t.call(b,e),null===(n=(r=O.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:y.current.shouldPanelOpen||function(e){var t=e.state;if(_.value)return!0;var n=g(t)>0;if(!O.value.core.openOnFocus&&!t.query)return n;var r=Boolean(h.current||O.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:An,options:e}}))})),j=p(n({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},O.value.core.initialState)),S={getEnvironmentProps:O.value.renderer.getEnvironmentProps,getFormProps:O.value.renderer.getFormProps,getInputProps:O.value.renderer.getInputProps,getItemProps:O.value.renderer.getItemProps,getLabelProps:O.value.renderer.getLabelProps,getListProps:O.value.renderer.getListProps,getPanelProps:O.value.renderer.getPanelProps,getRootProps:O.value.renderer.getRootProps},w={setActiveItemId:P.value.setActiveItemId,setQuery:P.value.setQuery,setCollections:P.value.setCollections,setIsOpen:P.value.setIsOpen,setStatus:P.value.setStatus,setContext:P.value.setContext,refresh:P.value.refresh,navigator:P.value.navigator},I=d((function(){return $e.bind(O.value.renderer.renderer.createElement)})),E=d((function(){return pt({autocomplete:P.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,environment:O.value.core.environment,isDetached:_.value,placeholder:O.value.core.placeholder,propGetters:S,setIsModalOpen:k,state:j.current,translations:O.value.renderer.translations})}));function A(){ot(E.value.panel,{style:_.value?{}:En({panelPlacement:O.value.renderer.panelPlacement,container:E.value.root,form:E.value.form,environment:O.value.core.environment})})}function C(e){j.current=e;var t={autocomplete:P.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,components:O.value.renderer.components,container:O.value.renderer.container,html:I.value,dom:E.value,panelContainer:_.value?E.value.detachedContainer:O.value.renderer.panelContainer,propGetters:S,state:j.current,renderer:O.value.renderer.renderer},r=!g(e)&&!h.current&&O.value.renderer.renderNoResults||O.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.dom,a=e.propGetters,i=e.state;at(o.root,a.getRootProps(n({state:i,props:t.getRootProps({})},r))),at(o.input,a.getInputProps(n({state:i,props:t.getInputProps({inputElement:o.input}),inputElement:o.input},r))),ot(o.label,{hidden:"stalled"===i.status}),ot(o.loadingIndicator,{hidden:"stalled"!==i.status}),ot(o.clearButton,{hidden:!i.query}),ot(o.detachedSearchButtonQuery,{textContent:i.query}),ot(o.detachedSearchButtonPlaceholder,{hidden:Boolean(i.query)})}(t),function(e,t){var r=t.autocomplete,o=t.autocompleteScopeApi,i=t.classNames,u=t.html,c=t.dom,l=t.panelContainer,s=t.propGetters,p=t.state,f=t.components,d=t.renderer;if(p.isOpen){l.contains(c.panel)||"loading"===p.status||l.appendChild(c.panel),c.panel.classList.toggle("aa-Panel--stalled","stalled"===p.status);var v=p.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var c=e.source,l=e.items;return d.createElement("section",{key:t,className:i.source,"data-autocomplete-source-id":c.sourceId},c.templates.header&&d.createElement("div",{className:i.sourceHeader},c.templates.header({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:u})),c.templates.noResults&&0===l.length?d.createElement("div",{className:i.sourceNoResults},c.templates.noResults({components:f,createElement:d.createElement,Fragment:d.Fragment,source:c,state:p,html:u})):d.createElement("ul",a({className:i.list},s.getListProps(n({state:p,props:r.getListProps({sourceIndex:t})},o))),l.map((function(e){var l=r.getItemProps({item:e,source:c,sourceIndex:t});return d.createElement("li",a({key:l.id,className:i.item},s.getItemProps(n({state:p,props:l},o))),c.templates.item({components:f,createElement:d.createElement,Fragment:d.Fragment,item:e,state:p,html:u}))}))),c.templates.footer&&d.createElement("div",{className:i.sourceFooter},c.templates.footer({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:u})))})),m=d.createElement(d.Fragment,null,d.createElement("div",{className:i.panelLayout},v),d.createElement("div",{className:"aa-GradientBottom"})),h=v.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(n(n({children:m,state:p,sections:v,elements:h},d),{},{components:f,html:u},o),c.panel)}else l.contains(c.panel)&&l.removeChild(c.panel)}(r,t)}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c();var t=O.value.renderer,n=t.components,r=i(t,Cn);y.current=Ye(r,O.value.core,{components:Xe(n,(function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")})),initialState:j.current},e),v(),l(),P.value.refresh().then((function(){C(j.current)}))}function k(e){requestAnimationFrame((function(){var t=O.value.core.environment.document.body.contains(E.value.detachedOverlay);e!==t&&(e?(O.value.core.environment.document.body.appendChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.add("aa-Detached"),E.value.input.focus()):(O.value.core.environment.document.body.removeChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return u((function(){var e=P.value.getEnvironmentProps({formElement:E.value.form,panelElement:E.value.panel,inputElement:E.value.input});return ot(O.value.core.environment,e),function(){ot(O.value.core.environment,Object.keys(e).reduce((function(e,t){return n(n({},e),{},o({},t,void 0))}),{}))}})),u((function(){var e=_.value?O.value.core.environment.document.body:O.value.renderer.panelContainer,t=_.value?E.value.detachedOverlay:E.value.panel;return _.value&&j.current.isOpen&&k(!0),C(j.current),function(){e.contains(t)&&e.removeChild(t)}})),u((function(){var e=O.value.renderer.container;return e.appendChild(E.value.root),function(){e.removeChild(E.value.root)}})),u((function(){var e=f((function(e){C(e.state)}),0);return b.current=function(t){var n=t.state,r=t.prevState;(_.value&&r.isOpen!==n.isOpen&&k(n.isOpen),_.value||!n.isOpen||r.isOpen||A(),n.query!==r.query)&&O.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){b.current=void 0}})),u((function(){var e=f((function(){var e=_.value;_.value=O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches,e!==_.value?D({}):requestAnimationFrame(A)}),20);return O.value.core.environment.addEventListener("resize",e),function(){O.value.core.environment.removeEventListener("resize",e)}})),u((function(){if(!_.value)return function(){};function e(e){E.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=O.value.core.environment.matchMedia(getComputedStyle(O.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),u((function(){return requestAnimationFrame(A),function(){}})),n(n({},w),{},{update:D,destroy:function(){c()}})},e.getAlgoliaFacets=function(e){var t=Dn({transformResponse:function(e){return e.facetHits}}),r=e.queries.map((function(e){return n(n({},e),{},{type:"facet"})}));return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=kn,Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=index.production.js.map diff --git a/themes/itheme/static/js/md5.js b/themes/itheme/static/js/md5.js new file mode 100644 index 0000000..6876bc3 --- /dev/null +++ b/themes/itheme/static/js/md5.js @@ -0,0 +1,184 @@ +function md5cycle(x, k) { +var a = x[0], b = x[1], c = x[2], d = x[3]; + +a = ff(a, b, c, d, k[0], 7, -680876936); +d = ff(d, a, b, c, k[1], 12, -389564586); +c = ff(c, d, a, b, k[2], 17, 606105819); +b = ff(b, c, d, a, k[3], 22, -1044525330); +a = ff(a, b, c, d, k[4], 7, -176418897); +d = ff(d, a, b, c, k[5], 12, 1200080426); +c = ff(c, d, a, b, k[6], 17, -1473231341); +b = ff(b, c, d, a, k[7], 22, -45705983); +a = ff(a, b, c, d, k[8], 7, 1770035416); +d = ff(d, a, b, c, k[9], 12, -1958414417); +c = ff(c, d, a, b, k[10], 17, -42063); +b = ff(b, c, d, a, k[11], 22, -1990404162); +a = ff(a, b, c, d, k[12], 7, 1804603682); +d = ff(d, a, b, c, k[13], 12, -40341101); +c = ff(c, d, a, b, k[14], 17, -1502002290); +b = ff(b, c, d, a, k[15], 22, 1236535329); + +a = gg(a, b, c, d, k[1], 5, -165796510); +d = gg(d, a, b, c, k[6], 9, -1069501632); +c = gg(c, d, a, b, k[11], 14, 643717713); +b = gg(b, c, d, a, k[0], 20, -373897302); +a = gg(a, b, c, d, k[5], 5, -701558691); +d = gg(d, a, b, c, k[10], 9, 38016083); +c = gg(c, d, a, b, k[15], 14, -660478335); +b = gg(b, c, d, a, k[4], 20, -405537848); +a = gg(a, b, c, d, k[9], 5, 568446438); +d = gg(d, a, b, c, k[14], 9, -1019803690); +c = gg(c, d, a, b, k[3], 14, -187363961); +b = gg(b, c, d, a, k[8], 20, 1163531501); +a = gg(a, b, c, d, k[13], 5, -1444681467); +d = gg(d, a, b, c, k[2], 9, -51403784); +c = gg(c, d, a, b, k[7], 14, 1735328473); +b = gg(b, c, d, a, k[12], 20, -1926607734); + +a = hh(a, b, c, d, k[5], 4, -378558); +d = hh(d, a, b, c, k[8], 11, -2022574463); +c = hh(c, d, a, b, k[11], 16, 1839030562); +b = hh(b, c, d, a, k[14], 23, -35309556); +a = hh(a, b, c, d, k[1], 4, -1530992060); +d = hh(d, a, b, c, k[4], 11, 1272893353); +c = hh(c, d, a, b, k[7], 16, -155497632); +b = hh(b, c, d, a, k[10], 23, -1094730640); +a = hh(a, b, c, d, k[13], 4, 681279174); +d = hh(d, a, b, c, k[0], 11, -358537222); +c = hh(c, d, a, b, k[3], 16, -722521979); +b = hh(b, c, d, a, k[6], 23, 76029189); +a = hh(a, b, c, d, k[9], 4, -640364487); +d = hh(d, a, b, c, k[12], 11, -421815835); +c = hh(c, d, a, b, k[15], 16, 530742520); +b = hh(b, c, d, a, k[2], 23, -995338651); + +a = ii(a, b, c, d, k[0], 6, -198630844); +d = ii(d, a, b, c, k[7], 10, 1126891415); +c = ii(c, d, a, b, k[14], 15, -1416354905); +b = ii(b, c, d, a, k[5], 21, -57434055); +a = ii(a, b, c, d, k[12], 6, 1700485571); +d = ii(d, a, b, c, k[3], 10, -1894986606); +c = ii(c, d, a, b, k[10], 15, -1051523); +b = ii(b, c, d, a, k[1], 21, -2054922799); +a = ii(a, b, c, d, k[8], 6, 1873313359); +d = ii(d, a, b, c, k[15], 10, -30611744); +c = ii(c, d, a, b, k[6], 15, -1560198380); +b = ii(b, c, d, a, k[13], 21, 1309151649); +a = ii(a, b, c, d, k[4], 6, -145523070); +d = ii(d, a, b, c, k[11], 10, -1120210379); +c = ii(c, d, a, b, k[2], 15, 718787259); +b = ii(b, c, d, a, k[9], 21, -343485551); + +x[0] = add32(a, x[0]); +x[1] = add32(b, x[1]); +x[2] = add32(c, x[2]); +x[3] = add32(d, x[3]); + +} + +function cmn(q, a, b, x, s, t) { +a = add32(add32(a, q), add32(x, t)); +return add32((a << s) | (a >>> (32 - s)), b); +} + +function ff(a, b, c, d, x, s, t) { +return cmn((b & c) | ((~b) & d), a, b, x, s, t); +} + +function gg(a, b, c, d, x, s, t) { +return cmn((b & d) | (c & (~d)), a, b, x, s, t); +} + +function hh(a, b, c, d, x, s, t) { +return cmn(b ^ c ^ d, a, b, x, s, t); +} + +function ii(a, b, c, d, x, s, t) { +return cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +function md51(s) { +txt = ''; +var n = s.length, +state = [1732584193, -271733879, -1732584194, 271733878], i; +for (i=64; i<=s.length; i+=64) { +md5cycle(state, md5blk(s.substring(i-64, i))); +} +s = s.substring(i-64); +var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; +for (i=0; i<s.length; i++) +tail[i>>2] |= s.charCodeAt(i) << ((i%4) << 3); +tail[i>>2] |= 0x80 << ((i%4) << 3); +if (i > 55) { +md5cycle(state, tail); +for (i=0; i<16; i++) tail[i] = 0; +} +tail[14] = n*8; +md5cycle(state, tail); +return state; +} + +/* there needs to be support for Unicode here, + * unless we pretend that we can redefine the MD-5 + * algorithm for multi-byte characters (perhaps + * by adding every four 16-bit characters and + * shortening the sum to 32 bits). Otherwise + * I suggest performing MD-5 as if every character + * was two bytes--e.g., 0040 0025 = @%--but then + * how will an ordinary MD-5 sum be matched? + * There is no way to standardize text to something + * like UTF-8 before transformation; speed cost is + * utterly prohibitive. The JavaScript standard + * itself needs to look at this: it should start + * providing access to strings as preformed UTF-8 + * 8-bit unsigned value arrays. + */ +function md5blk(s) { /* I figured global was faster. */ +var md5blks = [], i; /* Andy King said do it this way. */ +for (i=0; i<64; i+=4) { +md5blks[i>>2] = s.charCodeAt(i) ++ (s.charCodeAt(i+1) << 8) ++ (s.charCodeAt(i+2) << 16) ++ (s.charCodeAt(i+3) << 24); +} +return md5blks; +} + +var hex_chr = '0123456789abcdef'.split(''); + +function rhex(n) +{ +var s='', j=0; +for(; j<4; j++) +s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] ++ hex_chr[(n >> (j * 8)) & 0x0F]; +return s; +} + +function hex(x) { +for (var i=0; i<x.length; i++) +x[i] = rhex(x[i]); +return x.join(''); +} + +function md5(s) { +return hex(md51(s)); +} + +/* this function is much faster, +so if possible we use it. Some IEs +are the only ones I know of that +need the idiotic second function, +generated by an if clause. */ + +function add32(a, b) { +return (a + b) & 0xFFFFFFFF; +} + +if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') { +function add32(x, y) { +var lsw = (x & 0xFFFF) + (y & 0xFFFF), +msw = (x >> 16) + (y >> 16) + (lsw >> 16); +return (msw << 16) | (lsw & 0xFFFF); +} +} |
