Plugin Directory

Changeset 3233048


Ignore:
Timestamp:
02/01/2025 11:50:43 AM (14 months ago)
Author:
benjaminpick
Message:

Release 5.5.0

Location:
geoip-detect/trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • geoip-detect/trunk/data-sources/hostinfo.php

    r2805622 r3233048  
    3737
    3838        if ($data['city']) {
     39            // In USA, region code is part of the city parameter
     40            $cityParts = explode(',', $data['city']);
     41            $data['city'] = trim($cityParts[0]);
     42            if (!empty($cityParts[1])) {
     43                $region = trim($cityParts[1]);
     44                if (!empty($region)) {
     45                    $r['subdivisions'][0] = array(
     46                        'iso_code' => $region,
     47                        'names' => array('en' => $region),
     48                    );
     49                }
     50            }
     51
    3952            $r['city']['names'] = [ 'en' => $data['city'] ];
    4053        }
     
    8194                        $value = '';
    8295                }
     96               
    8397                $hasInfo = $data['country_name'] || $data['country_code'] || $data['city'];
    8498            }
  • geoip-detect/trunk/data-sources/ipstack.php

    r2873920 r3233048  
    8585            $r['country']['iso_code'] = strtoupper($data['country_code']);
    8686           
    87             if (!empty($data['region_code'])) {
     87        if (!empty($data['region_code'])) {
    8888            $r['subdivisions'][0] = array(
    8989                'iso_code' => $data['region_code'],
  • geoip-detect/trunk/geoip-detect.php

    r3136982 r3233048  
    66Author:          Yellow Tree (Benjamin Pick)
    77Author URI:      http://www.yellowtree.de
    8 Version:         5.4.1
     8Version:         5.5.0
    99License:         GPLv3 or later
    1010License URI:     http://www.gnu.org/licenses/gpl-3.0.html
     
    1717*/
    1818
    19 define('GEOIP_DETECT_VERSION', '5.4.1');
     19define('GEOIP_DETECT_VERSION', '5.5.0');
    2020
    2121/*
  • geoip-detect/trunk/js/dist/frontend_base.js.map

    r3112668 r3233048  
    1 {"mappings":"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","sources":["<anon>","js/frontend_base.js","js/lookup/get_info.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/tslib/tslib.es6.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/just-safe-get/index.cjs","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Base\": \n \n A reduced JS file: \n - No shortcodes, no body classes. \n*/ function $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $36539b83e1634a28$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\nfunction $ce3c1b4c7e934d38$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $62173737a43864ee$var$extendStatics = function extendStatics1(d, b) {\n    $62173737a43864ee$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $62173737a43864ee$var$extendStatics(d, b);\n};\nfunction $62173737a43864ee$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $62173737a43864ee$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $62173737a43864ee$export$18ce0697a983be9b = function __assign1() {\n    $62173737a43864ee$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $62173737a43864ee$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $62173737a43864ee$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $62173737a43864ee$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $62173737a43864ee$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $62173737a43864ee$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $62173737a43864ee$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $62173737a43864ee$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $62173737a43864ee$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $62173737a43864ee$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $62173737a43864ee$export$45d3717a4c69092e(o, m, p);\n}\nfunction $62173737a43864ee$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $62173737a43864ee$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $62173737a43864ee$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($62173737a43864ee$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $62173737a43864ee$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $62173737a43864ee$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $62173737a43864ee$export$10c90e4f7922046c(v) {\n    return this instanceof $62173737a43864ee$export$10c90e4f7922046c ? (this.v = v, this) : new $62173737a43864ee$export$10c90e4f7922046c(v);\n}\nfunction $62173737a43864ee$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $62173737a43864ee$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $62173737a43864ee$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $62173737a43864ee$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $62173737a43864ee$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $62173737a43864ee$export$19a8beecd37a4c45 === \"function\" ? $62173737a43864ee$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $62173737a43864ee$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $62173737a43864ee$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $62173737a43864ee$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $62173737a43864ee$export$45d3717a4c69092e(result, mod, k);\n    }\n    $62173737a43864ee$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $62173737a43864ee$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $62173737a43864ee$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $62173737a43864ee$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $62173737a43864ee$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\nfunction $c744d831ac964e3a$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $459462d0493710da$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $459462d0493710da$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $459462d0493710da$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $459462d0493710da$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $0a65997b05368712$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\n\nvar $f55d1d59abc73724$exports = {};\n\n$f55d1d59abc73724$exports = $f55d1d59abc73724$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $f55d1d59abc73724$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $7114dcf2592f929a$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $7114dcf2592f929a$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $7114dcf2592f929a$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $c744d831ac964e3a$export$2996f80ef42b8419)(this, Record);\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $459462d0493710da$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $7114dcf2592f929a$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($f55d1d59abc73724$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $7114dcf2592f929a$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $7114dcf2592f929a$export$2e2bcd8739ae039 = $7114dcf2592f929a$var$Record;\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $77bad6cade3b6dd2$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $77bad6cade3b6dd2$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $77bad6cade3b6dd2$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $77bad6cade3b6dd2$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $77bad6cade3b6dd2$export$49434baf33460b11 = function() {\n    var _ref = (0, $36539b83e1634a28$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $77bad6cade3b6dd2$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $77bad6cade3b6dd2$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $15191b2a1f81108d$var$_window_geoip_detect;\nvar $15191b2a1f81108d$export$41c562ebe57d11e2 = (($15191b2a1f81108d$var$_window_geoip_detect = window.geoip_detect) === null || $15191b2a1f81108d$var$_window_geoip_detect === void 0 ? void 0 : $15191b2a1f81108d$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $17ade8b08da2dc4a$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $17ade8b08da2dc4a$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $17ade8b08da2dc4a$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\n\nvar $35df1ab881cd697b$export$c0c5a36406ccde34 = function() {\n    return (0, $17ade8b08da2dc4a$export$d3720feff416e85b)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name);\n};\nvar $35df1ab881cd697b$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $17ade8b08da2dc4a$export$1f73f60bdb811cb1)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $35df1ab881cd697b$var$lastEvaluated = {};\nvar $35df1ab881cd697b$export$88983ef80f4f72ac = function() {\n    return $35df1ab881cd697b$var$lastEvaluated;\n};\nvar $35df1ab881cd697b$export$7bc079f12f70511d = function() {\n    $35df1ab881cd697b$var$lastEvaluated = $35df1ab881cd697b$export$c0c5a36406ccde34();\n};\nvar $35df1ab881cd697b$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $7114dcf2592f929a$export$2e2bcd8739ae039)($35df1ab881cd697b$export$c0c5a36406ccde34(), (0, $15191b2a1f81108d$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $8e261c2c74b8af80$var$ajaxPromise = null;\nfunction $8e261c2c74b8af80$var$get_info_raw() {\n    if (!$8e261c2c74b8af80$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $8e261c2c74b8af80$var$ajaxPromise = (0, $77bad6cade3b6dd2$export$49434baf33460b11)(url);\n        $8e261c2c74b8af80$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $8e261c2c74b8af80$var$ajaxPromise;\n}\nfunction $8e261c2c74b8af80$export$fba94e0366f5a647() {\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\nfunction $8e261c2c74b8af80$var$_get_info_cached() {\n    $8e261c2c74b8af80$var$_get_info_cached = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $8e261c2c74b8af80$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $35df1ab881cd697b$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\n\n\n\nfunction $76a10a619dfa4fa7$export$3697bcf53517e83c() {\n    return $76a10a619dfa4fa7$var$_get_info.apply(this, arguments);\n}\nfunction $76a10a619dfa4fa7$var$_get_info() {\n    $76a10a619dfa4fa7$var$_get_info = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response, record;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $8e261c2c74b8af80$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    if (typeof response !== \"object\") {\n                        console.error(\"Geolocation IP Detection Error: Record should be an object, not a \" + (typeof response === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(response)), response);\n                        response = {\n                            \"extra\": {\n                                \"error\": response || \"Network error, look at the original server response ...\"\n                            }\n                        };\n                    }\n                    record = new (0, $7114dcf2592f929a$export$2e2bcd8739ae039)(response, (0, $15191b2a1f81108d$export$41c562ebe57d11e2).default_locales);\n                    return [\n                        2,\n                        record\n                    ];\n            }\n        });\n    });\n    return $76a10a619dfa4fa7$var$_get_info.apply(this, arguments);\n}\n\n\nwindow.geoip_detect.get_info = (0, $76a10a619dfa4fa7$export$3697bcf53517e83c);\n\n})();\n//# sourceMappingURL=frontend_base.js.map\n","/*\n Variant \"Base\": \n \n A reduced JS file: \n - No shortcodes, no body classes. \n*/\n\nimport { get_info } from './lookup/get_info';\n\n\nwindow.geoip_detect.get_info = get_info;\n","import Record from '../models/record';\nimport { get_info_cached } from './get_info_cached';\nimport { options } from './options';\n\n/**\n * Load the data from the server\n * \n * (It can also be loaded from the browser localstorage, if the record data is present there already.)\n * \n * @api\n * @return Promise(Record)\n */\nexport async function get_info() {\n    let response = await get_info_cached();\n    if (typeof (response) !== 'object') {\n        console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);\n        response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };\n    }\n\n    const record = new Record(response, options.default_locales);\n    return record;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}"],"names":["$36539b83e1634a28$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$36539b83e1634a28$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$ce3c1b4c7e934d38$export$5f0017c582d45a2d","obj","Symbol","constructor","$62173737a43864ee$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","iterator","n","v","step","op","TypeError","call","pop","length","push","e","$459462d0493710da$var$_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","$0a65997b05368712$export$1e71eb4bef00f6b0","_ref","$15191b2a1f81108d$var$_window_geoip_detect","$f55d1d59abc73724$exports","propsArg","defaultValue","prop","Array","isArray","slice","split","Error","shift","$7114dcf2592f929a$var$_get_localized","ret","locales","names","locale","name","$7114dcf2592f929a$var$Record","protoProps","staticProps","Record","data","default_locales","instance","Constructor","is_empty","_process_locales","default_value","get_with_locales","a","map","x","toLowerCase","replace","join","__esModule","default","_lookup_with_locales","substr","get_raw","console","warn","country","get","prototype","$77bad6cade3b6dd2$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$77bad6cade3b6dd2$export$8fe2eaa78e58529f","str","JSON","parse","$77bad6cade3b6dd2$var$createErrorObject","errorMsg","extra","$77bad6cade3b6dd2$export$49434baf33460b11","_arguments","_state","responseText","$15191b2a1f81108d$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","cookie_duration_in_days","cookie_name","do_body_classes","$17ade8b08da2dc4a$export$1f73f60bdb811cb1","variable","ttl_sec","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$17ade8b08da2dc4a$export$d3720feff416e85b","getItem","removeItem","$35df1ab881cd697b$export$c0c5a36406ccde34","$35df1ab881cd697b$export$bfae0a1e3adc82ee","cache_duration","$8e261c2c74b8af80$var$ajaxPromise","$8e261c2c74b8af80$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","log","responseJSON","$76a10a619dfa4fa7$var$_get_info","get_info"],"version":3,"file":"frontend_base.js.map"}
     1{"mappings":"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","sources":["<anon>","js/frontend_base.js","js/lookup/get_info.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/tslib/tslib.es6.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/just-safe-get/index.cjs","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Base\": \n \n A reduced JS file: \n - No shortcodes, no body classes. \n*/ function $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $9d998481b0dad3fe$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\nfunction $e9b7c4456bbf1b23$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $8bfa850c9b09c237$var$extendStatics = function extendStatics1(d, b) {\n    $8bfa850c9b09c237$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $8bfa850c9b09c237$var$extendStatics(d, b);\n};\nfunction $8bfa850c9b09c237$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $8bfa850c9b09c237$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $8bfa850c9b09c237$export$18ce0697a983be9b = function __assign1() {\n    $8bfa850c9b09c237$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $8bfa850c9b09c237$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $8bfa850c9b09c237$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $8bfa850c9b09c237$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $8bfa850c9b09c237$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $8bfa850c9b09c237$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $8bfa850c9b09c237$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $8bfa850c9b09c237$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $8bfa850c9b09c237$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $8bfa850c9b09c237$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $8bfa850c9b09c237$export$45d3717a4c69092e(o, m, p);\n}\nfunction $8bfa850c9b09c237$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $8bfa850c9b09c237$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($8bfa850c9b09c237$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $8bfa850c9b09c237$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $8bfa850c9b09c237$export$10c90e4f7922046c(v) {\n    return this instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? (this.v = v, this) : new $8bfa850c9b09c237$export$10c90e4f7922046c(v);\n}\nfunction $8bfa850c9b09c237$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $8bfa850c9b09c237$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $8bfa850c9b09c237$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $8bfa850c9b09c237$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $8bfa850c9b09c237$export$19a8beecd37a4c45 === \"function\" ? $8bfa850c9b09c237$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $8bfa850c9b09c237$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $8bfa850c9b09c237$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $8bfa850c9b09c237$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $8bfa850c9b09c237$export$45d3717a4c69092e(result, mod, k);\n    }\n    $8bfa850c9b09c237$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $8bfa850c9b09c237$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $8bfa850c9b09c237$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $8bfa850c9b09c237$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $8bfa850c9b09c237$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\nfunction $b2c9f914348c2e13$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $f301e9a131a639bf$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $f301e9a131a639bf$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $f301e9a131a639bf$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $f301e9a131a639bf$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $68426998e3b11619$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\n\nvar $72e224a45f2258bd$exports = {};\n\n$72e224a45f2258bd$exports = $72e224a45f2258bd$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $72e224a45f2258bd$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $a4c6bf567c1b63c8$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $a4c6bf567c1b63c8$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $b2c9f914348c2e13$export$2996f80ef42b8419)(this, Record);\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $f301e9a131a639bf$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($72e224a45f2258bd$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $a4c6bf567c1b63c8$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $a4c6bf567c1b63c8$export$2e2bcd8739ae039 = $a4c6bf567c1b63c8$var$Record;\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $5115e01e50a35b95$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $5115e01e50a35b95$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $5115e01e50a35b95$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $5115e01e50a35b95$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $5115e01e50a35b95$export$49434baf33460b11 = function() {\n    var _ref = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $5115e01e50a35b95$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $5115e01e50a35b95$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $3d0d91a3ea5987c5$var$_window_geoip_detect;\nvar $3d0d91a3ea5987c5$export$41c562ebe57d11e2 = (($3d0d91a3ea5987c5$var$_window_geoip_detect = window.geoip_detect) === null || $3d0d91a3ea5987c5$var$_window_geoip_detect === void 0 ? void 0 : $3d0d91a3ea5987c5$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $9a0f598d59a61a3e$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $9a0f598d59a61a3e$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $9a0f598d59a61a3e$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\n\nvar $f422a70a3b9c8a83$export$c0c5a36406ccde34 = function() {\n    return (0, $9a0f598d59a61a3e$export$d3720feff416e85b)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name);\n};\nvar $f422a70a3b9c8a83$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $9a0f598d59a61a3e$export$1f73f60bdb811cb1)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $f422a70a3b9c8a83$var$lastEvaluated = {};\nvar $f422a70a3b9c8a83$export$88983ef80f4f72ac = function() {\n    return $f422a70a3b9c8a83$var$lastEvaluated;\n};\nvar $f422a70a3b9c8a83$export$7bc079f12f70511d = function() {\n    $f422a70a3b9c8a83$var$lastEvaluated = $f422a70a3b9c8a83$export$c0c5a36406ccde34();\n};\nvar $f422a70a3b9c8a83$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $a4c6bf567c1b63c8$export$2e2bcd8739ae039)($f422a70a3b9c8a83$export$c0c5a36406ccde34(), (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $c7d084c9c1bb0fef$var$ajaxPromise = null;\nfunction $c7d084c9c1bb0fef$var$get_info_raw() {\n    if (!$c7d084c9c1bb0fef$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $c7d084c9c1bb0fef$var$ajaxPromise = (0, $5115e01e50a35b95$export$49434baf33460b11)(url);\n        $c7d084c9c1bb0fef$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $c7d084c9c1bb0fef$var$ajaxPromise;\n}\nfunction $c7d084c9c1bb0fef$export$fba94e0366f5a647() {\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\nfunction $c7d084c9c1bb0fef$var$_get_info_cached() {\n    $c7d084c9c1bb0fef$var$_get_info_cached = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $c7d084c9c1bb0fef$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $f422a70a3b9c8a83$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\n\n\n\nfunction $b4ba9c8e7a201193$export$3697bcf53517e83c() {\n    return $b4ba9c8e7a201193$var$_get_info.apply(this, arguments);\n}\nfunction $b4ba9c8e7a201193$var$_get_info() {\n    $b4ba9c8e7a201193$var$_get_info = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response, record;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $c7d084c9c1bb0fef$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    if (typeof response !== \"object\") {\n                        console.error(\"Geolocation IP Detection Error: Record should be an object, not a \" + (typeof response === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(response)), response);\n                        response = {\n                            \"extra\": {\n                                \"error\": response || \"Network error, look at the original server response ...\"\n                            }\n                        };\n                    }\n                    record = new (0, $a4c6bf567c1b63c8$export$2e2bcd8739ae039)(response, (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).default_locales);\n                    return [\n                        2,\n                        record\n                    ];\n            }\n        });\n    });\n    return $b4ba9c8e7a201193$var$_get_info.apply(this, arguments);\n}\n\n\nwindow.geoip_detect.get_info = (0, $b4ba9c8e7a201193$export$3697bcf53517e83c);\n\n})();\n//# sourceMappingURL=frontend_base.js.map\n","/*\n Variant \"Base\": \n \n A reduced JS file: \n - No shortcodes, no body classes. \n*/\n\nimport { get_info } from './lookup/get_info';\n\n\nwindow.geoip_detect.get_info = get_info;\n","import Record from '../models/record';\nimport { get_info_cached } from './get_info_cached';\nimport { options } from './options';\n\n/**\n * Load the data from the server\n * \n * (It can also be loaded from the browser localstorage, if the record data is present there already.)\n * \n * @api\n * @return Promise(Record)\n */\nexport async function get_info() {\n    let response = await get_info_cached();\n    if (typeof (response) !== 'object') {\n        console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);\n        response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };\n    }\n\n    const record = new Record(response, options.default_locales);\n    return record;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}"],"names":["$9d998481b0dad3fe$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$9d998481b0dad3fe$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$e9b7c4456bbf1b23$export$5f0017c582d45a2d","obj","Symbol","constructor","$8bfa850c9b09c237$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","iterator","n","v","step","op","TypeError","call","pop","length","push","e","$f301e9a131a639bf$var$_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","$68426998e3b11619$export$1e71eb4bef00f6b0","_ref","$3d0d91a3ea5987c5$var$_window_geoip_detect","$72e224a45f2258bd$exports","propsArg","defaultValue","prop","Array","isArray","slice","split","Error","shift","$a4c6bf567c1b63c8$var$_get_localized","ret","locales","names","locale","name","$a4c6bf567c1b63c8$var$Record","protoProps","staticProps","Record","data","default_locales","instance","Constructor","is_empty","_process_locales","default_value","get_with_locales","a","map","x","toLowerCase","replace","join","__esModule","default","_lookup_with_locales","substr","get_raw","console","warn","country","get","prototype","$5115e01e50a35b95$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$5115e01e50a35b95$export$8fe2eaa78e58529f","str","JSON","parse","$5115e01e50a35b95$var$createErrorObject","errorMsg","extra","$5115e01e50a35b95$export$49434baf33460b11","_arguments","_state","responseText","$3d0d91a3ea5987c5$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","cookie_duration_in_days","cookie_name","do_body_classes","$9a0f598d59a61a3e$export$1f73f60bdb811cb1","variable","ttl_sec","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$9a0f598d59a61a3e$export$d3720feff416e85b","getItem","removeItem","$f422a70a3b9c8a83$export$c0c5a36406ccde34","$f422a70a3b9c8a83$export$bfae0a1e3adc82ee","cache_duration","$c7d084c9c1bb0fef$var$ajaxPromise","$c7d084c9c1bb0fef$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","log","responseJSON","$b4ba9c8e7a201193$var$_get_info","get_info"],"version":3,"file":"frontend_base.js.map"}
  • geoip-detect/trunk/js/dist/frontend_full.js.map

    r3136982 r3233048  
    1 {"mappings":"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","sources":["<anon>","js/frontend_full.js","js/lookup/get_info.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/tslib/tslib.es6.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/just-safe-get/index.cjs","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js","js/lookup/override.js","node_modules/just-safe-set/index.cjs","node_modules/just-compare/index.mjs","js/main.js","js/shortcodes/index.js","js/lib/events.js","js/lib/html.js","js/shortcodes/helpers.js","js/shortcodes/normal.js","js/shortcodes/onchange.js","js/lib/check-recursive.js","js/shortcodes/show-if.js","node_modules/just-intersect/index.cjs","js/body_classes.js"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Full\": \n\n All the features, biggest filesize\n*/ function $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $36539b83e1634a28$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\nfunction $ce3c1b4c7e934d38$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $62173737a43864ee$var$extendStatics = function extendStatics1(d, b) {\n    $62173737a43864ee$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $62173737a43864ee$var$extendStatics(d, b);\n};\nfunction $62173737a43864ee$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $62173737a43864ee$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $62173737a43864ee$export$18ce0697a983be9b = function __assign1() {\n    $62173737a43864ee$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $62173737a43864ee$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $62173737a43864ee$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $62173737a43864ee$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $62173737a43864ee$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $62173737a43864ee$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $62173737a43864ee$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $62173737a43864ee$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $62173737a43864ee$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $62173737a43864ee$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $62173737a43864ee$export$45d3717a4c69092e(o, m, p);\n}\nfunction $62173737a43864ee$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $62173737a43864ee$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $62173737a43864ee$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($62173737a43864ee$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $62173737a43864ee$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $62173737a43864ee$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $62173737a43864ee$export$10c90e4f7922046c(v) {\n    return this instanceof $62173737a43864ee$export$10c90e4f7922046c ? (this.v = v, this) : new $62173737a43864ee$export$10c90e4f7922046c(v);\n}\nfunction $62173737a43864ee$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $62173737a43864ee$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $62173737a43864ee$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $62173737a43864ee$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $62173737a43864ee$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $62173737a43864ee$export$19a8beecd37a4c45 === \"function\" ? $62173737a43864ee$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $62173737a43864ee$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $62173737a43864ee$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $62173737a43864ee$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $62173737a43864ee$export$45d3717a4c69092e(result, mod, k);\n    }\n    $62173737a43864ee$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $62173737a43864ee$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $62173737a43864ee$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $62173737a43864ee$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $62173737a43864ee$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\nfunction $c744d831ac964e3a$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $459462d0493710da$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $459462d0493710da$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $459462d0493710da$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $459462d0493710da$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $0a65997b05368712$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\n\nvar $f55d1d59abc73724$exports = {};\n\n$f55d1d59abc73724$exports = $f55d1d59abc73724$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $f55d1d59abc73724$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $7114dcf2592f929a$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $7114dcf2592f929a$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $7114dcf2592f929a$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $c744d831ac964e3a$export$2996f80ef42b8419)(this, Record);\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $459462d0493710da$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $7114dcf2592f929a$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($f55d1d59abc73724$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $7114dcf2592f929a$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $7114dcf2592f929a$export$2e2bcd8739ae039 = $7114dcf2592f929a$var$Record;\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $77bad6cade3b6dd2$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $77bad6cade3b6dd2$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $77bad6cade3b6dd2$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $77bad6cade3b6dd2$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $77bad6cade3b6dd2$export$49434baf33460b11 = function() {\n    var _ref = (0, $36539b83e1634a28$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $77bad6cade3b6dd2$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $77bad6cade3b6dd2$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $15191b2a1f81108d$var$_window_geoip_detect;\nvar $15191b2a1f81108d$export$41c562ebe57d11e2 = (($15191b2a1f81108d$var$_window_geoip_detect = window.geoip_detect) === null || $15191b2a1f81108d$var$_window_geoip_detect === void 0 ? void 0 : $15191b2a1f81108d$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $17ade8b08da2dc4a$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $17ade8b08da2dc4a$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $17ade8b08da2dc4a$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\n\nvar $35df1ab881cd697b$export$c0c5a36406ccde34 = function() {\n    return (0, $17ade8b08da2dc4a$export$d3720feff416e85b)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name);\n};\nvar $35df1ab881cd697b$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $17ade8b08da2dc4a$export$1f73f60bdb811cb1)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $35df1ab881cd697b$var$lastEvaluated = {};\nvar $35df1ab881cd697b$export$88983ef80f4f72ac = function() {\n    return $35df1ab881cd697b$var$lastEvaluated;\n};\nvar $35df1ab881cd697b$export$7bc079f12f70511d = function() {\n    $35df1ab881cd697b$var$lastEvaluated = $35df1ab881cd697b$export$c0c5a36406ccde34();\n};\nvar $35df1ab881cd697b$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $7114dcf2592f929a$export$2e2bcd8739ae039)($35df1ab881cd697b$export$c0c5a36406ccde34(), (0, $15191b2a1f81108d$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $8e261c2c74b8af80$var$ajaxPromise = null;\nfunction $8e261c2c74b8af80$var$get_info_raw() {\n    if (!$8e261c2c74b8af80$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $8e261c2c74b8af80$var$ajaxPromise = (0, $77bad6cade3b6dd2$export$49434baf33460b11)(url);\n        $8e261c2c74b8af80$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $8e261c2c74b8af80$var$ajaxPromise;\n}\nfunction $8e261c2c74b8af80$export$fba94e0366f5a647() {\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\nfunction $8e261c2c74b8af80$var$_get_info_cached() {\n    $8e261c2c74b8af80$var$_get_info_cached = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $8e261c2c74b8af80$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $35df1ab881cd697b$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\n\n\n\nfunction $76a10a619dfa4fa7$export$3697bcf53517e83c() {\n    return $76a10a619dfa4fa7$var$_get_info.apply(this, arguments);\n}\nfunction $76a10a619dfa4fa7$var$_get_info() {\n    $76a10a619dfa4fa7$var$_get_info = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response, record;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $8e261c2c74b8af80$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    if (typeof response !== \"object\") {\n                        console.error(\"Geolocation IP Detection Error: Record should be an object, not a \" + (typeof response === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(response)), response);\n                        response = {\n                            \"extra\": {\n                                \"error\": response || \"Network error, look at the original server response ...\"\n                            }\n                        };\n                    }\n                    record = new (0, $7114dcf2592f929a$export$2e2bcd8739ae039)(response, (0, $15191b2a1f81108d$export$41c562ebe57d11e2).default_locales);\n                    return [\n                        2,\n                        record\n                    ];\n            }\n        });\n    });\n    return $76a10a619dfa4fa7$var$_get_info.apply(this, arguments);\n}\n\n\n\n\n\nvar $38a346b953615f57$exports = {};\n\n$38a346b953615f57$exports = $38a346b953615f57$var$set;\n/*\n  var obj1 = {};\n  set(obj1, 'a.aa.aaa', 4); // true\n  obj1; // {a: {aa: {aaa: 4}}}\n\n  var obj2 = {};\n  set(obj2, ['a', 'aa', 'aaa'], 4); // true\n  obj2; // {a: {aa: {aaa: 4}}}\n\n  var obj3 = {a: {aa: {aaa: 2}}};\n  set(obj3, 'a.aa.aaa', 3); // true\n  obj3; // {a: {aa: {aaa: 3}}}\n\n  const obj5 = {a: {}};\n  const sym = Symbol();\n  set(obj5.a, sym, 7); // true\n  obj5; // {a: {Symbol(): 7}}\n*/ function $38a346b953615f57$var$set(obj, propsArg, value) {\n    var props, lastProp;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    lastProp = props.pop();\n    if (!lastProp) return false;\n    $38a346b953615f57$var$prototypeCheck(lastProp);\n    var thisProp;\n    while(thisProp = props.shift()){\n        $38a346b953615f57$var$prototypeCheck(thisProp);\n        if (typeof obj[thisProp] == \"undefined\") obj[thisProp] = {};\n        obj = obj[thisProp];\n        if (!obj || typeof obj != \"object\") return false;\n    }\n    obj[lastProp] = value;\n    return true;\n}\nfunction $38a346b953615f57$var$prototypeCheck(prop) {\n    // coercion is intentional to catch prop values like `['__proto__']`\n    if (prop == \"__proto__\" || prop == \"constructor\" || prop == \"prototype\") throw new Error(\"setting of prototype values not supported\");\n}\n\n\n\n\nvar $c866044571f5b19e$export$2e2bcd8739ae039 = $c866044571f5b19e$var$compare;\n/*\n  primitives: value1 === value2\n  functions: value1.toString == value2.toString\n  arrays: if length, sequence and values of properties are identical\n  objects: if length, names and values of properties are identical\n  compare([[1, [2, 3]], [[1, [2, 3]]); // true\n  compare([[1, [2, 3], 4], [[1, [2, 3]]); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3}); // true\n  compare({a: 2, b: 3}, {b: 3, a: 2}); // true\n  compare({a: 2, b: 3, c: 4}, {a: 2, b: 3}); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3, c: 4}); // false\n  compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]); // true\n*/ function $c866044571f5b19e$var$compare(value1, value2) {\n    if (value1 === value2) return true;\n    /* eslint-disable no-self-compare */ // if both values are NaNs return true\n    if (value1 !== value1 && value2 !== value2) return true;\n    if ((typeof value1 === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(value1)) != (typeof value2 === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(value2)) || // primitive != primitive wrapper\n    ({}).toString.call(value1) != ({}).toString.call(value2) // check for other (maybe nullish) objects\n    ) return false;\n    if (value1 !== Object(value1)) // non equal primitives\n    return false;\n    if (!value1) return false;\n    if (Array.isArray(value1)) return $c866044571f5b19e$var$compareArrays(value1, value2);\n    if (({}).toString.call(value1) == \"[object Set]\") return $c866044571f5b19e$var$compareArrays(Array.from(value1), Array.from(value2));\n    if (({}).toString.call(value1) == \"[object Object]\") return $c866044571f5b19e$var$compareObjects(value1, value2);\n    return $c866044571f5b19e$var$compareNativeSubtypes(value1, value2);\n}\nfunction $c866044571f5b19e$var$compareNativeSubtypes(value1, value2) {\n    // e.g. Function, RegExp, Date\n    return value1.toString() === value2.toString();\n}\nfunction $c866044571f5b19e$var$compareArrays(value1, value2) {\n    var len = value1.length;\n    if (len != value2.length) return false;\n    for(var i = 0; i < len; i++){\n        if (!$c866044571f5b19e$var$compare(value1[i], value2[i])) return false;\n    }\n    return true;\n}\nfunction $c866044571f5b19e$var$compareObjects(value1, value2) {\n    var keys1 = Object.keys(value1);\n    var len = keys1.length;\n    if (len != Object.keys(value2).length) return false;\n    for(var i = 0; i < len; i++){\n        var key1 = keys1[i];\n        if (!(value2.hasOwnProperty(key1) && $c866044571f5b19e$var$compare(value1[key1], value2[key1]))) return false;\n    }\n    return true;\n}\n\n\n\n\nvar $62a02ed271bec99e$var$_internalEvent = false;\nfunction $62a02ed271bec99e$export$b27ccd6cf6073c1c() {\n    return $62a02ed271bec99e$var$_internalEvent;\n}\nfunction $62a02ed271bec99e$export$f0ffca0e7194bd91(el, eventName) {\n    var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n    $62a02ed271bec99e$var$_internalEvent = true;\n    var event;\n    if (window.CustomEvent && typeof window.CustomEvent === \"function\") event = new CustomEvent(eventName, {\n        detail: options\n    });\n    else {\n        // Compat for IE\n        event = document.createEvent(\"CustomEvent\");\n        event.initCustomEvent(eventName, true, true, options);\n    }\n    el.dispatchEvent(event);\n    $62a02ed271bec99e$var$_internalEvent = false;\n}\n\n\nfunction $6c67fe7b7c1ed07e$export$25cf4bb9cb194205() {\n    return false;\n}\nvar $6c67fe7b7c1ed07e$export$d680cb6eec13a7c7 = new Promise(function(resolve) {\n    if ($6c67fe7b7c1ed07e$export$25cf4bb9cb194205()) resolve();\n    if (document.readyState === \"loading\") {\n        if (document.addEventListener) document.addEventListener(\"DOMContentLoaded\", resolve);\n        else document.attachEvent(\"onreadystatechange\", function() {\n            if (document.readyState != \"loading\") resolve();\n        });\n    } else resolve();\n});\nfunction $6c67fe7b7c1ed07e$export$a5deb02d4df4db34(el, value) {\n    for(var i = 0; i < el.options.length; i++)if (el.options[i].value === value) {\n        el.selectedIndex = i;\n        return true;\n    }\n    return false;\n}\nfunction $6c67fe7b7c1ed07e$export$212ec54c5d687e78(el, attributeName, attributeValue) {\n    for(var i = 0; i < el.options.length; i++)if (el.options[i].getAttribute(attributeName) === attributeValue) {\n        el.selectedIndex = i;\n        return true;\n    }\n    return false;\n}\n\n\n\n\n\nfunction $fdf9085f15b5aadb$export$aafcad1af8162002(el) {\n    var raw = el.getAttribute(\"data-options\");\n    try {\n        return JSON.parse(raw);\n    } catch (e) {\n        return {};\n    }\n}\nfunction $fdf9085f15b5aadb$export$bb8a045c548d38f9(className, errorMessage, callback) {\n    return $fdf9085f15b5aadb$var$_action_on_elements.apply(this, arguments);\n}\nfunction $fdf9085f15b5aadb$var$_action_on_elements() {\n    $fdf9085f15b5aadb$var$_action_on_elements = (0, $36539b83e1634a28$export$7c398597f8905a1)(function(className, errorMessage, callback) {\n        var elements, record;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    elements = document.getElementsByClassName(className);\n                    if (!elements.length) return [\n                        2\n                    ];\n                    return [\n                        4,\n                        (0, $76a10a619dfa4fa7$export$3697bcf53517e83c)()\n                    ];\n                case 1:\n                    record = _state.sent();\n                    if (record.error()) {\n                        console.error(\"Geolocation IP Detection Error (\" + errorMessage + \"): \" + record.error());\n                        return [\n                            2\n                        ];\n                    }\n                    Array.from(elements).forEach(function(el) {\n                        return callback(el, record);\n                    });\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return $fdf9085f15b5aadb$var$_action_on_elements.apply(this, arguments);\n}\nfunction $fdf9085f15b5aadb$export$2bcc52ba6c088b4a(el, record) {\n    var property = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n    var opt = $fdf9085f15b5aadb$export$aafcad1af8162002(el);\n    property = property || opt.property;\n    if (opt.skip_cache) console.warn(\"Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME.\");\n    return record.get_with_locales(property, opt.lang, opt.default);\n}\n\n\n\n\n\nvar $0dcdb83b66c16e83$var$_listener_active = false; // for recursion detection (maybe remove later)\nvar $0dcdb83b66c16e83$var$_change_counter = 0;\nfunction $0dcdb83b66c16e83$export$887b871aa5aacaaa() {\n    $0dcdb83b66c16e83$var$_change_counter++;\n    if ($0dcdb83b66c16e83$var$_listener_active || $0dcdb83b66c16e83$var$_change_counter > 10) {\n        console.warn(\"Error: Thats weird! autosave change detected a recursion (\" + $0dcdb83b66c16e83$var$_change_counter + \")! Please file a bug report about this and include the first 10 lines of the callstack below:\");\n        console.trace();\n        return false;\n    }\n    $0dcdb83b66c16e83$var$_listener_active = true;\n    return true;\n}\nfunction $0dcdb83b66c16e83$export$f60ab07833116193() {\n    $0dcdb83b66c16e83$var$_listener_active = false;\n}\n\n\n\n\n\nfunction $851ca291cb09e7ef$export$2cd8252107eb640b() {\n    document.addEventListener(\"change\", $851ca291cb09e7ef$var$event_listener_autosave_on_change, false);\n}\nfunction $851ca291cb09e7ef$var$event_listener_autosave_on_change(event) {\n    if ((0, $62a02ed271bec99e$export$b27ccd6cf6073c1c)()) return;\n    var target = event.target;\n    if ((target === null || target === void 0 ? void 0 : target.matches) && target.matches(\".js-geoip-detect-input-autosave\")) $851ca291cb09e7ef$export$be51a27c79b931de(target);\n}\nfunction $851ca291cb09e7ef$export$be51a27c79b931de(el) {\n    var property = (0, $fdf9085f15b5aadb$export$aafcad1af8162002)(el).property;\n    var value = el.value;\n    if (!(0, $0dcdb83b66c16e83$export$887b871aa5aacaaa)()) return;\n    if (el.matches(\"select.js-geoip-detect-country-select\")) {\n        var selected = el.options[el.selectedIndex];\n        var isoCode = selected === null || selected === void 0 ? void 0 : selected.getAttribute(\"data-c\");\n        (0, $2d68ab6fecc3ec8e$export$38a0b31e9febbbe1)(\"country.iso_code\", isoCode.toUpperCase(), {\n            reevaluate: false\n        });\n    }\n    (0, $2d68ab6fecc3ec8e$export$38a0b31e9febbbe1)(property, value, {\n        reevaluate: true\n    }); // might call do_shortcodes etc.\n    (0, $0dcdb83b66c16e83$export$f60ab07833116193)();\n}\n\n\nfunction $6ab456611b3c49f0$export$c5bfd938fb7f5403(el, record) {\n    el.innerText = (0, $fdf9085f15b5aadb$export$2bcc52ba6c088b4a)(el, record);\n}\nfunction $6ab456611b3c49f0$export$67c46edf2422701b(el, record) {\n    var country = record.get_country_iso() || (0, $fdf9085f15b5aadb$export$aafcad1af8162002)(el).default;\n    if (country) el.classList.add(\"flag-icon-\" + country);\n}\nfunction $6ab456611b3c49f0$export$8b2cf4a2576ea856(el, record) {\n    var country = record.get_country_iso();\n    if ((0, $6c67fe7b7c1ed07e$export$212ec54c5d687e78)(el, \"data-c\", country)) {\n        (0, $62a02ed271bec99e$export$f0ffca0e7194bd91)(el, \"change\");\n        return;\n    }\n    // The country is not the list of countries - select empty option instead\n    if ((0, $6c67fe7b7c1ed07e$export$212ec54c5d687e78)(el, \"data-c\", \"\")) (0, $62a02ed271bec99e$export$f0ffca0e7194bd91)(el, \"change\");\n}\nfunction $6ab456611b3c49f0$export$46eed00f10e80dd5(el, record) {\n    el.value = (0, $fdf9085f15b5aadb$export$2bcc52ba6c088b4a)(el, record);\n    (0, $62a02ed271bec99e$export$f0ffca0e7194bd91)(el, \"change\");\n}\n\n\n\n\nvar $0369216571f38677$exports = {};\n$0369216571f38677$exports = $0369216571f38677$var$intersect;\n/*\n  intersect([1, 2, 5, 6], [2, 3, 5, 6]); // [2, 5, 6]\n  intersect([1, 2, 2, 4, 5], [3, 2, 2, 5, 7]); // [2, 5]\n*/ function $0369216571f38677$var$intersect(arr1, arr2) {\n    if (!Array.isArray(arr1) || !Array.isArray(arr2)) throw new Error(\"expected both arguments to be arrays\");\n    var result = [];\n    var set = $0369216571f38677$var$convertArrayToSet(arr2);\n    var memo = {};\n    for(var i = 0; i < arr1.length; i++){\n        var item = arr1[i];\n        if (set.hasOwnProperty(item) && !memo.hasOwnProperty(item)) {\n            result.push(item);\n            memo[item] = true;\n        }\n    }\n    return result;\n}\nfunction $0369216571f38677$var$convertArrayToSet(arr) {\n    var output = {};\n    for(var i = 0; i < arr.length; i++){\n        var item = arr[i];\n        if (!output.hasOwnProperty(item)) output[item] = true;\n    }\n    return output;\n}\n\n\nfunction $37a9471c1c3b4c10$export$7f72d39cfa7a0f7a(el, record) {\n    var opt = (0, $fdf9085f15b5aadb$export$aafcad1af8162002)(el);\n    var evaluated = $37a9471c1c3b4c10$export$626a13a1fe51c67a(opt.parsed, opt, record);\n    if (!evaluated) {\n        el.style.display = \"none\";\n        el.classList.add(\"geoip-hidden\");\n        el.classList.remove(\"geoip-shown\");\n    } else {\n        el.style.display = \"\";\n        el.classList.remove(\"geoip-hidden\");\n        el.classList.add(\"geoip-shown\");\n    }\n}\nfunction $37a9471c1c3b4c10$export$626a13a1fe51c67a(parsed, opt, record) {\n    var alternativePropertyNames = [\n        \"name\",\n        \"iso_code\",\n        \"iso_code3\",\n        \"code\",\n        \"geoname_id\"\n    ];\n    var isConditionMatching = parsed.op === \"or\" ? false : true;\n    parsed.conditions.forEach(function(c) {\n        var subConditionMatching = false;\n        var values = [];\n        var raw_value = record.get_raw(c.p);\n        if (raw_value === null) subConditionMatching = false;\n        else if (typeof raw_value === \"object\") alternativePropertyNames.forEach(function(name) {\n            if (raw_value[name]) values.push(raw_value[name]);\n            else if (name == \"name\") values.push(record.get_with_locales(c.p, opt.lang));\n        });\n        else values = [\n            raw_value\n        ];\n        subConditionMatching = $37a9471c1c3b4c10$var$geoip_detect2_shortcode_check_subcondition(c.v, values);\n        if (c.not) subConditionMatching = !subConditionMatching;\n        if (parsed.op === \"or\") isConditionMatching = isConditionMatching || subConditionMatching;\n        else isConditionMatching = isConditionMatching && subConditionMatching;\n    });\n    if (parsed.not) isConditionMatching = !isConditionMatching;\n    return isConditionMatching;\n}\nfunction $37a9471c1c3b4c10$var$geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues) {\n    if (actualValues[0] === true) actualValues = [\n        \"true\",\n        \"yes\",\n        \"y\",\n        \"1\"\n    ];\n    else if (actualValues[0] === false) actualValues = [\n        \"false\",\n        \"no\",\n        \"n\",\n        \"0\",\n        \"\"\n    ];\n    actualValues = actualValues.map(function(x) {\n        return String(x).toLowerCase();\n    });\n    expectedValues = expectedValues.split(\",\");\n    if (expectedValues.indexOf(\"\") !== -1) {\n        if (actualValues.length === 0) return true;\n    }\n    var intersect = (0, (/*@__PURE__*/$parcel$interopDefault($0369216571f38677$exports)))(expectedValues, actualValues);\n    return intersect.length > 0;\n}\n\n\nvar $588b01350e186998$export$7481777ea0ea965d = function do_shortcodes_init() {\n    (0, $851ca291cb09e7ef$export$2cd8252107eb640b)();\n};\nvar $588b01350e186998$export$42610705290faf95 = function() {\n    var _do_shortcodes = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var body;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    // Before doing any of these, the DOM tree needs to be loaded\n                    return [\n                        4,\n                        (0, $6c67fe7b7c1ed07e$export$d680cb6eec13a7c7)\n                    ];\n                case 1:\n                    _state.sent();\n                    // These are called in parallel, as they are async functions - wait for all to finish\n                    Promise.allSettled([\n                        (0, $fdf9085f15b5aadb$export$bb8a045c548d38f9)(\"js-geoip-detect-shortcode\", \"could not execute shortcode(s) [geoip_detect2 ...]\", (0, $6ab456611b3c49f0$export$c5bfd938fb7f5403)),\n                        (0, $fdf9085f15b5aadb$export$bb8a045c548d38f9)(\"js-geoip-detect-flag\", \"could not configure the flag(s)\", (0, $6ab456611b3c49f0$export$67c46edf2422701b)),\n                        (0, $fdf9085f15b5aadb$export$bb8a045c548d38f9)(\"js-geoip-text-input\", \"could not set the value of the text input field(s)\", (0, $6ab456611b3c49f0$export$46eed00f10e80dd5)),\n                        (0, $fdf9085f15b5aadb$export$bb8a045c548d38f9)(\"js-geoip-detect-country-select\", \"could not set the value of the select field(s)\", (0, $6ab456611b3c49f0$export$8b2cf4a2576ea856)),\n                        (0, $fdf9085f15b5aadb$export$bb8a045c548d38f9)(\"js-geoip-detect-show-if\", \"could not execute the show-if/hide-if conditions\", (0, $37a9471c1c3b4c10$export$7f72d39cfa7a0f7a))\n                    ]);\n                    body = document.getElementsByTagName(\"body\")[0];\n                    (0, $62a02ed271bec99e$export$f0ffca0e7194bd91)(body, \"geoip-detect-shortcodes-done\");\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    function do_shortcodes() {\n        return _do_shortcodes.apply(this, arguments);\n    }\n    return do_shortcodes;\n}();\n\n\n\n\n\n\n\nfunction $1059251199ab55f6$export$fd37e2b9d7d82468(record) {\n    return {\n        country: record.get(\"country.iso_code\"),\n        \"country-is-in-european-union\": record.get(\"country.is_in_european_union\", false),\n        continent: record.get(\"continent.code\"),\n        province: record.get(\"most_specific_subdivision.iso_code\"),\n        city: record.get(\"city.names.en\")\n    };\n}\nfunction $1059251199ab55f6$var$remove_css_classes_by_prefix(el, prefix) {\n    var classes = el.className.split(\" \").filter(function(c) {\n        return !c.startsWith(prefix);\n    });\n    el.className = classes.join(\" \").trim();\n}\nfunction $1059251199ab55f6$export$69cfbde487906451() {\n    return $1059251199ab55f6$var$_add_body_classes.apply(this, arguments);\n}\nfunction $1059251199ab55f6$var$_add_body_classes() {\n    $1059251199ab55f6$var$_add_body_classes = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var record;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $76a10a619dfa4fa7$export$3697bcf53517e83c)()\n                    ];\n                case 1:\n                    record = _state.sent();\n                    if (record.error()) {\n                        console.error(\"Geolocation IP Detection Error (could not add CSS-classes to body): \" + record.error());\n                        return [\n                            2\n                        ];\n                    }\n                    return [\n                        4,\n                        (0, $6c67fe7b7c1ed07e$export$d680cb6eec13a7c7)\n                    ];\n                case 2:\n                    _state.sent();\n                    $1059251199ab55f6$export$4e7274a5cb77ccb6(record);\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return $1059251199ab55f6$var$_add_body_classes.apply(this, arguments);\n}\n// ported from Wordpress PHP\nfunction $1059251199ab55f6$var$sanitize_html_class(string) {\n    string = string + \"\";\n    string = string.replace(/%[a-fA-F0-9][a-fA-F0-9]/g, \"\");\n    string = string.replace(/[^A-Za-z0-9_-]/g, \"\");\n    return string;\n}\nfunction $1059251199ab55f6$export$4e7274a5cb77ccb6(record) {\n    var css_classes = $1059251199ab55f6$export$fd37e2b9d7d82468(record);\n    var body = document.getElementsByTagName(\"body\")[0];\n    // Remove old classes in case there are any\n    $1059251199ab55f6$var$remove_css_classes_by_prefix(body, \"geoip-\");\n    var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n    try {\n        for(var _iterator = Object.keys(css_classes)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n            var key = _step.value;\n            var value = $1059251199ab55f6$var$sanitize_html_class(css_classes[key]);\n            if (value) {\n                if (typeof value == \"string\") body.classList.add(\"geoip-\".concat(key, \"-\").concat(value));\n                else body.classList.add(\"geoip-\".concat(key));\n            }\n        }\n    } catch (err) {\n        _didIteratorError = true;\n        _iteratorError = err;\n    } finally{\n        try {\n            if (!_iteratorNormalCompletion && _iterator.return != null) {\n                _iterator.return();\n            }\n        } finally{\n            if (_didIteratorError) {\n                throw _iteratorError;\n            }\n        }\n    }\n    (0, $62a02ed271bec99e$export$f0ffca0e7194bd91)(body, \"geoip-detect-body-classes-done\");\n}\n\n\n\n\nvar $c31666fbeeec77f5$var$firstCall = true;\nfunction $c31666fbeeec77f5$export$f22da7240b7add18() {\n    if ($c31666fbeeec77f5$var$firstCall) {\n        (0, $588b01350e186998$export$7481777ea0ea965d)();\n        $c31666fbeeec77f5$var$firstCall = false;\n    }\n    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).do_body_classes) (0, $1059251199ab55f6$export$69cfbde487906451)();\n    // Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.\n    (0, $588b01350e186998$export$42610705290faf95)();\n    (0, $35df1ab881cd697b$export$7bc079f12f70511d)();\n}\n\n\n\nfunction $2d68ab6fecc3ec8e$var$processOptions(options) {\n    options = options || {};\n    if (typeof options == \"number\") options = {\n        \"duration_in_days\": options\n    };\n    options.duration_in_days = options.duration_in_days || (0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_duration_in_days;\n    if (options.duration_in_days < 0) {\n        console.warn(\"Geolocation IP Detection set_override_data() did nothing: A negative duration doesn't make sense. If you want to remove the override, use remove_override() instead.\");\n        return false;\n    }\n    if (typeof options.reevaluate == \"undefined\") options.reevaluate = true;\n    return options;\n}\nfunction $2d68ab6fecc3ec8e$var$changeRecord(record, property, value) {\n    record = record || {};\n    property = property || \"\";\n    property = (0, $7114dcf2592f929a$export$13bc6c4afe8cd6ab)(property);\n    var oldData = (0, (/*@__PURE__*/$parcel$interopDefault($f55d1d59abc73724$exports)))(record, property);\n    if (typeof oldData == \"object\" && typeof oldData.names == \"object\") property += \".name\";\n    if (property.endsWith(\".name\")) {\n        property += \"s\"; // e.g. country.name -> country.names\n        value = {\n            \"en\": value\n        };\n    }\n    (0, (/*@__PURE__*/$parcel$interopDefault($38a346b953615f57$exports)))(record, property, value);\n    return record;\n}\nfunction $2d68ab6fecc3ec8e$export$38a0b31e9febbbe1(property, value, options) {\n    var record = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n    record = $2d68ab6fecc3ec8e$var$changeRecord(record, property, value);\n    $2d68ab6fecc3ec8e$export$c3c74383dfd15775(record, options);\n}\nfunction $2d68ab6fecc3ec8e$export$c3c74383dfd15775(record, options) {\n    options = $2d68ab6fecc3ec8e$var$processOptions(options);\n    if (record && typeof record.serialize === \"function\") record = record.serialize();\n    return $2d68ab6fecc3ec8e$var$set_override_data(record, options);\n}\nfunction $2d68ab6fecc3ec8e$var$set_override_data(newData, options) {\n    newData = newData || {};\n    (0, (/*@__PURE__*/$parcel$interopDefault($38a346b953615f57$exports)))(newData, \"extra.override\", true);\n    (0, $17ade8b08da2dc4a$export$1f73f60bdb811cb1)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name, newData, options.duration_in_days * 86400);\n    if (options.reevaluate && !(0, $c866044571f5b19e$export$2e2bcd8739ae039)(newData, (0, $35df1ab881cd697b$export$88983ef80f4f72ac)())) {\n        (0, $c31666fbeeec77f5$export$f22da7240b7add18)();\n        return true;\n    }\n    return false;\n}\nfunction $2d68ab6fecc3ec8e$export$cacb6011bc19db0b(options) {\n    options = $2d68ab6fecc3ec8e$var$processOptions(options);\n    (0, $17ade8b08da2dc4a$export$1f73f60bdb811cb1)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name, {}, -1);\n    if (options.reevaluate) (0, $c31666fbeeec77f5$export$f22da7240b7add18)();\n    return true;\n}\n\n\n\n// Evaluate shortcodes, body classes, etc.\n(0, $c31666fbeeec77f5$export$f22da7240b7add18)();\n// Extend window object \nwindow.geoip_detect.get_info = (0, $76a10a619dfa4fa7$export$3697bcf53517e83c);\nwindow.geoip_detect.set_override = (0, $2d68ab6fecc3ec8e$export$c3c74383dfd15775);\nwindow.geoip_detect.set_override_with_merge = (0, $2d68ab6fecc3ec8e$export$38a0b31e9febbbe1);\nwindow.geoip_detect.remove_override = (0, $2d68ab6fecc3ec8e$export$cacb6011bc19db0b);\n\n})();\n//# sourceMappingURL=frontend_full.js.map\n","/*\n Variant \"Full\": \n\n All the features, biggest filesize\n*/\n\n\nimport { get_info } from './lookup/get_info';\nimport { remove_override, set_override, set_override_with_merge } from './lookup/override';\nimport { main } from './main';\n\n// Evaluate shortcodes, body classes, etc.\nmain();\n\n\n// Extend window object \nwindow.geoip_detect.get_info = get_info;\n\nwindow.geoip_detect.set_override = set_override;\nwindow.geoip_detect.set_override_with_merge = set_override_with_merge;\nwindow.geoip_detect.remove_override = remove_override;","import Record from '../models/record';\nimport { get_info_cached } from './get_info_cached';\nimport { options } from './options';\n\n/**\n * Load the data from the server\n * \n * (It can also be loaded from the browser localstorage, if the record data is present there already.)\n * \n * @api\n * @return Promise(Record)\n */\nexport async function get_info() {\n    let response = await get_info_cached();\n    if (typeof (response) !== 'object') {\n        console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);\n        response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };\n    }\n\n    const record = new Record(response, options.default_locales);\n    return record;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}","import { setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport { camelToUnderscore } from '../models/record';\nimport _set from 'just-safe-set';\nimport _get from 'just-safe-get';\nimport _is_object_content_equal from 'just-compare';\nimport { main } from '../main';\nimport { getRecordDataFromLocalStorage, getRecordDataLastEvaluated } from './storage';\n\nfunction processOptions(options) {\n    options = options || {};\n    if (typeof(options) == 'number') {\n        options = {\n            'duration_in_days': options\n        };\n    }\n\n    options.duration_in_days = options.duration_in_days || globalOptions.cookie_duration_in_days;\n    if (options.duration_in_days < 0) {\n        console.warn('Geolocation IP Detection set_override_data() did nothing: A negative duration doesn\\'t make sense. If you want to remove the override, use remove_override() instead.');\n        return false;\n    }\n\n    if (typeof (options.reevaluate) == 'undefined' ) {\n        options.reevaluate = true;\n    }\n\n    return options;\n}\n\nfunction changeRecord(record, property, value) {\n    record = record || {};\n    property = property || '';\n\n    property = camelToUnderscore(property);\n\n    const oldData = _get(record, property);\n    if (typeof (oldData) == 'object' && typeof (oldData.names) == 'object') {\n        property += '.name';\n    }\n    if (property.endsWith('.name')) {\n        property += 's'; // e.g. country.name -> country.names\n        value = { 'en': value };\n    }\n\n    _set(record, property, value);\n\n    return record;\n}\n\n/**\n * Override only one property, leave the other properties as-is.\n * @param {string} property \n * @param {*} value \n */\nexport function set_override_with_merge(property, value, options) {\n    let record = getRecordDataFromLocalStorage();\n\n    record = changeRecord(record, property, value);\n\n    set_override(record, options);\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log(\"Override is now: \", getRecordDataFromLocalStorage());\n    }\n}\n\n/**\n * This functions allows to override the geodetected data manually (e.g. a country selector)\n * \n * @api\n * @param {*} record \n * @param {object} options\n *   @param {number} duration_in_days When this override expires (default: 1 week later)\n *   @param {boolean} reevaluate If the shortcodes etc. should be re-evaluated (default: true)\n * @return boolean TRUE if override data changed\n */\nexport function set_override(record, options) {\n    options = processOptions(options);\n\n    if (record && typeof (record.serialize) === 'function') {\n        record = record.serialize();\n    }\n\n    return set_override_data(record, options);\n}\n\nfunction set_override_data(newData, options) {\n    newData = newData || {};\n    _set(newData, 'extra.override', true);\n\n    setLocalStorage(globalOptions.cookie_name, newData, options.duration_in_days * 24 * 60 * 60);\n\n    if (options.reevaluate && !_is_object_content_equal(newData, getRecordDataLastEvaluated())) {\n        main();\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * Remove the override data.\n * On next page load, the record data will be loaded from the server again.\n * \n * @return boolean\n */\nexport function remove_override(options) {\n    options = processOptions(options);\n    setLocalStorage(globalOptions.cookie_name, {}, -1);\n    if (options.reevaluate) {\n        main();\n    }\n    return true;\n}\n\n\n","module.exports = set;\n\n/*\n  var obj1 = {};\n  set(obj1, 'a.aa.aaa', 4); // true\n  obj1; // {a: {aa: {aaa: 4}}}\n\n  var obj2 = {};\n  set(obj2, ['a', 'aa', 'aaa'], 4); // true\n  obj2; // {a: {aa: {aaa: 4}}}\n\n  var obj3 = {a: {aa: {aaa: 2}}};\n  set(obj3, 'a.aa.aaa', 3); // true\n  obj3; // {a: {aa: {aaa: 3}}}\n\n  const obj5 = {a: {}};\n  const sym = Symbol();\n  set(obj5.a, sym, 7); // true\n  obj5; // {a: {Symbol(): 7}}\n*/\n\nfunction set(obj, propsArg, value) {\n  var props, lastProp;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  lastProp = props.pop();\n  if (!lastProp) {\n    return false;\n  }\n  prototypeCheck(lastProp);\n  var thisProp;\n  while ((thisProp = props.shift())) {\n    prototypeCheck(thisProp);\n    if (typeof obj[thisProp] == 'undefined') {\n      obj[thisProp] = {};\n    }\n    obj = obj[thisProp];\n    if (!obj || typeof obj != 'object') {\n      return false;\n    }\n  }\n  obj[lastProp] = value;\n  return true;\n}\n\nfunction prototypeCheck(prop) {\n  // coercion is intentional to catch prop values like `['__proto__']`\n  if (prop == '__proto__' || prop == 'constructor' || prop == 'prototype') {\n    throw new Error('setting of prototype values not supported');\n  }\n}\n","var collectionCompare = compare;\n\n/*\n  primitives: value1 === value2\n  functions: value1.toString == value2.toString\n  arrays: if length, sequence and values of properties are identical\n  objects: if length, names and values of properties are identical\n  compare([[1, [2, 3]], [[1, [2, 3]]); // true\n  compare([[1, [2, 3], 4], [[1, [2, 3]]); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3}); // true\n  compare({a: 2, b: 3}, {b: 3, a: 2}); // true\n  compare({a: 2, b: 3, c: 4}, {a: 2, b: 3}); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3, c: 4}); // false\n  compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]); // true\n*/\n\nfunction compare(value1, value2) {\n  if (value1 === value2) {\n    return true;\n  }\n\n  /* eslint-disable no-self-compare */\n  // if both values are NaNs return true\n  if (value1 !== value1 && value2 !== value2) {\n    return true;\n  }\n\n  if (\n    typeof value1 != typeof value2 || // primitive != primitive wrapper\n    {}.toString.call(value1) != {}.toString.call(value2) // check for other (maybe nullish) objects\n  ) {\n    return false;\n  }\n\n  if (value1 !== Object(value1)) {\n    // non equal primitives\n    return false;\n  }\n\n  if (!value1) {\n    return false;\n  }\n\n  if (Array.isArray(value1)) {\n    return compareArrays(value1, value2);\n  }\n\n  if ({}.toString.call(value1) == '[object Set]') {\n    return compareArrays(Array.from(value1), Array.from(value2));\n  }\n\n  if ({}.toString.call(value1) == '[object Object]') {\n    return compareObjects(value1, value2);\n  }\n\n  return compareNativeSubtypes(value1, value2);\n}\n\nfunction compareNativeSubtypes(value1, value2) {\n  // e.g. Function, RegExp, Date\n  return value1.toString() === value2.toString();\n}\n\nfunction compareArrays(value1, value2) {\n  var len = value1.length;\n\n  if (len != value2.length) {\n    return false;\n  }\n\n  for (var i = 0; i < len; i++) {\n    if (!compare(value1[i], value2[i])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction compareObjects(value1, value2) {\n  var keys1 = Object.keys(value1);\n  var len = keys1.length;\n\n  if (len != Object.keys(value2).length) {\n    return false;\n  }\n\n  for (var i = 0; i < len; i++) {\n    var key1 = keys1[i];\n\n    if (!(value2.hasOwnProperty(key1) && compare(value1[key1], value2[key1]))) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nexport {collectionCompare as default};\n","import { do_shortcodes, do_shortcodes_init } from './shortcodes/index';\nimport { add_body_classes } from './body_classes';\nimport { options } from './lookup/options';\nimport { setRecordDataLastEvaluated } from \"./lookup/storage\";\n\nlet firstCall = true;\n\nexport function main() {\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Do Main');\n    }\n\n    if (firstCall) {\n        do_shortcodes_init();\n        firstCall = false;        \n    }\n\n    if (options.do_body_classes) {\n        add_body_classes();\n    }\n\n    // Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.\n    do_shortcodes();\n\n    setRecordDataLastEvaluated();\n}","import { triggerNativeEvent } from \"../lib/events\";\nimport { domReady } from \"../lib/html\";\nimport { action_on_elements } from \"./helpers\";\nimport { do_shortcode_country_select, do_shortcode_flags, do_shortcode_normal, do_shortcode_text_input } from \"./normal\";\nimport { init as onchangeInit }  from \"./onchange\";\nimport { do_shortcode_show_if } from \"./show-if\";\n\n\nexport const do_shortcodes_init = function () {\n    onchangeInit();\n}\n\nexport const do_shortcodes = async function do_shortcodes() {\n    // Before doing any of these, the DOM tree needs to be loaded\n    await domReady;\n\n    // These are called in parallel, as they are async functions - wait for all to finish\n    Promise.allSettled([\n        action_on_elements('js-geoip-detect-shortcode',\n            'could not execute shortcode(s) [geoip_detect2 ...]', do_shortcode_normal),\n\n        action_on_elements('js-geoip-detect-flag',\n            'could not configure the flag(s)', do_shortcode_flags),\n\n        action_on_elements('js-geoip-text-input',\n            'could not set the value of the text input field(s)', do_shortcode_text_input),\n\n        action_on_elements('js-geoip-detect-country-select',\n            'could not set the value of the select field(s)', do_shortcode_country_select),\n\n        action_on_elements('js-geoip-detect-show-if',\n            'could not execute the show-if/hide-if conditions', do_shortcode_show_if),\n\n    ]);\n\n    const body = document.getElementsByTagName('body')[0];\n    triggerNativeEvent(body, 'geoip-detect-shortcodes-done');\n};\n","\nlet _internalEvent = false;\nexport function isInternalEvent() {\n    return _internalEvent;\n}\n\nexport function triggerNativeEvent(el, eventName, options = null) {\n    _internalEvent = true;\n\n    let event;\n    if (window.CustomEvent && typeof window.CustomEvent === 'function') {\n        event = new CustomEvent(eventName, {detail : options});\n    } else {\n        // Compat for IE\n        event = document.createEvent('CustomEvent');\n        event.initCustomEvent(eventName, true, true, options);\n    }\n    el.dispatchEvent(event);\n\n    _internalEvent = false;\n}","export function isUnitTesting() {\n    return process.env.JEST_WORKER_ID !== undefined;\n}\n\nexport const domReady = new Promise(resolve => {\n    if (isUnitTesting()) {\n        resolve();\n    }\n\n    if (document.readyState === \"loading\") {\n        if (document.addEventListener) {\n            document.addEventListener('DOMContentLoaded', resolve);\n        } else {\n            document.attachEvent('onreadystatechange', function () {\n                if (document.readyState != 'loading') {\n                    resolve();\n                }\n            });\n        }\n    } else {\n        resolve();\n    }\n});\n\nexport function selectItemByValue(el, value) {\n    for (var i = 0; i < el.options.length; i++) {\n        if (el.options[i].value === value) {\n            el.selectedIndex = i;\n            return true;\n        }\n    }\n    return false;\n}\n\n/**\n * @param {*} el                Select Tag\n * @param {string} attributeName     HTML attribute name to search by\n * @param {string} attributeValue    HTML attribute value to search by\n * @returns boolean TRUE if Value found in select tag\n */\nexport function selectItemByAttribute(el, attributeName, attributeValue) {\n    for (let i = 0; i < el.options.length; i++) {\n        if (el.options[i].getAttribute(attributeName) === attributeValue) {\n            el.selectedIndex = i;\n            return true;\n        }\n    }\n    return false;\n}","import { get_info } from \"../lookup/get_info\";\n\n// Get Options from data-options and json parse them\nexport function get_options(el) {\n    const raw = el.getAttribute('data-options');\n    try {\n        return JSON.parse(raw);\n    } catch (e) {\n        return {};\n    }\n}\n\nexport async function action_on_elements(className, errorMessage, callback) {\n    const elements = document.getElementsByClassName(className);\n    if (!elements.length) return;\n\n    const record = await get_info();\n\n    if (record.error()) {\n        console.error('Geolocation IP Detection Error (' + errorMessage + '): ' + record.error());\n        return;\n    }\n\n    Array.from(elements)\n        .forEach(el => callback(el, record));\n}\n\nexport function get_value_from_record(el, record, property = null) {\n    const opt = get_options(el);\n    property = property || opt.property;\n    if (opt.skip_cache) {\n        console.warn(\"Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME.\");\n    }\n\n    return record.get_with_locales(property, opt.lang, opt.default);\n}","import { triggerNativeEvent } from \"../lib/events\";\nimport { selectItemByAttribute } from \"../lib/html\";\nimport { get_value_from_record, get_options } from \"./helpers\";\nimport { autosave_element } from \"./onchange\";\n\nexport function do_shortcode_normal(el, record) {\n    el.innerText = get_value_from_record(el, record);\n}\n\nexport function do_shortcode_flags(el, record) {\n    const country = record.get_country_iso() || get_options(el).default;\n    if (country) {\n        el.classList.add('flag-icon-' + country)\n    }\n}\n\n\nexport function do_shortcode_country_select(el, record) {\n    let country = record.get_country_iso();\n\n    if (selectItemByAttribute(el, 'data-c', country)) {\n        triggerNativeEvent(el, 'change');\n        return;\n    }\n\n    // The country is not the list of countries - select empty option instead\n    if (selectItemByAttribute(el, 'data-c', '')) {\n        triggerNativeEvent(el, 'change');\n    } \n}\n\nexport function do_shortcode_text_input(el, record) {\n    el.value = get_value_from_record(el, record);\n    triggerNativeEvent(el, 'change');\n}","\nimport { check_recursive_after, check_recursive_before } from \"../lib/check-recursive\";\nimport { isInternalEvent } from \"../lib/events\";\nimport { set_override_with_merge } from \"../lookup/override\";\nimport { get_options } from \"./helpers\";\n\nexport function init() {\n    document.addEventListener('change', event_listener_autosave_on_change, false);\n}\n\nfunction event_listener_autosave_on_change(event) {\n    if (isInternalEvent()) {\n        return;\n    }\n\n    const target = event.target;\n    if (target?.matches && target.matches('.js-geoip-detect-input-autosave')) {\n        if (process.env.NODE_ENV !== 'production') {\n            console.log('autosave on change', target);\n        }\n\n        autosave_element(target);\n    }\n}\n\n/**\n * When calling this method, be very careful not to introduce an infinite loop!\n * @param {*} el \n */\nexport function autosave_element(el) {\n    const property = get_options(el).property;\n    const value = el.value;\n\n    if (!check_recursive_before()) {\n        return;\n    }\n\n    if (el.matches('select.js-geoip-detect-country-select')) {\n        const selected = el.options[el.selectedIndex];\n        const isoCode = selected?.getAttribute('data-c');\n\n        set_override_with_merge('country.iso_code', isoCode.toUpperCase(), { reevaluate: false });\n    }\n\n    set_override_with_merge(property, value, { reevaluate: true }); // might call do_shortcodes etc.\n\n    check_recursive_after();\n}","\nlet _listener_active = false; // for recursion detection (maybe remove later)\nlet _change_counter = 0; \n\nexport function check_recursive_before() {\n    _change_counter++;\n    if (_listener_active || _change_counter > 10) {\n        console.warn('Error: Thats weird! autosave change detected a recursion (' + _change_counter + ')! Please file a bug report about this and include the first 10 lines of the callstack below:');\n        console.trace();\n        if (process.env.NODE_ENV !== 'production') {\n            debugger;\n        }\n        return false;\n    }\n    _listener_active = true;\n    return true;\n}\n\n\nexport function check_recursive_after() {\n    _listener_active = false;\n}","import { get_options } from './helpers';\nimport _intersect from 'just-intersect';\n\n\nexport function do_shortcode_show_if(el, record) {\n    const opt = get_options(el);\n    const evaluated = geoip_detect2_shortcode_evaluate_conditions(opt.parsed, opt, record);\n\n    if (!evaluated) {\n        el.style.display = \"none\";\n        el.classList.add('geoip-hidden');\n        el.classList.remove('geoip-shown');\n    } else {\n        el.style.display = '';\n        el.classList.remove('geoip-hidden');\n        el.classList.add('geoip-shown');\n    }\n}\n\nexport function geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record) {\n    const alternativePropertyNames = [\n        'name',\n        'iso_code',\n        'iso_code3',\n        'code',\n        'geoname_id',\n    ];\n\n    let isConditionMatching = (parsed.op === 'or') ? false : true;\n\n    parsed.conditions.forEach(c => {\n        let subConditionMatching = false;\n        let values = [];\n\n        const raw_value = record.get_raw(c.p);\n\n        if (raw_value === null) {\n            subConditionMatching = false;\n        } else {\n            if (typeof (raw_value) === 'object') {\n                alternativePropertyNames.forEach(name => {\n                    if (raw_value[name]) {\n                        values.push(raw_value[name]);\n                    } else if (name == 'name') {\n                        values.push(record.get_with_locales(c.p, opt.lang));\n                    }\n                })\n            } else {\n                values = [raw_value]\n            }\n        }\n\n        subConditionMatching = geoip_detect2_shortcode_check_subcondition(c.v, values);\n\n        if (c.not) {\n            subConditionMatching = !subConditionMatching;\n        }\n\n        if (parsed.op === 'or') {\n            isConditionMatching = isConditionMatching || subConditionMatching;\n        } else {\n            isConditionMatching = isConditionMatching && subConditionMatching;\n        }\n\n    });\n\n    if (parsed.not) {\n        isConditionMatching = !isConditionMatching;\n    }\n\n    return isConditionMatching;\n}\n\nfunction geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues) {\n    if (actualValues[0] === true) {\n        actualValues = ['true', 'yes', 'y', '1'];\n    } else if (actualValues[0] === false) {\n        actualValues = ['false', 'no', 'n', '0', ''];\n    }\n\n    actualValues = actualValues.map(x => String(x).toLowerCase())\n\n    expectedValues = expectedValues.split(',');\n    if (expectedValues.indexOf('') !== -1) {\n        if (actualValues.length === 0) {\n            return true;\n        }\n    }\n\n    const intersect = _intersect(expectedValues, actualValues);\n\n    return intersect.length > 0;\n}","module.exports = intersect;\n\n/*\n  intersect([1, 2, 5, 6], [2, 3, 5, 6]); // [2, 5, 6]\n  intersect([1, 2, 2, 4, 5], [3, 2, 2, 5, 7]); // [2, 5]\n*/\n\nfunction intersect(arr1, arr2) {\n  if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n    throw new Error('expected both arguments to be arrays');\n  }\n\n  var result = [];\n  var set = convertArrayToSet(arr2);\n  var memo = {};\n\n  for (var i = 0; i < arr1.length; i++) {\n    var item = arr1[i];\n\n    if (set.hasOwnProperty(item) && !memo.hasOwnProperty(item)) {\n      result.push(item);\n      memo[item] = true;\n    }\n  }\n\n  return result;\n}\n\nfunction convertArrayToSet(arr) {\n  var output = {};\n\n  for (var i = 0; i < arr.length; i++) {\n    var item = arr[i];\n    if (!output.hasOwnProperty(item)) {\n      output[item] = true;\n    }\n  }\n\n  return output;\n}\n","import { triggerNativeEvent } from './lib/events';\nimport { domReady } from './lib/html';\nimport { get_info } from './lookup/get_info';\n\nexport function calc_classes(record) {\n    return {\n        country: record.get('country.iso_code'),\n        'country-is-in-european-union': record.get('country.is_in_european_union', false),\n        continent: record.get('continent.code'),\n        province: record.get('most_specific_subdivision.iso_code'),\n        city: record.get('city.names.en')\n    };\n}\n\nfunction remove_css_classes_by_prefix(el, prefix) {\n    const classes = el.className.split(\" \").filter(c => !c.startsWith(prefix));\n    el.className = classes.join(\" \").trim();\n}\n\nexport async function add_body_classes() {\n    const record = await get_info();\n\n    if (record.error()) {\n        console.error('Geolocation IP Detection Error (could not add CSS-classes to body): ' + record.error());\n        return;\n    }\n\n    await domReady;\n\n    add_classes_to_body(record);\n}\n\n// ported from Wordpress PHP\nfunction sanitize_html_class(string) {\n    string = string + '';\n    string = string.replace(/%[a-fA-F0-9][a-fA-F0-9]/g, '');\n    string = string.replace(/[^A-Za-z0-9_-]/g, '');\n    return string;\n}\n\nexport function add_classes_to_body(record) {\n    const css_classes = calc_classes(record);\n\n    const body = document.getElementsByTagName('body')[0];\n    \n    // Remove old classes in case there are any\n    remove_css_classes_by_prefix(body, 'geoip-');\n    \n    for (let key of Object.keys(css_classes)) {\n        const value = sanitize_html_class(css_classes[key]);\n        if (value) {\n            if (typeof (value) == 'string') {\n                body.classList.add(`geoip-${key}-${value}`);\n            } else {\n                body.classList.add(`geoip-${key}`);\n            }\n        }\n    }\n\n    triggerNativeEvent(body, 'geoip-detect-body-classes-done');\n}"],"names":["$parcel$interopDefault","a","__esModule","default","$36539b83e1634a28$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$36539b83e1634a28$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$ce3c1b4c7e934d38$export$5f0017c582d45a2d","obj","Symbol","constructor","$62173737a43864ee$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","iterator","n","v","step","op","TypeError","call","pop","length","push","e","$459462d0493710da$var$_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","$0a65997b05368712$export$1e71eb4bef00f6b0","_ref","_do_shortcodes","$15191b2a1f81108d$var$_window_geoip_detect","$f55d1d59abc73724$exports","propsArg","defaultValue","prop","Array","isArray","slice","split","Error","shift","$7114dcf2592f929a$var$_get_localized","ret","locales","names","locale","name","$7114dcf2592f929a$export$13bc6c4afe8cd6ab","map","x","toLowerCase","replace","join","$7114dcf2592f929a$var$Record","protoProps","staticProps","Record","data","default_locales","instance","Constructor","is_empty","_process_locales","default_value","get_with_locales","_lookup_with_locales","substr","get_raw","console","warn","country","get","prototype","$77bad6cade3b6dd2$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$77bad6cade3b6dd2$export$8fe2eaa78e58529f","str","JSON","parse","$77bad6cade3b6dd2$var$createErrorObject","errorMsg","extra","$77bad6cade3b6dd2$export$49434baf33460b11","_arguments","_state","responseText","$15191b2a1f81108d$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","cookie_duration_in_days","cookie_name","do_body_classes","$17ade8b08da2dc4a$export$1f73f60bdb811cb1","variable","ttl_sec","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$17ade8b08da2dc4a$export$d3720feff416e85b","getItem","removeItem","$35df1ab881cd697b$export$c0c5a36406ccde34","$35df1ab881cd697b$export$bfae0a1e3adc82ee","cache_duration","$35df1ab881cd697b$var$lastEvaluated","$35df1ab881cd697b$export$7bc079f12f70511d","$8e261c2c74b8af80$var$ajaxPromise","$8e261c2c74b8af80$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","log","responseJSON","$76a10a619dfa4fa7$export$3697bcf53517e83c","$76a10a619dfa4fa7$var$_get_info","$38a346b953615f57$exports","$38a346b953615f57$var$prototypeCheck","$c866044571f5b19e$var$compare","value1","value2","$c866044571f5b19e$var$compareArrays","from","$c866044571f5b19e$var$compareObjects","keys1","keys","len","key1","hasOwnProperty","lastProp","thisProp","$62a02ed271bec99e$var$_internalEvent","$62a02ed271bec99e$export$f0ffca0e7194bd91","el","eventName","event","CustomEvent","detail","document","createEvent","initCustomEvent","dispatchEvent","$6c67fe7b7c1ed07e$export$d680cb6eec13a7c7","addEventListener","attachEvent","$6c67fe7b7c1ed07e$export$212ec54c5d687e78","attributeName","attributeValue","getAttribute","selectedIndex","$fdf9085f15b5aadb$export$aafcad1af8162002","raw","$fdf9085f15b5aadb$export$bb8a045c548d38f9","className","errorMessage","callback","$fdf9085f15b5aadb$var$_action_on_elements","elements","record","getElementsByClassName","forEach","$fdf9085f15b5aadb$export$2bcc52ba6c088b4a","property","opt","skip_cache","lang","$0dcdb83b66c16e83$var$_listener_active","$0dcdb83b66c16e83$var$_change_counter","$851ca291cb09e7ef$var$event_listener_autosave_on_change","matches","$851ca291cb09e7ef$export$be51a27c79b931de","trace","selected","$2d68ab6fecc3ec8e$export$38a0b31e9febbbe1","isoCode","toUpperCase","reevaluate","$6ab456611b3c49f0$export$c5bfd938fb7f5403","innerText","$6ab456611b3c49f0$export$67c46edf2422701b","get_country_iso","classList","add","$6ab456611b3c49f0$export$8b2cf4a2576ea856","$6ab456611b3c49f0$export$46eed00f10e80dd5","$0369216571f38677$exports","$37a9471c1c3b4c10$export$7f72d39cfa7a0f7a","parsed","alternativePropertyNames","isConditionMatching","conditions","c","expectedValues","actualValues","subConditionMatching","values","raw_value","p","String","indexOf","intersect","not","style","display","remove","arr1","arr2","result","set","$0369216571f38677$var$convertArrayToSet","arr","output","item","memo","$588b01350e186998$export$7481777ea0ea965d","$588b01350e186998$export$42610705290faf95","allSettled","getElementsByTagName","$1059251199ab55f6$var$_add_body_classes","$1059251199ab55f6$export$4e7274a5cb77ccb6","css_classes","continent","province","city","classes","filter","startsWith","trim","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","string","concat","return","$c31666fbeeec77f5$var$firstCall","$c31666fbeeec77f5$export$f22da7240b7add18","$2d68ab6fecc3ec8e$var$processOptions","duration_in_days","oldData","endsWith","$2d68ab6fecc3ec8e$export$c3c74383dfd15775","newData","serialize","get_info","set_override","set_override_with_merge","remove_override"],"version":3,"file":"frontend_full.js.map"}
     1{"mappings":"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","sources":["<anon>","js/frontend_full.js","js/lookup/get_info.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/tslib/tslib.es6.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/just-safe-get/index.cjs","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js","js/lookup/override.js","node_modules/just-safe-set/index.cjs","node_modules/just-compare/index.mjs","js/main.js","js/shortcodes/index.js","js/lib/events.js","js/lib/html.js","js/shortcodes/helpers.js","js/shortcodes/normal.js","js/shortcodes/onchange.js","js/lib/check-recursive.js","js/shortcodes/show-if.js","node_modules/just-intersect/index.cjs","js/body_classes.js"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Full\": \n\n All the features, biggest filesize\n*/ function $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $9d998481b0dad3fe$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\nfunction $e9b7c4456bbf1b23$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $8bfa850c9b09c237$var$extendStatics = function extendStatics1(d, b) {\n    $8bfa850c9b09c237$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $8bfa850c9b09c237$var$extendStatics(d, b);\n};\nfunction $8bfa850c9b09c237$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $8bfa850c9b09c237$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $8bfa850c9b09c237$export$18ce0697a983be9b = function __assign1() {\n    $8bfa850c9b09c237$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $8bfa850c9b09c237$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $8bfa850c9b09c237$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $8bfa850c9b09c237$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $8bfa850c9b09c237$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $8bfa850c9b09c237$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $8bfa850c9b09c237$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $8bfa850c9b09c237$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $8bfa850c9b09c237$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $8bfa850c9b09c237$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $8bfa850c9b09c237$export$45d3717a4c69092e(o, m, p);\n}\nfunction $8bfa850c9b09c237$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $8bfa850c9b09c237$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($8bfa850c9b09c237$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $8bfa850c9b09c237$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $8bfa850c9b09c237$export$10c90e4f7922046c(v) {\n    return this instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? (this.v = v, this) : new $8bfa850c9b09c237$export$10c90e4f7922046c(v);\n}\nfunction $8bfa850c9b09c237$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $8bfa850c9b09c237$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $8bfa850c9b09c237$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $8bfa850c9b09c237$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $8bfa850c9b09c237$export$19a8beecd37a4c45 === \"function\" ? $8bfa850c9b09c237$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $8bfa850c9b09c237$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $8bfa850c9b09c237$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $8bfa850c9b09c237$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $8bfa850c9b09c237$export$45d3717a4c69092e(result, mod, k);\n    }\n    $8bfa850c9b09c237$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $8bfa850c9b09c237$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $8bfa850c9b09c237$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $8bfa850c9b09c237$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $8bfa850c9b09c237$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\nfunction $b2c9f914348c2e13$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $f301e9a131a639bf$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $f301e9a131a639bf$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $f301e9a131a639bf$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $f301e9a131a639bf$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $68426998e3b11619$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\n\nvar $72e224a45f2258bd$exports = {};\n\n$72e224a45f2258bd$exports = $72e224a45f2258bd$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $72e224a45f2258bd$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $a4c6bf567c1b63c8$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $a4c6bf567c1b63c8$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $b2c9f914348c2e13$export$2996f80ef42b8419)(this, Record);\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $f301e9a131a639bf$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($72e224a45f2258bd$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $a4c6bf567c1b63c8$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $a4c6bf567c1b63c8$export$2e2bcd8739ae039 = $a4c6bf567c1b63c8$var$Record;\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $5115e01e50a35b95$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $5115e01e50a35b95$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $5115e01e50a35b95$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $5115e01e50a35b95$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $5115e01e50a35b95$export$49434baf33460b11 = function() {\n    var _ref = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $5115e01e50a35b95$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $5115e01e50a35b95$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $3d0d91a3ea5987c5$var$_window_geoip_detect;\nvar $3d0d91a3ea5987c5$export$41c562ebe57d11e2 = (($3d0d91a3ea5987c5$var$_window_geoip_detect = window.geoip_detect) === null || $3d0d91a3ea5987c5$var$_window_geoip_detect === void 0 ? void 0 : $3d0d91a3ea5987c5$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $9a0f598d59a61a3e$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $9a0f598d59a61a3e$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $9a0f598d59a61a3e$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\n\nvar $f422a70a3b9c8a83$export$c0c5a36406ccde34 = function() {\n    return (0, $9a0f598d59a61a3e$export$d3720feff416e85b)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name);\n};\nvar $f422a70a3b9c8a83$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $9a0f598d59a61a3e$export$1f73f60bdb811cb1)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $f422a70a3b9c8a83$var$lastEvaluated = {};\nvar $f422a70a3b9c8a83$export$88983ef80f4f72ac = function() {\n    return $f422a70a3b9c8a83$var$lastEvaluated;\n};\nvar $f422a70a3b9c8a83$export$7bc079f12f70511d = function() {\n    $f422a70a3b9c8a83$var$lastEvaluated = $f422a70a3b9c8a83$export$c0c5a36406ccde34();\n};\nvar $f422a70a3b9c8a83$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $a4c6bf567c1b63c8$export$2e2bcd8739ae039)($f422a70a3b9c8a83$export$c0c5a36406ccde34(), (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $c7d084c9c1bb0fef$var$ajaxPromise = null;\nfunction $c7d084c9c1bb0fef$var$get_info_raw() {\n    if (!$c7d084c9c1bb0fef$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $c7d084c9c1bb0fef$var$ajaxPromise = (0, $5115e01e50a35b95$export$49434baf33460b11)(url);\n        $c7d084c9c1bb0fef$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $c7d084c9c1bb0fef$var$ajaxPromise;\n}\nfunction $c7d084c9c1bb0fef$export$fba94e0366f5a647() {\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\nfunction $c7d084c9c1bb0fef$var$_get_info_cached() {\n    $c7d084c9c1bb0fef$var$_get_info_cached = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $c7d084c9c1bb0fef$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $f422a70a3b9c8a83$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\n\n\n\nfunction $b4ba9c8e7a201193$export$3697bcf53517e83c() {\n    return $b4ba9c8e7a201193$var$_get_info.apply(this, arguments);\n}\nfunction $b4ba9c8e7a201193$var$_get_info() {\n    $b4ba9c8e7a201193$var$_get_info = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response, record;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $c7d084c9c1bb0fef$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    if (typeof response !== \"object\") {\n                        console.error(\"Geolocation IP Detection Error: Record should be an object, not a \" + (typeof response === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(response)), response);\n                        response = {\n                            \"extra\": {\n                                \"error\": response || \"Network error, look at the original server response ...\"\n                            }\n                        };\n                    }\n                    record = new (0, $a4c6bf567c1b63c8$export$2e2bcd8739ae039)(response, (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).default_locales);\n                    return [\n                        2,\n                        record\n                    ];\n            }\n        });\n    });\n    return $b4ba9c8e7a201193$var$_get_info.apply(this, arguments);\n}\n\n\n\n\n\nvar $8435f80da3db6af7$exports = {};\n\n$8435f80da3db6af7$exports = $8435f80da3db6af7$var$set;\n/*\n  var obj1 = {};\n  set(obj1, 'a.aa.aaa', 4); // true\n  obj1; // {a: {aa: {aaa: 4}}}\n\n  var obj2 = {};\n  set(obj2, ['a', 'aa', 'aaa'], 4); // true\n  obj2; // {a: {aa: {aaa: 4}}}\n\n  var obj3 = {a: {aa: {aaa: 2}}};\n  set(obj3, 'a.aa.aaa', 3); // true\n  obj3; // {a: {aa: {aaa: 3}}}\n\n  const obj5 = {a: {}};\n  const sym = Symbol();\n  set(obj5.a, sym, 7); // true\n  obj5; // {a: {Symbol(): 7}}\n*/ function $8435f80da3db6af7$var$set(obj, propsArg, value) {\n    var props, lastProp;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    lastProp = props.pop();\n    if (!lastProp) return false;\n    $8435f80da3db6af7$var$prototypeCheck(lastProp);\n    var thisProp;\n    while(thisProp = props.shift()){\n        $8435f80da3db6af7$var$prototypeCheck(thisProp);\n        if (typeof obj[thisProp] == \"undefined\") obj[thisProp] = {};\n        obj = obj[thisProp];\n        if (!obj || typeof obj != \"object\") return false;\n    }\n    obj[lastProp] = value;\n    return true;\n}\nfunction $8435f80da3db6af7$var$prototypeCheck(prop) {\n    // coercion is intentional to catch prop values like `['__proto__']`\n    if (prop == \"__proto__\" || prop == \"constructor\" || prop == \"prototype\") throw new Error(\"setting of prototype values not supported\");\n}\n\n\n\n\nvar $d73968d8a0a066f2$export$2e2bcd8739ae039 = $d73968d8a0a066f2$var$compare;\n/*\n  primitives: value1 === value2\n  functions: value1.toString == value2.toString\n  arrays: if length, sequence and values of properties are identical\n  objects: if length, names and values of properties are identical\n  compare([[1, [2, 3]], [[1, [2, 3]]); // true\n  compare([[1, [2, 3], 4], [[1, [2, 3]]); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3}); // true\n  compare({a: 2, b: 3}, {b: 3, a: 2}); // true\n  compare({a: 2, b: 3, c: 4}, {a: 2, b: 3}); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3, c: 4}); // false\n  compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]); // true\n*/ function $d73968d8a0a066f2$var$compare(value1, value2) {\n    if (value1 === value2) return true;\n    /* eslint-disable no-self-compare */ // if both values are NaNs return true\n    if (value1 !== value1 && value2 !== value2) return true;\n    if ((typeof value1 === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(value1)) != (typeof value2 === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(value2)) || // primitive != primitive wrapper\n    ({}).toString.call(value1) != ({}).toString.call(value2) // check for other (maybe nullish) objects\n    ) return false;\n    if (value1 !== Object(value1)) // non equal primitives\n    return false;\n    if (!value1) return false;\n    if (Array.isArray(value1)) return $d73968d8a0a066f2$var$compareArrays(value1, value2);\n    if (({}).toString.call(value1) == \"[object Set]\") return $d73968d8a0a066f2$var$compareArrays(Array.from(value1), Array.from(value2));\n    if (({}).toString.call(value1) == \"[object Object]\") return $d73968d8a0a066f2$var$compareObjects(value1, value2);\n    return $d73968d8a0a066f2$var$compareNativeSubtypes(value1, value2);\n}\nfunction $d73968d8a0a066f2$var$compareNativeSubtypes(value1, value2) {\n    // e.g. Function, RegExp, Date\n    return value1.toString() === value2.toString();\n}\nfunction $d73968d8a0a066f2$var$compareArrays(value1, value2) {\n    var len = value1.length;\n    if (len != value2.length) return false;\n    for(var i = 0; i < len; i++){\n        if (!$d73968d8a0a066f2$var$compare(value1[i], value2[i])) return false;\n    }\n    return true;\n}\nfunction $d73968d8a0a066f2$var$compareObjects(value1, value2) {\n    var keys1 = Object.keys(value1);\n    var len = keys1.length;\n    if (len != Object.keys(value2).length) return false;\n    for(var i = 0; i < len; i++){\n        var key1 = keys1[i];\n        if (!(value2.hasOwnProperty(key1) && $d73968d8a0a066f2$var$compare(value1[key1], value2[key1]))) return false;\n    }\n    return true;\n}\n\n\n\n\nvar $3f68aa62fc033904$var$_internalEvent = false;\nfunction $3f68aa62fc033904$export$b27ccd6cf6073c1c() {\n    return $3f68aa62fc033904$var$_internalEvent;\n}\nfunction $3f68aa62fc033904$export$f0ffca0e7194bd91(el, eventName) {\n    var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n    $3f68aa62fc033904$var$_internalEvent = true;\n    var event;\n    if (window.CustomEvent && typeof window.CustomEvent === \"function\") event = new CustomEvent(eventName, {\n        detail: options\n    });\n    else {\n        // Compat for IE\n        event = document.createEvent(\"CustomEvent\");\n        event.initCustomEvent(eventName, true, true, options);\n    }\n    el.dispatchEvent(event);\n    $3f68aa62fc033904$var$_internalEvent = false;\n}\n\n\nfunction $b4d1c184cabe171a$export$25cf4bb9cb194205() {\n    return false;\n}\nvar $b4d1c184cabe171a$export$d680cb6eec13a7c7 = new Promise(function(resolve) {\n    if ($b4d1c184cabe171a$export$25cf4bb9cb194205()) resolve();\n    if (document.readyState === \"loading\") {\n        if (document.addEventListener) document.addEventListener(\"DOMContentLoaded\", resolve);\n        else document.attachEvent(\"onreadystatechange\", function() {\n            if (document.readyState != \"loading\") resolve();\n        });\n    } else resolve();\n});\nfunction $b4d1c184cabe171a$export$a5deb02d4df4db34(el, value) {\n    for(var i = 0; i < el.options.length; i++)if (el.options[i].value === value) {\n        el.selectedIndex = i;\n        return true;\n    }\n    return false;\n}\nfunction $b4d1c184cabe171a$export$212ec54c5d687e78(el, attributeName, attributeValue) {\n    for(var i = 0; i < el.options.length; i++)if (el.options[i].getAttribute(attributeName) === attributeValue) {\n        el.selectedIndex = i;\n        return true;\n    }\n    return false;\n}\n\n\n\n\n\nfunction $e41b329f42db23c8$export$aafcad1af8162002(el) {\n    var raw = el.getAttribute(\"data-options\");\n    try {\n        return JSON.parse(raw);\n    } catch (e) {\n        return {};\n    }\n}\nfunction $e41b329f42db23c8$export$bb8a045c548d38f9(className, errorMessage, callback) {\n    return $e41b329f42db23c8$var$_action_on_elements.apply(this, arguments);\n}\nfunction $e41b329f42db23c8$var$_action_on_elements() {\n    $e41b329f42db23c8$var$_action_on_elements = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function(className, errorMessage, callback) {\n        var elements, record;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    elements = document.getElementsByClassName(className);\n                    if (!elements.length) return [\n                        2\n                    ];\n                    return [\n                        4,\n                        (0, $b4ba9c8e7a201193$export$3697bcf53517e83c)()\n                    ];\n                case 1:\n                    record = _state.sent();\n                    if (record.error()) {\n                        console.error(\"Geolocation IP Detection Error (\" + errorMessage + \"): \" + record.error());\n                        return [\n                            2\n                        ];\n                    }\n                    Array.from(elements).forEach(function(el) {\n                        return callback(el, record);\n                    });\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return $e41b329f42db23c8$var$_action_on_elements.apply(this, arguments);\n}\nfunction $e41b329f42db23c8$export$2bcc52ba6c088b4a(el, record) {\n    var property = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n    var opt = $e41b329f42db23c8$export$aafcad1af8162002(el);\n    property = property || opt.property;\n    if (opt.skip_cache) console.warn(\"Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME.\");\n    return record.get_with_locales(property, opt.lang, opt.default);\n}\n\n\n\n\n\nvar $7944654ce2dd9d65$var$_listener_active = false; // for recursion detection (maybe remove later)\nvar $7944654ce2dd9d65$var$_change_counter = 0;\nfunction $7944654ce2dd9d65$export$887b871aa5aacaaa() {\n    $7944654ce2dd9d65$var$_change_counter++;\n    if ($7944654ce2dd9d65$var$_listener_active || $7944654ce2dd9d65$var$_change_counter > 10) {\n        console.warn(\"Error: Thats weird! autosave change detected a recursion (\" + $7944654ce2dd9d65$var$_change_counter + \")! Please file a bug report about this and include the first 10 lines of the callstack below:\");\n        console.trace();\n        return false;\n    }\n    $7944654ce2dd9d65$var$_listener_active = true;\n    return true;\n}\nfunction $7944654ce2dd9d65$export$f60ab07833116193() {\n    $7944654ce2dd9d65$var$_listener_active = false;\n}\n\n\n\n\n\nfunction $3bb001785c092908$export$2cd8252107eb640b() {\n    document.addEventListener(\"change\", $3bb001785c092908$var$event_listener_autosave_on_change, false);\n}\nfunction $3bb001785c092908$var$event_listener_autosave_on_change(event) {\n    if ((0, $3f68aa62fc033904$export$b27ccd6cf6073c1c)()) return;\n    var target = event.target;\n    if ((target === null || target === void 0 ? void 0 : target.matches) && target.matches(\".js-geoip-detect-input-autosave\")) $3bb001785c092908$export$be51a27c79b931de(target);\n}\nfunction $3bb001785c092908$export$be51a27c79b931de(el) {\n    var property = (0, $e41b329f42db23c8$export$aafcad1af8162002)(el).property;\n    var value = el.value;\n    if (!(0, $7944654ce2dd9d65$export$887b871aa5aacaaa)()) return;\n    if (el.matches(\"select.js-geoip-detect-country-select\")) {\n        var selected = el.options[el.selectedIndex];\n        var isoCode = selected === null || selected === void 0 ? void 0 : selected.getAttribute(\"data-c\");\n        (0, $03d6c28e95082604$export$38a0b31e9febbbe1)(\"country.iso_code\", isoCode.toUpperCase(), {\n            reevaluate: false\n        });\n    }\n    (0, $03d6c28e95082604$export$38a0b31e9febbbe1)(property, value, {\n        reevaluate: true\n    }); // might call do_shortcodes etc.\n    (0, $7944654ce2dd9d65$export$f60ab07833116193)();\n}\n\n\nfunction $ddb23fab3c6f4620$export$c5bfd938fb7f5403(el, record) {\n    el.innerText = (0, $e41b329f42db23c8$export$2bcc52ba6c088b4a)(el, record);\n}\nfunction $ddb23fab3c6f4620$export$67c46edf2422701b(el, record) {\n    var country = record.get_country_iso() || (0, $e41b329f42db23c8$export$aafcad1af8162002)(el).default;\n    if (country) el.classList.add(\"flag-icon-\" + country);\n}\nfunction $ddb23fab3c6f4620$export$8b2cf4a2576ea856(el, record) {\n    var country = record.get_country_iso();\n    if ((0, $b4d1c184cabe171a$export$212ec54c5d687e78)(el, \"data-c\", country)) {\n        (0, $3f68aa62fc033904$export$f0ffca0e7194bd91)(el, \"change\");\n        return;\n    }\n    // The country is not the list of countries - select empty option instead\n    if ((0, $b4d1c184cabe171a$export$212ec54c5d687e78)(el, \"data-c\", \"\")) (0, $3f68aa62fc033904$export$f0ffca0e7194bd91)(el, \"change\");\n}\nfunction $ddb23fab3c6f4620$export$46eed00f10e80dd5(el, record) {\n    el.value = (0, $e41b329f42db23c8$export$2bcc52ba6c088b4a)(el, record);\n    (0, $3f68aa62fc033904$export$f0ffca0e7194bd91)(el, \"change\");\n}\n\n\n\n\nvar $24387ff8da31158e$exports = {};\n$24387ff8da31158e$exports = $24387ff8da31158e$var$intersect;\n/*\n  intersect([1, 2, 5, 6], [2, 3, 5, 6]); // [2, 5, 6]\n  intersect([1, 2, 2, 4, 5], [3, 2, 2, 5, 7]); // [2, 5]\n*/ function $24387ff8da31158e$var$intersect(arr1, arr2) {\n    if (!Array.isArray(arr1) || !Array.isArray(arr2)) throw new Error(\"expected both arguments to be arrays\");\n    var result = [];\n    var set = $24387ff8da31158e$var$convertArrayToSet(arr2);\n    var memo = {};\n    for(var i = 0; i < arr1.length; i++){\n        var item = arr1[i];\n        if (set.hasOwnProperty(item) && !memo.hasOwnProperty(item)) {\n            result.push(item);\n            memo[item] = true;\n        }\n    }\n    return result;\n}\nfunction $24387ff8da31158e$var$convertArrayToSet(arr) {\n    var output = {};\n    for(var i = 0; i < arr.length; i++){\n        var item = arr[i];\n        if (!output.hasOwnProperty(item)) output[item] = true;\n    }\n    return output;\n}\n\n\nfunction $34cfab0a14aff422$export$7f72d39cfa7a0f7a(el, record) {\n    var opt = (0, $e41b329f42db23c8$export$aafcad1af8162002)(el);\n    var evaluated = $34cfab0a14aff422$export$626a13a1fe51c67a(opt.parsed, opt, record);\n    if (!evaluated) {\n        el.style.display = \"none\";\n        el.classList.add(\"geoip-hidden\");\n        el.classList.remove(\"geoip-shown\");\n    } else {\n        el.style.display = \"\";\n        el.classList.remove(\"geoip-hidden\");\n        el.classList.add(\"geoip-shown\");\n    }\n}\nfunction $34cfab0a14aff422$export$626a13a1fe51c67a(parsed, opt, record) {\n    var alternativePropertyNames = [\n        \"name\",\n        \"iso_code\",\n        \"iso_code3\",\n        \"code\",\n        \"geoname_id\"\n    ];\n    var isConditionMatching = parsed.op === \"or\" ? false : true;\n    parsed.conditions.forEach(function(c) {\n        var subConditionMatching = false;\n        var values = [];\n        var raw_value = record.get_raw(c.p);\n        if (raw_value === null) subConditionMatching = false;\n        else if (typeof raw_value === \"object\") alternativePropertyNames.forEach(function(name) {\n            if (raw_value[name]) values.push(raw_value[name]);\n            else if (name == \"name\") values.push(record.get_with_locales(c.p, opt.lang));\n        });\n        else values = [\n            raw_value\n        ];\n        subConditionMatching = $34cfab0a14aff422$var$geoip_detect2_shortcode_check_subcondition(c.v, values);\n        if (c.not) subConditionMatching = !subConditionMatching;\n        if (parsed.op === \"or\") isConditionMatching = isConditionMatching || subConditionMatching;\n        else isConditionMatching = isConditionMatching && subConditionMatching;\n    });\n    if (parsed.not) isConditionMatching = !isConditionMatching;\n    return isConditionMatching;\n}\nfunction $34cfab0a14aff422$var$geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues) {\n    if (actualValues[0] === true) actualValues = [\n        \"true\",\n        \"yes\",\n        \"y\",\n        \"1\"\n    ];\n    else if (actualValues[0] === false) actualValues = [\n        \"false\",\n        \"no\",\n        \"n\",\n        \"0\",\n        \"\"\n    ];\n    actualValues = actualValues.map(function(x) {\n        return String(x).toLowerCase();\n    });\n    expectedValues = expectedValues.split(\",\");\n    if (expectedValues.indexOf(\"\") !== -1) {\n        if (actualValues.length === 0) return true;\n    }\n    var intersect = (0, (/*@__PURE__*/$parcel$interopDefault($24387ff8da31158e$exports)))(expectedValues, actualValues);\n    return intersect.length > 0;\n}\n\n\nvar $9cee2e12fa11ef69$export$7481777ea0ea965d = function do_shortcodes_init() {\n    (0, $3bb001785c092908$export$2cd8252107eb640b)();\n};\nvar $9cee2e12fa11ef69$export$42610705290faf95 = function() {\n    var _do_shortcodes = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var body;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    // Before doing any of these, the DOM tree needs to be loaded\n                    return [\n                        4,\n                        (0, $b4d1c184cabe171a$export$d680cb6eec13a7c7)\n                    ];\n                case 1:\n                    _state.sent();\n                    // These are called in parallel, as they are async functions - wait for all to finish\n                    Promise.allSettled([\n                        (0, $e41b329f42db23c8$export$bb8a045c548d38f9)(\"js-geoip-detect-shortcode\", \"could not execute shortcode(s) [geoip_detect2 ...]\", (0, $ddb23fab3c6f4620$export$c5bfd938fb7f5403)),\n                        (0, $e41b329f42db23c8$export$bb8a045c548d38f9)(\"js-geoip-detect-flag\", \"could not configure the flag(s)\", (0, $ddb23fab3c6f4620$export$67c46edf2422701b)),\n                        (0, $e41b329f42db23c8$export$bb8a045c548d38f9)(\"js-geoip-text-input\", \"could not set the value of the text input field(s)\", (0, $ddb23fab3c6f4620$export$46eed00f10e80dd5)),\n                        (0, $e41b329f42db23c8$export$bb8a045c548d38f9)(\"js-geoip-detect-country-select\", \"could not set the value of the select field(s)\", (0, $ddb23fab3c6f4620$export$8b2cf4a2576ea856)),\n                        (0, $e41b329f42db23c8$export$bb8a045c548d38f9)(\"js-geoip-detect-show-if\", \"could not execute the show-if/hide-if conditions\", (0, $34cfab0a14aff422$export$7f72d39cfa7a0f7a))\n                    ]);\n                    body = document.getElementsByTagName(\"body\")[0];\n                    (0, $3f68aa62fc033904$export$f0ffca0e7194bd91)(body, \"geoip-detect-shortcodes-done\");\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    function do_shortcodes() {\n        return _do_shortcodes.apply(this, arguments);\n    }\n    return do_shortcodes;\n}();\n\n\n\n\n\n\n\nfunction $73929a6ea3471960$export$fd37e2b9d7d82468(record) {\n    return {\n        country: record.get(\"country.iso_code\"),\n        \"country-is-in-european-union\": record.get(\"country.is_in_european_union\", false),\n        continent: record.get(\"continent.code\"),\n        province: record.get(\"most_specific_subdivision.iso_code\"),\n        city: record.get(\"city.names.en\")\n    };\n}\nfunction $73929a6ea3471960$var$remove_css_classes_by_prefix(el, prefix) {\n    var classes = el.className.split(\" \").filter(function(c) {\n        return !c.startsWith(prefix);\n    });\n    el.className = classes.join(\" \").trim();\n}\nfunction $73929a6ea3471960$export$69cfbde487906451() {\n    return $73929a6ea3471960$var$_add_body_classes.apply(this, arguments);\n}\nfunction $73929a6ea3471960$var$_add_body_classes() {\n    $73929a6ea3471960$var$_add_body_classes = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var record;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $b4ba9c8e7a201193$export$3697bcf53517e83c)()\n                    ];\n                case 1:\n                    record = _state.sent();\n                    if (record.error()) {\n                        console.error(\"Geolocation IP Detection Error (could not add CSS-classes to body): \" + record.error());\n                        return [\n                            2\n                        ];\n                    }\n                    return [\n                        4,\n                        (0, $b4d1c184cabe171a$export$d680cb6eec13a7c7)\n                    ];\n                case 2:\n                    _state.sent();\n                    $73929a6ea3471960$export$4e7274a5cb77ccb6(record);\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return $73929a6ea3471960$var$_add_body_classes.apply(this, arguments);\n}\n// ported from Wordpress PHP\nfunction $73929a6ea3471960$var$sanitize_html_class(string) {\n    string = string + \"\";\n    string = string.replace(/%[a-fA-F0-9][a-fA-F0-9]/g, \"\");\n    string = string.replace(/[^A-Za-z0-9_-]/g, \"\");\n    return string;\n}\nfunction $73929a6ea3471960$export$4e7274a5cb77ccb6(record) {\n    var css_classes = $73929a6ea3471960$export$fd37e2b9d7d82468(record);\n    var body = document.getElementsByTagName(\"body\")[0];\n    // Remove old classes in case there are any\n    $73929a6ea3471960$var$remove_css_classes_by_prefix(body, \"geoip-\");\n    var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n    try {\n        for(var _iterator = Object.keys(css_classes)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n            var key = _step.value;\n            var value = $73929a6ea3471960$var$sanitize_html_class(css_classes[key]);\n            if (value) {\n                if (typeof value == \"string\") body.classList.add(\"geoip-\".concat(key, \"-\").concat(value));\n                else body.classList.add(\"geoip-\".concat(key));\n            }\n        }\n    } catch (err) {\n        _didIteratorError = true;\n        _iteratorError = err;\n    } finally{\n        try {\n            if (!_iteratorNormalCompletion && _iterator.return != null) {\n                _iterator.return();\n            }\n        } finally{\n            if (_didIteratorError) {\n                throw _iteratorError;\n            }\n        }\n    }\n    (0, $3f68aa62fc033904$export$f0ffca0e7194bd91)(body, \"geoip-detect-body-classes-done\");\n}\n\n\n\n\nvar $b016e4ccc3c135fb$var$firstCall = true;\nfunction $b016e4ccc3c135fb$export$f22da7240b7add18() {\n    if ($b016e4ccc3c135fb$var$firstCall) {\n        (0, $9cee2e12fa11ef69$export$7481777ea0ea965d)();\n        $b016e4ccc3c135fb$var$firstCall = false;\n    }\n    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).do_body_classes) (0, $73929a6ea3471960$export$69cfbde487906451)();\n    // Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.\n    (0, $9cee2e12fa11ef69$export$42610705290faf95)();\n    (0, $f422a70a3b9c8a83$export$7bc079f12f70511d)();\n}\n\n\n\nfunction $03d6c28e95082604$var$processOptions(options) {\n    options = options || {};\n    if (typeof options == \"number\") options = {\n        \"duration_in_days\": options\n    };\n    options.duration_in_days = options.duration_in_days || (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_duration_in_days;\n    if (options.duration_in_days < 0) {\n        console.warn(\"Geolocation IP Detection set_override_data() did nothing: A negative duration doesn't make sense. If you want to remove the override, use remove_override() instead.\");\n        return false;\n    }\n    if (typeof options.reevaluate == \"undefined\") options.reevaluate = true;\n    return options;\n}\nfunction $03d6c28e95082604$var$changeRecord(record, property, value) {\n    record = record || {};\n    property = property || \"\";\n    property = (0, $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab)(property);\n    var oldData = (0, (/*@__PURE__*/$parcel$interopDefault($72e224a45f2258bd$exports)))(record, property);\n    if (typeof oldData == \"object\" && typeof oldData.names == \"object\") property += \".name\";\n    if (property.endsWith(\".name\")) {\n        property += \"s\"; // e.g. country.name -> country.names\n        value = {\n            \"en\": value\n        };\n    }\n    (0, (/*@__PURE__*/$parcel$interopDefault($8435f80da3db6af7$exports)))(record, property, value);\n    return record;\n}\nfunction $03d6c28e95082604$export$38a0b31e9febbbe1(property, value, options) {\n    var record = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n    record = $03d6c28e95082604$var$changeRecord(record, property, value);\n    $03d6c28e95082604$export$c3c74383dfd15775(record, options);\n}\nfunction $03d6c28e95082604$export$c3c74383dfd15775(record, options) {\n    options = $03d6c28e95082604$var$processOptions(options);\n    if (record && typeof record.serialize === \"function\") record = record.serialize();\n    return $03d6c28e95082604$var$set_override_data(record, options);\n}\nfunction $03d6c28e95082604$var$set_override_data(newData, options) {\n    newData = newData || {};\n    (0, (/*@__PURE__*/$parcel$interopDefault($8435f80da3db6af7$exports)))(newData, \"extra.override\", true);\n    (0, $9a0f598d59a61a3e$export$1f73f60bdb811cb1)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name, newData, options.duration_in_days * 86400);\n    if (options.reevaluate && !(0, $d73968d8a0a066f2$export$2e2bcd8739ae039)(newData, (0, $f422a70a3b9c8a83$export$88983ef80f4f72ac)())) {\n        (0, $b016e4ccc3c135fb$export$f22da7240b7add18)();\n        return true;\n    }\n    return false;\n}\nfunction $03d6c28e95082604$export$cacb6011bc19db0b(options) {\n    options = $03d6c28e95082604$var$processOptions(options);\n    (0, $9a0f598d59a61a3e$export$1f73f60bdb811cb1)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name, {}, -1);\n    if (options.reevaluate) (0, $b016e4ccc3c135fb$export$f22da7240b7add18)();\n    return true;\n}\n\n\n\n// Evaluate shortcodes, body classes, etc.\n(0, $b016e4ccc3c135fb$export$f22da7240b7add18)();\n// Extend window object \nwindow.geoip_detect.get_info = (0, $b4ba9c8e7a201193$export$3697bcf53517e83c);\nwindow.geoip_detect.set_override = (0, $03d6c28e95082604$export$c3c74383dfd15775);\nwindow.geoip_detect.set_override_with_merge = (0, $03d6c28e95082604$export$38a0b31e9febbbe1);\nwindow.geoip_detect.remove_override = (0, $03d6c28e95082604$export$cacb6011bc19db0b);\n\n})();\n//# sourceMappingURL=frontend_full.js.map\n","/*\n Variant \"Full\": \n\n All the features, biggest filesize\n*/\n\n\nimport { get_info } from './lookup/get_info';\nimport { remove_override, set_override, set_override_with_merge } from './lookup/override';\nimport { main } from './main';\n\n// Evaluate shortcodes, body classes, etc.\nmain();\n\n\n// Extend window object \nwindow.geoip_detect.get_info = get_info;\n\nwindow.geoip_detect.set_override = set_override;\nwindow.geoip_detect.set_override_with_merge = set_override_with_merge;\nwindow.geoip_detect.remove_override = remove_override;","import Record from '../models/record';\nimport { get_info_cached } from './get_info_cached';\nimport { options } from './options';\n\n/**\n * Load the data from the server\n * \n * (It can also be loaded from the browser localstorage, if the record data is present there already.)\n * \n * @api\n * @return Promise(Record)\n */\nexport async function get_info() {\n    let response = await get_info_cached();\n    if (typeof (response) !== 'object') {\n        console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);\n        response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };\n    }\n\n    const record = new Record(response, options.default_locales);\n    return record;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}","import { setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport { camelToUnderscore } from '../models/record';\nimport _set from 'just-safe-set';\nimport _get from 'just-safe-get';\nimport _is_object_content_equal from 'just-compare';\nimport { main } from '../main';\nimport { getRecordDataFromLocalStorage, getRecordDataLastEvaluated } from './storage';\n\nfunction processOptions(options) {\n    options = options || {};\n    if (typeof(options) == 'number') {\n        options = {\n            'duration_in_days': options\n        };\n    }\n\n    options.duration_in_days = options.duration_in_days || globalOptions.cookie_duration_in_days;\n    if (options.duration_in_days < 0) {\n        console.warn('Geolocation IP Detection set_override_data() did nothing: A negative duration doesn\\'t make sense. If you want to remove the override, use remove_override() instead.');\n        return false;\n    }\n\n    if (typeof (options.reevaluate) == 'undefined' ) {\n        options.reevaluate = true;\n    }\n\n    return options;\n}\n\nfunction changeRecord(record, property, value) {\n    record = record || {};\n    property = property || '';\n\n    property = camelToUnderscore(property);\n\n    const oldData = _get(record, property);\n    if (typeof (oldData) == 'object' && typeof (oldData.names) == 'object') {\n        property += '.name';\n    }\n    if (property.endsWith('.name')) {\n        property += 's'; // e.g. country.name -> country.names\n        value = { 'en': value };\n    }\n\n    _set(record, property, value);\n\n    return record;\n}\n\n/**\n * Override only one property, leave the other properties as-is.\n * @param {string} property \n * @param {*} value \n */\nexport function set_override_with_merge(property, value, options) {\n    let record = getRecordDataFromLocalStorage();\n\n    record = changeRecord(record, property, value);\n\n    set_override(record, options);\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log(\"Override is now: \", getRecordDataFromLocalStorage());\n    }\n}\n\n/**\n * This functions allows to override the geodetected data manually (e.g. a country selector)\n * \n * @api\n * @param {*} record \n * @param {object} options\n *   @param {number} duration_in_days When this override expires (default: 1 week later)\n *   @param {boolean} reevaluate If the shortcodes etc. should be re-evaluated (default: true)\n * @return boolean TRUE if override data changed\n */\nexport function set_override(record, options) {\n    options = processOptions(options);\n\n    if (record && typeof (record.serialize) === 'function') {\n        record = record.serialize();\n    }\n\n    return set_override_data(record, options);\n}\n\nfunction set_override_data(newData, options) {\n    newData = newData || {};\n    _set(newData, 'extra.override', true);\n\n    setLocalStorage(globalOptions.cookie_name, newData, options.duration_in_days * 24 * 60 * 60);\n\n    if (options.reevaluate && !_is_object_content_equal(newData, getRecordDataLastEvaluated())) {\n        main();\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * Remove the override data.\n * On next page load, the record data will be loaded from the server again.\n * \n * @return boolean\n */\nexport function remove_override(options) {\n    options = processOptions(options);\n    setLocalStorage(globalOptions.cookie_name, {}, -1);\n    if (options.reevaluate) {\n        main();\n    }\n    return true;\n}\n\n\n","module.exports = set;\n\n/*\n  var obj1 = {};\n  set(obj1, 'a.aa.aaa', 4); // true\n  obj1; // {a: {aa: {aaa: 4}}}\n\n  var obj2 = {};\n  set(obj2, ['a', 'aa', 'aaa'], 4); // true\n  obj2; // {a: {aa: {aaa: 4}}}\n\n  var obj3 = {a: {aa: {aaa: 2}}};\n  set(obj3, 'a.aa.aaa', 3); // true\n  obj3; // {a: {aa: {aaa: 3}}}\n\n  const obj5 = {a: {}};\n  const sym = Symbol();\n  set(obj5.a, sym, 7); // true\n  obj5; // {a: {Symbol(): 7}}\n*/\n\nfunction set(obj, propsArg, value) {\n  var props, lastProp;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  lastProp = props.pop();\n  if (!lastProp) {\n    return false;\n  }\n  prototypeCheck(lastProp);\n  var thisProp;\n  while ((thisProp = props.shift())) {\n    prototypeCheck(thisProp);\n    if (typeof obj[thisProp] == 'undefined') {\n      obj[thisProp] = {};\n    }\n    obj = obj[thisProp];\n    if (!obj || typeof obj != 'object') {\n      return false;\n    }\n  }\n  obj[lastProp] = value;\n  return true;\n}\n\nfunction prototypeCheck(prop) {\n  // coercion is intentional to catch prop values like `['__proto__']`\n  if (prop == '__proto__' || prop == 'constructor' || prop == 'prototype') {\n    throw new Error('setting of prototype values not supported');\n  }\n}\n","var collectionCompare = compare;\n\n/*\n  primitives: value1 === value2\n  functions: value1.toString == value2.toString\n  arrays: if length, sequence and values of properties are identical\n  objects: if length, names and values of properties are identical\n  compare([[1, [2, 3]], [[1, [2, 3]]); // true\n  compare([[1, [2, 3], 4], [[1, [2, 3]]); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3}); // true\n  compare({a: 2, b: 3}, {b: 3, a: 2}); // true\n  compare({a: 2, b: 3, c: 4}, {a: 2, b: 3}); // false\n  compare({a: 2, b: 3}, {a: 2, b: 3, c: 4}); // false\n  compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]); // true\n*/\n\nfunction compare(value1, value2) {\n  if (value1 === value2) {\n    return true;\n  }\n\n  /* eslint-disable no-self-compare */\n  // if both values are NaNs return true\n  if (value1 !== value1 && value2 !== value2) {\n    return true;\n  }\n\n  if (\n    typeof value1 != typeof value2 || // primitive != primitive wrapper\n    {}.toString.call(value1) != {}.toString.call(value2) // check for other (maybe nullish) objects\n  ) {\n    return false;\n  }\n\n  if (value1 !== Object(value1)) {\n    // non equal primitives\n    return false;\n  }\n\n  if (!value1) {\n    return false;\n  }\n\n  if (Array.isArray(value1)) {\n    return compareArrays(value1, value2);\n  }\n\n  if ({}.toString.call(value1) == '[object Set]') {\n    return compareArrays(Array.from(value1), Array.from(value2));\n  }\n\n  if ({}.toString.call(value1) == '[object Object]') {\n    return compareObjects(value1, value2);\n  }\n\n  return compareNativeSubtypes(value1, value2);\n}\n\nfunction compareNativeSubtypes(value1, value2) {\n  // e.g. Function, RegExp, Date\n  return value1.toString() === value2.toString();\n}\n\nfunction compareArrays(value1, value2) {\n  var len = value1.length;\n\n  if (len != value2.length) {\n    return false;\n  }\n\n  for (var i = 0; i < len; i++) {\n    if (!compare(value1[i], value2[i])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction compareObjects(value1, value2) {\n  var keys1 = Object.keys(value1);\n  var len = keys1.length;\n\n  if (len != Object.keys(value2).length) {\n    return false;\n  }\n\n  for (var i = 0; i < len; i++) {\n    var key1 = keys1[i];\n\n    if (!(value2.hasOwnProperty(key1) && compare(value1[key1], value2[key1]))) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nexport {collectionCompare as default};\n","import { do_shortcodes, do_shortcodes_init } from './shortcodes/index';\nimport { add_body_classes } from './body_classes';\nimport { options } from './lookup/options';\nimport { setRecordDataLastEvaluated } from \"./lookup/storage\";\n\nlet firstCall = true;\n\nexport function main() {\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Do Main');\n    }\n\n    if (firstCall) {\n        do_shortcodes_init();\n        firstCall = false;        \n    }\n\n    if (options.do_body_classes) {\n        add_body_classes();\n    }\n\n    // Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.\n    do_shortcodes();\n\n    setRecordDataLastEvaluated();\n}","import { triggerNativeEvent } from \"../lib/events\";\nimport { domReady } from \"../lib/html\";\nimport { action_on_elements } from \"./helpers\";\nimport { do_shortcode_country_select, do_shortcode_flags, do_shortcode_normal, do_shortcode_text_input } from \"./normal\";\nimport { init as onchangeInit }  from \"./onchange\";\nimport { do_shortcode_show_if } from \"./show-if\";\n\n\nexport const do_shortcodes_init = function () {\n    onchangeInit();\n}\n\nexport const do_shortcodes = async function do_shortcodes() {\n    // Before doing any of these, the DOM tree needs to be loaded\n    await domReady;\n\n    // These are called in parallel, as they are async functions - wait for all to finish\n    Promise.allSettled([\n        action_on_elements('js-geoip-detect-shortcode',\n            'could not execute shortcode(s) [geoip_detect2 ...]', do_shortcode_normal),\n\n        action_on_elements('js-geoip-detect-flag',\n            'could not configure the flag(s)', do_shortcode_flags),\n\n        action_on_elements('js-geoip-text-input',\n            'could not set the value of the text input field(s)', do_shortcode_text_input),\n\n        action_on_elements('js-geoip-detect-country-select',\n            'could not set the value of the select field(s)', do_shortcode_country_select),\n\n        action_on_elements('js-geoip-detect-show-if',\n            'could not execute the show-if/hide-if conditions', do_shortcode_show_if),\n\n    ]);\n\n    const body = document.getElementsByTagName('body')[0];\n    triggerNativeEvent(body, 'geoip-detect-shortcodes-done');\n};\n","\nlet _internalEvent = false;\nexport function isInternalEvent() {\n    return _internalEvent;\n}\n\nexport function triggerNativeEvent(el, eventName, options = null) {\n    _internalEvent = true;\n\n    let event;\n    if (window.CustomEvent && typeof window.CustomEvent === 'function') {\n        event = new CustomEvent(eventName, {detail : options});\n    } else {\n        // Compat for IE\n        event = document.createEvent('CustomEvent');\n        event.initCustomEvent(eventName, true, true, options);\n    }\n    el.dispatchEvent(event);\n\n    _internalEvent = false;\n}","export function isUnitTesting() {\n    return process.env.JEST_WORKER_ID !== undefined;\n}\n\nexport const domReady = new Promise(resolve => {\n    if (isUnitTesting()) {\n        resolve();\n    }\n\n    if (document.readyState === \"loading\") {\n        if (document.addEventListener) {\n            document.addEventListener('DOMContentLoaded', resolve);\n        } else {\n            document.attachEvent('onreadystatechange', function () {\n                if (document.readyState != 'loading') {\n                    resolve();\n                }\n            });\n        }\n    } else {\n        resolve();\n    }\n});\n\nexport function selectItemByValue(el, value) {\n    for (var i = 0; i < el.options.length; i++) {\n        if (el.options[i].value === value) {\n            el.selectedIndex = i;\n            return true;\n        }\n    }\n    return false;\n}\n\n/**\n * @param {*} el                Select Tag\n * @param {string} attributeName     HTML attribute name to search by\n * @param {string} attributeValue    HTML attribute value to search by\n * @returns boolean TRUE if Value found in select tag\n */\nexport function selectItemByAttribute(el, attributeName, attributeValue) {\n    for (let i = 0; i < el.options.length; i++) {\n        if (el.options[i].getAttribute(attributeName) === attributeValue) {\n            el.selectedIndex = i;\n            return true;\n        }\n    }\n    return false;\n}","import { get_info } from \"../lookup/get_info\";\n\n// Get Options from data-options and json parse them\nexport function get_options(el) {\n    const raw = el.getAttribute('data-options');\n    try {\n        return JSON.parse(raw);\n    } catch (e) {\n        return {};\n    }\n}\n\nexport async function action_on_elements(className, errorMessage, callback) {\n    const elements = document.getElementsByClassName(className);\n    if (!elements.length) return;\n\n    const record = await get_info();\n\n    if (record.error()) {\n        console.error('Geolocation IP Detection Error (' + errorMessage + '): ' + record.error());\n        return;\n    }\n\n    Array.from(elements)\n        .forEach(el => callback(el, record));\n}\n\nexport function get_value_from_record(el, record, property = null) {\n    const opt = get_options(el);\n    property = property || opt.property;\n    if (opt.skip_cache) {\n        console.warn(\"Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME.\");\n    }\n\n    return record.get_with_locales(property, opt.lang, opt.default);\n}","import { triggerNativeEvent } from \"../lib/events\";\nimport { selectItemByAttribute } from \"../lib/html\";\nimport { get_value_from_record, get_options } from \"./helpers\";\nimport { autosave_element } from \"./onchange\";\n\nexport function do_shortcode_normal(el, record) {\n    el.innerText = get_value_from_record(el, record);\n}\n\nexport function do_shortcode_flags(el, record) {\n    const country = record.get_country_iso() || get_options(el).default;\n    if (country) {\n        el.classList.add('flag-icon-' + country)\n    }\n}\n\n\nexport function do_shortcode_country_select(el, record) {\n    let country = record.get_country_iso();\n\n    if (selectItemByAttribute(el, 'data-c', country)) {\n        triggerNativeEvent(el, 'change');\n        return;\n    }\n\n    // The country is not the list of countries - select empty option instead\n    if (selectItemByAttribute(el, 'data-c', '')) {\n        triggerNativeEvent(el, 'change');\n    } \n}\n\nexport function do_shortcode_text_input(el, record) {\n    el.value = get_value_from_record(el, record);\n    triggerNativeEvent(el, 'change');\n}","\nimport { check_recursive_after, check_recursive_before } from \"../lib/check-recursive\";\nimport { isInternalEvent } from \"../lib/events\";\nimport { set_override_with_merge } from \"../lookup/override\";\nimport { get_options } from \"./helpers\";\n\nexport function init() {\n    document.addEventListener('change', event_listener_autosave_on_change, false);\n}\n\nfunction event_listener_autosave_on_change(event) {\n    if (isInternalEvent()) {\n        return;\n    }\n\n    const target = event.target;\n    if (target?.matches && target.matches('.js-geoip-detect-input-autosave')) {\n        if (process.env.NODE_ENV !== 'production') {\n            console.log('autosave on change', target);\n        }\n\n        autosave_element(target);\n    }\n}\n\n/**\n * When calling this method, be very careful not to introduce an infinite loop!\n * @param {*} el \n */\nexport function autosave_element(el) {\n    const property = get_options(el).property;\n    const value = el.value;\n\n    if (!check_recursive_before()) {\n        return;\n    }\n\n    if (el.matches('select.js-geoip-detect-country-select')) {\n        const selected = el.options[el.selectedIndex];\n        const isoCode = selected?.getAttribute('data-c');\n\n        set_override_with_merge('country.iso_code', isoCode.toUpperCase(), { reevaluate: false });\n    }\n\n    set_override_with_merge(property, value, { reevaluate: true }); // might call do_shortcodes etc.\n\n    check_recursive_after();\n}","\nlet _listener_active = false; // for recursion detection (maybe remove later)\nlet _change_counter = 0; \n\nexport function check_recursive_before() {\n    _change_counter++;\n    if (_listener_active || _change_counter > 10) {\n        console.warn('Error: Thats weird! autosave change detected a recursion (' + _change_counter + ')! Please file a bug report about this and include the first 10 lines of the callstack below:');\n        console.trace();\n        if (process.env.NODE_ENV !== 'production') {\n            debugger;\n        }\n        return false;\n    }\n    _listener_active = true;\n    return true;\n}\n\n\nexport function check_recursive_after() {\n    _listener_active = false;\n}","import { get_options } from './helpers';\nimport _intersect from 'just-intersect';\n\n\nexport function do_shortcode_show_if(el, record) {\n    const opt = get_options(el);\n    const evaluated = geoip_detect2_shortcode_evaluate_conditions(opt.parsed, opt, record);\n\n    if (!evaluated) {\n        el.style.display = \"none\";\n        el.classList.add('geoip-hidden');\n        el.classList.remove('geoip-shown');\n    } else {\n        el.style.display = '';\n        el.classList.remove('geoip-hidden');\n        el.classList.add('geoip-shown');\n    }\n}\n\nexport function geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record) {\n    const alternativePropertyNames = [\n        'name',\n        'iso_code',\n        'iso_code3',\n        'code',\n        'geoname_id',\n    ];\n\n    let isConditionMatching = (parsed.op === 'or') ? false : true;\n\n    parsed.conditions.forEach(c => {\n        let subConditionMatching = false;\n        let values = [];\n\n        const raw_value = record.get_raw(c.p);\n\n        if (raw_value === null) {\n            subConditionMatching = false;\n        } else {\n            if (typeof (raw_value) === 'object') {\n                alternativePropertyNames.forEach(name => {\n                    if (raw_value[name]) {\n                        values.push(raw_value[name]);\n                    } else if (name == 'name') {\n                        values.push(record.get_with_locales(c.p, opt.lang));\n                    }\n                })\n            } else {\n                values = [raw_value]\n            }\n        }\n\n        subConditionMatching = geoip_detect2_shortcode_check_subcondition(c.v, values);\n\n        if (c.not) {\n            subConditionMatching = !subConditionMatching;\n        }\n\n        if (parsed.op === 'or') {\n            isConditionMatching = isConditionMatching || subConditionMatching;\n        } else {\n            isConditionMatching = isConditionMatching && subConditionMatching;\n        }\n\n    });\n\n    if (parsed.not) {\n        isConditionMatching = !isConditionMatching;\n    }\n\n    return isConditionMatching;\n}\n\nfunction geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues) {\n    if (actualValues[0] === true) {\n        actualValues = ['true', 'yes', 'y', '1'];\n    } else if (actualValues[0] === false) {\n        actualValues = ['false', 'no', 'n', '0', ''];\n    }\n\n    actualValues = actualValues.map(x => String(x).toLowerCase())\n\n    expectedValues = expectedValues.split(',');\n    if (expectedValues.indexOf('') !== -1) {\n        if (actualValues.length === 0) {\n            return true;\n        }\n    }\n\n    const intersect = _intersect(expectedValues, actualValues);\n\n    return intersect.length > 0;\n}","module.exports = intersect;\n\n/*\n  intersect([1, 2, 5, 6], [2, 3, 5, 6]); // [2, 5, 6]\n  intersect([1, 2, 2, 4, 5], [3, 2, 2, 5, 7]); // [2, 5]\n*/\n\nfunction intersect(arr1, arr2) {\n  if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n    throw new Error('expected both arguments to be arrays');\n  }\n\n  var result = [];\n  var set = convertArrayToSet(arr2);\n  var memo = {};\n\n  for (var i = 0; i < arr1.length; i++) {\n    var item = arr1[i];\n\n    if (set.hasOwnProperty(item) && !memo.hasOwnProperty(item)) {\n      result.push(item);\n      memo[item] = true;\n    }\n  }\n\n  return result;\n}\n\nfunction convertArrayToSet(arr) {\n  var output = {};\n\n  for (var i = 0; i < arr.length; i++) {\n    var item = arr[i];\n    if (!output.hasOwnProperty(item)) {\n      output[item] = true;\n    }\n  }\n\n  return output;\n}\n","import { triggerNativeEvent } from './lib/events';\nimport { domReady } from './lib/html';\nimport { get_info } from './lookup/get_info';\n\nexport function calc_classes(record) {\n    return {\n        country: record.get('country.iso_code'),\n        'country-is-in-european-union': record.get('country.is_in_european_union', false),\n        continent: record.get('continent.code'),\n        province: record.get('most_specific_subdivision.iso_code'),\n        city: record.get('city.names.en')\n    };\n}\n\nfunction remove_css_classes_by_prefix(el, prefix) {\n    const classes = el.className.split(\" \").filter(c => !c.startsWith(prefix));\n    el.className = classes.join(\" \").trim();\n}\n\nexport async function add_body_classes() {\n    const record = await get_info();\n\n    if (record.error()) {\n        console.error('Geolocation IP Detection Error (could not add CSS-classes to body): ' + record.error());\n        return;\n    }\n\n    await domReady;\n\n    add_classes_to_body(record);\n}\n\n// ported from Wordpress PHP\nfunction sanitize_html_class(string) {\n    string = string + '';\n    string = string.replace(/%[a-fA-F0-9][a-fA-F0-9]/g, '');\n    string = string.replace(/[^A-Za-z0-9_-]/g, '');\n    return string;\n}\n\nexport function add_classes_to_body(record) {\n    const css_classes = calc_classes(record);\n\n    const body = document.getElementsByTagName('body')[0];\n    \n    // Remove old classes in case there are any\n    remove_css_classes_by_prefix(body, 'geoip-');\n    \n    for (let key of Object.keys(css_classes)) {\n        const value = sanitize_html_class(css_classes[key]);\n        if (value) {\n            if (typeof (value) == 'string') {\n                body.classList.add(`geoip-${key}-${value}`);\n            } else {\n                body.classList.add(`geoip-${key}`);\n            }\n        }\n    }\n\n    triggerNativeEvent(body, 'geoip-detect-body-classes-done');\n}"],"names":["$parcel$interopDefault","a","__esModule","default","$9d998481b0dad3fe$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$9d998481b0dad3fe$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$e9b7c4456bbf1b23$export$5f0017c582d45a2d","obj","Symbol","constructor","$8bfa850c9b09c237$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","iterator","n","v","step","op","TypeError","call","pop","length","push","e","$f301e9a131a639bf$var$_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","$68426998e3b11619$export$1e71eb4bef00f6b0","_ref","_do_shortcodes","$3d0d91a3ea5987c5$var$_window_geoip_detect","$72e224a45f2258bd$exports","propsArg","defaultValue","prop","Array","isArray","slice","split","Error","shift","$a4c6bf567c1b63c8$var$_get_localized","ret","locales","names","locale","name","$a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab","map","x","toLowerCase","replace","join","$a4c6bf567c1b63c8$var$Record","protoProps","staticProps","Record","data","default_locales","instance","Constructor","is_empty","_process_locales","default_value","get_with_locales","_lookup_with_locales","substr","get_raw","console","warn","country","get","prototype","$5115e01e50a35b95$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$5115e01e50a35b95$export$8fe2eaa78e58529f","str","JSON","parse","$5115e01e50a35b95$var$createErrorObject","errorMsg","extra","$5115e01e50a35b95$export$49434baf33460b11","_arguments","_state","responseText","$3d0d91a3ea5987c5$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","cookie_duration_in_days","cookie_name","do_body_classes","$9a0f598d59a61a3e$export$1f73f60bdb811cb1","variable","ttl_sec","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$9a0f598d59a61a3e$export$d3720feff416e85b","getItem","removeItem","$f422a70a3b9c8a83$export$c0c5a36406ccde34","$f422a70a3b9c8a83$export$bfae0a1e3adc82ee","cache_duration","$f422a70a3b9c8a83$var$lastEvaluated","$f422a70a3b9c8a83$export$7bc079f12f70511d","$c7d084c9c1bb0fef$var$ajaxPromise","$c7d084c9c1bb0fef$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","log","responseJSON","$b4ba9c8e7a201193$export$3697bcf53517e83c","$b4ba9c8e7a201193$var$_get_info","$8435f80da3db6af7$exports","$8435f80da3db6af7$var$prototypeCheck","$d73968d8a0a066f2$var$compare","value1","value2","$d73968d8a0a066f2$var$compareArrays","from","$d73968d8a0a066f2$var$compareObjects","keys1","keys","len","key1","hasOwnProperty","lastProp","thisProp","$3f68aa62fc033904$var$_internalEvent","$3f68aa62fc033904$export$f0ffca0e7194bd91","el","eventName","event","CustomEvent","detail","document","createEvent","initCustomEvent","dispatchEvent","$b4d1c184cabe171a$export$d680cb6eec13a7c7","addEventListener","attachEvent","$b4d1c184cabe171a$export$212ec54c5d687e78","attributeName","attributeValue","getAttribute","selectedIndex","$e41b329f42db23c8$export$aafcad1af8162002","raw","$e41b329f42db23c8$export$bb8a045c548d38f9","className","errorMessage","callback","$e41b329f42db23c8$var$_action_on_elements","elements","record","getElementsByClassName","forEach","$e41b329f42db23c8$export$2bcc52ba6c088b4a","property","opt","skip_cache","lang","$7944654ce2dd9d65$var$_listener_active","$7944654ce2dd9d65$var$_change_counter","$3bb001785c092908$var$event_listener_autosave_on_change","matches","$3bb001785c092908$export$be51a27c79b931de","trace","selected","$03d6c28e95082604$export$38a0b31e9febbbe1","isoCode","toUpperCase","reevaluate","$ddb23fab3c6f4620$export$c5bfd938fb7f5403","innerText","$ddb23fab3c6f4620$export$67c46edf2422701b","get_country_iso","classList","add","$ddb23fab3c6f4620$export$8b2cf4a2576ea856","$ddb23fab3c6f4620$export$46eed00f10e80dd5","$24387ff8da31158e$exports","$34cfab0a14aff422$export$7f72d39cfa7a0f7a","parsed","alternativePropertyNames","isConditionMatching","conditions","c","expectedValues","actualValues","subConditionMatching","values","raw_value","p","String","indexOf","intersect","not","style","display","remove","arr1","arr2","result","set","$24387ff8da31158e$var$convertArrayToSet","arr","output","item","memo","$9cee2e12fa11ef69$export$7481777ea0ea965d","$9cee2e12fa11ef69$export$42610705290faf95","allSettled","getElementsByTagName","$73929a6ea3471960$var$_add_body_classes","$73929a6ea3471960$export$4e7274a5cb77ccb6","css_classes","continent","province","city","classes","filter","startsWith","trim","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","string","concat","return","$b016e4ccc3c135fb$var$firstCall","$b016e4ccc3c135fb$export$f22da7240b7add18","$03d6c28e95082604$var$processOptions","duration_in_days","oldData","endsWith","$03d6c28e95082604$export$c3c74383dfd15775","newData","serialize","get_info","set_override","set_override_with_merge","remove_override"],"version":3,"file":"frontend_full.js.map"}
  • geoip-detect/trunk/js/dist/frontend_minimal.js.map

    r3112668 r3233048  
    1 {"mappings":"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","sources":["<anon>","js/frontend_minimal.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/tslib/tslib.es6.js","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/just-safe-get/index.cjs"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Minimal\": \n \n A minimal JS file: \n - No shortcodes, no body classes. \n - Returns JSON instead of Record class.\n*/ function $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $36539b83e1634a28$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $36539b83e1634a28$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $62173737a43864ee$var$extendStatics = function extendStatics1(d, b) {\n    $62173737a43864ee$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $62173737a43864ee$var$extendStatics(d, b);\n};\nfunction $62173737a43864ee$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $62173737a43864ee$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $62173737a43864ee$export$18ce0697a983be9b = function __assign1() {\n    $62173737a43864ee$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $62173737a43864ee$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $62173737a43864ee$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $62173737a43864ee$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $62173737a43864ee$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $62173737a43864ee$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $62173737a43864ee$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $62173737a43864ee$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $62173737a43864ee$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $62173737a43864ee$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $62173737a43864ee$export$45d3717a4c69092e(o, m, p);\n}\nfunction $62173737a43864ee$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $62173737a43864ee$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $62173737a43864ee$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($62173737a43864ee$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $62173737a43864ee$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $62173737a43864ee$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $62173737a43864ee$export$10c90e4f7922046c(v) {\n    return this instanceof $62173737a43864ee$export$10c90e4f7922046c ? (this.v = v, this) : new $62173737a43864ee$export$10c90e4f7922046c(v);\n}\nfunction $62173737a43864ee$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $62173737a43864ee$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $62173737a43864ee$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $62173737a43864ee$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $62173737a43864ee$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $62173737a43864ee$export$19a8beecd37a4c45 === \"function\" ? $62173737a43864ee$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $62173737a43864ee$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $62173737a43864ee$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $62173737a43864ee$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $62173737a43864ee$export$45d3717a4c69092e(result, mod, k);\n    }\n    $62173737a43864ee$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $62173737a43864ee$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $62173737a43864ee$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $62173737a43864ee$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $62173737a43864ee$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $77bad6cade3b6dd2$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $77bad6cade3b6dd2$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $77bad6cade3b6dd2$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $77bad6cade3b6dd2$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $77bad6cade3b6dd2$export$49434baf33460b11 = function() {\n    var _ref = (0, $36539b83e1634a28$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $77bad6cade3b6dd2$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $77bad6cade3b6dd2$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $77bad6cade3b6dd2$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $15191b2a1f81108d$var$_window_geoip_detect;\nvar $15191b2a1f81108d$export$41c562ebe57d11e2 = (($15191b2a1f81108d$var$_window_geoip_detect = window.geoip_detect) === null || $15191b2a1f81108d$var$_window_geoip_detect === void 0 ? void 0 : $15191b2a1f81108d$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $17ade8b08da2dc4a$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $17ade8b08da2dc4a$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $17ade8b08da2dc4a$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\nfunction $c744d831ac964e3a$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $459462d0493710da$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $459462d0493710da$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $459462d0493710da$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $459462d0493710da$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $0a65997b05368712$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\nfunction $ce3c1b4c7e934d38$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\nvar $f55d1d59abc73724$exports = {};\n\n$f55d1d59abc73724$exports = $f55d1d59abc73724$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $f55d1d59abc73724$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $7114dcf2592f929a$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $7114dcf2592f929a$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $7114dcf2592f929a$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $c744d831ac964e3a$export$2996f80ef42b8419)(this, Record);\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $0a65997b05368712$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $459462d0493710da$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $7114dcf2592f929a$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($f55d1d59abc73724$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $7114dcf2592f929a$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $ce3c1b4c7e934d38$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $7114dcf2592f929a$export$2e2bcd8739ae039 = $7114dcf2592f929a$var$Record;\n\n\nvar $35df1ab881cd697b$export$c0c5a36406ccde34 = function() {\n    return (0, $17ade8b08da2dc4a$export$d3720feff416e85b)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name);\n};\nvar $35df1ab881cd697b$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $17ade8b08da2dc4a$export$1f73f60bdb811cb1)((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $35df1ab881cd697b$var$lastEvaluated = {};\nvar $35df1ab881cd697b$export$88983ef80f4f72ac = function() {\n    return $35df1ab881cd697b$var$lastEvaluated;\n};\nvar $35df1ab881cd697b$export$7bc079f12f70511d = function() {\n    $35df1ab881cd697b$var$lastEvaluated = $35df1ab881cd697b$export$c0c5a36406ccde34();\n};\nvar $35df1ab881cd697b$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $7114dcf2592f929a$export$2e2bcd8739ae039)($35df1ab881cd697b$export$c0c5a36406ccde34(), (0, $15191b2a1f81108d$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $8e261c2c74b8af80$var$ajaxPromise = null;\nfunction $8e261c2c74b8af80$var$get_info_raw() {\n    if (!$8e261c2c74b8af80$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $8e261c2c74b8af80$var$ajaxPromise = (0, $77bad6cade3b6dd2$export$49434baf33460b11)(url);\n        $8e261c2c74b8af80$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $8e261c2c74b8af80$var$ajaxPromise;\n}\nfunction $8e261c2c74b8af80$export$fba94e0366f5a647() {\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\nfunction $8e261c2c74b8af80$var$_get_info_cached() {\n    $8e261c2c74b8af80$var$_get_info_cached = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $8e261c2c74b8af80$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $35df1ab881cd697b$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $15191b2a1f81108d$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $35df1ab881cd697b$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $8e261c2c74b8af80$var$_get_info_cached.apply(this, arguments);\n}\n\n\nfunction $a1141a5b85364844$export$429bb4f54172a307() {\n    return $a1141a5b85364844$var$_get_info_minimal.apply(this, arguments);\n}\nfunction $a1141a5b85364844$var$_get_info_minimal() {\n    $a1141a5b85364844$var$_get_info_minimal = (0, $36539b83e1634a28$export$7c398597f8905a1)(function() {\n        var response;\n        return (0, $62173737a43864ee$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $8e261c2c74b8af80$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $a1141a5b85364844$var$_get_info_minimal.apply(this, arguments);\n}\nwindow.geoip_detect.get_info = $a1141a5b85364844$export$429bb4f54172a307;\n\n})();\n//# sourceMappingURL=frontend_minimal.js.map\n","/*\n Variant \"Minimal\": \n \n A minimal JS file: \n - No shortcodes, no body classes. \n - Returns JSON instead of Record class.\n*/\n\nimport { get_info_cached } from './lookup/get_info_cached';\n\n/**\n * Load data - but leave away some functionality to get a minimal bundle size\n * \n * Does not include:\n * - LocalStorage caching\n * - Accessing the data via the Record class\n * \n * @api\n * @returns Promise(object|string)\n */\nexport async function get_info_minimal() {\n    let response = await get_info_cached();\n    return response;\n}\n\n\nwindow.geoip_detect.get_info = get_info_minimal;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n"],"names":["$36539b83e1634a28$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$36539b83e1634a28$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$62173737a43864ee$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","Symbol","iterator","n","v","step","op","TypeError","call","pop","length","push","e","_ref","$15191b2a1f81108d$var$_window_geoip_detect","$77bad6cade3b6dd2$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$77bad6cade3b6dd2$export$8fe2eaa78e58529f","str","JSON","parse","$77bad6cade3b6dd2$var$createErrorObject","errorMsg","is_empty","extra","$77bad6cade3b6dd2$export$49434baf33460b11","_arguments","_state","responseText","$15191b2a1f81108d$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","default_locales","cookie_duration_in_days","cookie_name","do_body_classes","$17ade8b08da2dc4a$export$1f73f60bdb811cb1","variable","ttl_sec","data","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$17ade8b08da2dc4a$export$d3720feff416e85b","getItem","removeItem","$35df1ab881cd697b$export$c0c5a36406ccde34","$35df1ab881cd697b$export$bfae0a1e3adc82ee","cache_duration","$8e261c2c74b8af80$var$ajaxPromise","$8e261c2c74b8af80$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","console","log","responseJSON","$a1141a5b85364844$var$_get_info_minimal","get_info"],"version":3,"file":"frontend_minimal.js.map"}
     1{"mappings":"C,A,WEAA,SAAS,EAAsB,CAAE,CAAA,CAAS,CAAA,CAAQ,CAAA,CAAO,CAAA,CAAQ,CAAG,CAAE,CAAG,CAAzE,EACI,GAAI,CACA,IAAI,EAAO,CAAG,CAAC,EAAI,CAAC,GAChB,EAAQ,EAAK,KAAjB,AACJ,CAAE,MAAO,EAAO,CACZ,EAAO,GACP,MACJ,CACI,EAAK,IAAA,CAAM,EAAQ,GAClB,QAAQ,OAAA,CAAQ,GAAO,IAAA,CAAK,EAAO,EAC5C,CACO,SAAS,EAAoB,CAAE,EAClC,OAAO,WACH,IAAI,EAAO,IAAI,CAAE,EAAO,UAExB,OAAO,IAAI,QAAQ,SAAS,CAAO,CAAE,CAAM,EACvC,IAAI,EAAM,EAAG,KAAA,CAAM,EAAM,GAEzB,SAAS,EAAM,CAAK,EAChB,EAAmB,EAAK,EAAS,EAAQ,EAAO,EAAQ,OAAQ,EACpE,CAEA,SAAS,EAAO,CAAG,EACf,EAAmB,EAAK,EAAS,EAAQ,EAAO,EAAQ,QAAS,EACrE,CAEA,EAAM,KAAA,EACV,EACJ,CACJ,CCkDO,SAAS,EAAY,CAAO,CAAE,CAAI,EACrC,IAAsG,EAAG,EAAG,EAAG,EAA3G,EAAI,CAAE,MAAO,EAAG,KAAM,WAAa,GAAI,AAAO,EAAP,CAAC,CAAC,EAAE,CAAM,MAAM,CAAC,CAAC,EAAE,CAAE,OAAO,CAAC,CAAC,EAAE,AAAE,EAAG,KAAM,EAAE,CAAE,IAAK,EAAE,AAAC,EACnG,OAAO,EAAI,CAAE,KAAM,EAAK,GAAI,MAAS,EAAK,GAAI,OAAU,EAAK,EAAG,EAAG,AAAkB,YAAlB,OAAO,QAA0B,CAAA,CAAC,CAAC,OAAO,QAAA,CAAS,CAAG,WAAa,OAAO,IAAI,AAAE,CAAA,EAAI,EACvJ,SAAS,EAAK,CAAC,EAAI,OAAO,SAAU,CAAC,EAAI,OAAO,AAChD,SAAc,CAAE,EACZ,GAAI,EAAG,MAAM,AAAI,UAAU,mCAC3B,KAAO,GAAG,GAAI,CACV,GAAI,EAAI,EAAG,GAAM,CAAA,EAAI,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAO,EAAE,MAAS,CAAG,CAAE,CAAC,EAAE,CAAG,EAAE,KAAQ,EAAK,CAAA,AAAC,CAAA,EAAI,EAAE,MAAQ,AAAR,GAAc,EAAE,IAAA,CAAK,GAAI,CAAA,EAAK,EAAE,IAAG,AAAH,GAAS,CAAC,AAAC,CAAA,EAAI,EAAE,IAAA,CAAK,EAAG,CAAE,CAAC,EAAE,CAAA,EAAG,IAAA,CAAM,OAAO,EAE3J,OADI,EAAI,EAAJ,AAAO,GAAG,CAAA,EAAK,CAAC,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAM,EAAE,KAAF,CAAQ,AAAA,EAC/B,CAAE,CAAC,EAAE,EACT,KAAK,EAAG,KAAK,EAAG,EAAI,EAAI,KACxB,MAAK,EAAc,OAAX,EAAE,KAAF,GAAkB,CAAE,MAAO,CAAE,CAAC,EAAE,CAAE,KAAM,CAAA,CAAM,CACtD,MAAK,EAAG,EAAE,KAAF,GAAW,EAAI,CAAE,CAAC,EAAE,CAAE,EAAK,CAAC,EAAE,CAAE,QACxC,MAAK,EAAG,EAAK,EAAE,GAAA,CAAI,GAAX,GAAkB,EAAE,IAAA,CAAK,GAAP,GAAc,QACxC,SACI,GAAM,CAAY,CAAA,EAAI,AAAhB,CAAA,EAAI,EAAE,IAAA,AAAA,EAAY,MAAA,CAAS,GAAK,CAAC,CAAC,EAAE,MAAA,CAAS,EAAE,AAAF,GAAQ,CAAA,AAAU,IAAV,CAAE,CAAC,EAAE,EAAU,AAAU,IAAV,CAAE,CAAC,EAAE,AAAK,EAAI,CAAE,EAAI,EAAG,QAAU,CAC3G,GAAI,AAAU,IAAV,CAAE,CAAC,EAAE,EAAW,CAAA,CAAC,GAAM,CAAE,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,EAAI,CAAE,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,EAAM,CAAE,EAAE,KAAA,CAAQ,CAAE,CAAC,EAAE,CAAE,KAAO,CACrF,GAAI,AAAU,IAAV,CAAE,CAAC,EAAE,EAAU,EAAE,KAAA,CAAQ,CAAC,CAAC,EAAE,CAAE,CAAE,EAAE,KAAA,CAAQ,CAAC,CAAC,EAAE,CAAE,EAAI,EAAI,KAAO,CACpE,GAAI,GAAK,EAAE,KAAA,CAAQ,CAAC,CAAC,EAAE,CAAE,CAAE,EAAE,KAAA,CAAQ,CAAC,CAAC,EAAE,CAAE,EAAE,GAAA,CAAI,IAAA,CAAK,GAAK,KAAO,CAC9D,CAAC,CAAC,EAAE,EAAE,EAAE,GAAA,CAAI,GAAhB,GACA,EAAE,IAAA,CAAK,GAAP,GAAc,QACtB,CACA,EAAK,EAAK,IAAA,CAAK,EAAS,EAC5B,CAAE,MAAO,EAAG,CAAE,EAAK,CAAC,EAAG,EAAE,CAAE,EAAI,CAAG,QAAU,CAAE,EAAI,EAAI,CAAG,CACzD,GAAI,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAM,MAAM,CAAE,CAAC,EAAE,CAAE,MAAO,CAAE,MAAO,CAAE,CAAC,EAAE,CAAG,CAAE,CAAC,EAAE,CAAG,KAAK,EAAG,KAAM,CAAA,CAAK,CACnF,EAtBqD,CAAC,EAAG,EAAE,CAAG,CAAG,CAuBrE,CEvGO,IAuDwB,ECzDR,EDEV,EAAc,SAAU,CAAG,EAAE,IAAA,EAAA,UAAA,MAAA,CAAA,GAAA,AAAA,KAAA,IAAA,SAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAS,MAG3C,EAAU,IAAI,eAGlB,OAAO,IAAI,QAAQ,SAAU,CAAO,CAAE,CAAM,EAGxC,EAAQ,kBAAA,CAAqB,WAGE,IAAvB,EAAQ,UAAA,GAGR,EAAQ,MAAA,EAAU,KAAO,EAAQ,MAAA,CAAS,IAE1C,EAAQ,GAGR,EAAO,CACH,OAAQ,EAAQ,MAAhB,CACA,WAAY,EAAQ,UAApB,CACA,QAAS,CACb,GAGR,EAGA,EAAQ,IAAA,CAAK,GAAU,MAAO,EAAK,CAAA,GAGnC,EAAQ,IAAR,EAEJ,EACJ,EAEa,EAAuB,SAAS,CAAG,EAC5C,GAAI,CACA,OAAO,KAAK,KAAA,CAAM,EACtB,CAAE,MAAM,EAAG,CACP,OAAO,EAAkB,iBAAmB,EAChD,CACJ,EAEA,SAAS,EAAkB,CAAQ,EAC/B,MAAO,CACH,SAAU,CAAA,EACV,MAAO,CACH,MAAO,CACX,CACJ,CACJ,CAEO,IAAM,GAAkB,EAAA,AAAA,EAAA,SAAe,CAAG,E,IAAE,EAErC,E,E,U,O,A,E,I,C,S,C,E,O,E,K,E,K,EAFqC,EAAA,EAAA,MAAA,CAAA,GAAA,AAAA,KAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAS,M,E,K,C,C,M,EAEpC,O,E,I,C,I,C,C,E,G,E,EAAA,C,EAAM,EAAY,EAAK,G,A,M,EACvC,GAAI,CAAC,AADC,CAAA,EAAU,EAAV,IAAA,EAAA,EACO,YAAA,EAAgB,AAAyB,MAAzB,EAAQ,YAAA,CACjC,MADJ,C,EACW,EAAkB,0E,CAE7B,MAAA,C,EAAO,EAAqB,EAAQ,YAA7B,E,A,M,EAEP,MAAA,C,EAAO,EAAqB,AADxB,EAAA,IAAA,GAC0B,OAAA,CAAQ,YAA/B,E,A,M,E,M,C,E,A,C,EAEf,GAVa,SAAiC,CAAG,E,O,E,K,C,I,C,U,GCzDpC,EAAU,AAAA,CAAA,AAAO,OAAP,CAAA,EAAA,OAAO,YAAA,AAAA,GAAP,AAAA,KAAA,IAAA,EAAA,KAAA,EAAA,EAAqB,OAAM,AAAN,GAAW,CACnD,QAAS,2BACT,gBAAiB,CAAC,KAAK,CACvB,wBAAyB,EACzB,YAAa,sBACb,gBAAiB,CAAA,CACrB,EENa,EAAkB,SAAU,CAAQ,CAAE,CAAK,CAAE,CAAO,EAC7D,IAAI,EAAO,CAAC,MAAO,EAAO,WAAY,IAAI,OAAO,OAAA,GAAY,AAAW,IAAX,EAAmB,CAAE,EAClF,aAAa,OAAA,CAAQ,EAAS,QAAA,GAAY,KAAK,SAAA,CAAU,GAC7D,EAMa,EAAkB,SAAU,CAAQ,EAC7C,IAAI,EAAO,KACX,GAAI,CACA,EAAO,KAAK,KAAA,CAAM,aAAa,OAAA,CAAQ,EAAS,QAAhD,IACJ,CAAE,MAAM,EAAG,CACP,OAAO,IACX,CACA,GAAI,AAAS,OAAT,EAAe,CACf,IAAI,CAAA,AAAoB,OAApB,EAAK,UAAA,EAAuB,EAAK,UAAA,CAAa,IAAI,OAAO,OAAA,EAAA,EAGzD,OAAO,EAAK,KAAZ,CAFA,aAAa,UAAA,CAAW,EAAS,QADrC,GAKJ,CACA,OAAO,IACX,EDnBa,EAAgC,WACzC,OAAO,AAAA,EAAgB,AAAA,EAAc,WAArC,CACJ,EAEa,EAA8B,SAAC,CAAA,CAAM,CAA3C,EACH,AAAA,EAAgB,AAAA,EAAc,WAAA,CAAa,EAAM,EACrD,EHPI,EAAc,KAmBI,SAAA,IAAA,MAAA,AAAA,CAAA,EAAf,AAAA,EAAA,WACC,IAAA,EACA,EAkBK,EAcD,EAMA,EADA,E,O,A,E,I,C,S,C,E,O,E,K,E,K,EAlCR,GAJI,EAAW,CAAA,EACX,EAAiB,CAAA,EAGjB,AAAA,EAAQ,WAAA,EAEJ,CAAA,MADJ,CAAA,EAAiB,AAAA,GAAjB,EACI,KAAA,EAAA,EAAgB,KAAA,AAAA,EAMhB,MALI,AAAkC,CAAA,IAAlC,EAAe,KAAA,CAAM,QAAA,CACrB,QAAQ,IAAA,CAAK,8DAEb,QAAQ,IAAA,CAAK,mDAEjB,C,EAAO,E,A,C,E,K,C,C,M,EAMA,O,E,I,C,I,C,C,E,G,E,EAAA,C,GAnCV,GAMD,AAFA,CAAA,EAAc,AAAA,EAFF,AAAA,EAAQ,OAAA,CAAU,iDAE9B,EAEY,IAAA,CAAK,SAAC,CAAlB,EACQ,IAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,AAAU,OAAV,CAAA,EAAA,EAAU,KAAA,AAAA,GAAV,AAAA,KAAA,IAAA,EAAA,KAAA,EAAA,EAAiB,KAAA,AAAA,GACjB,QAAQ,KAAA,CAAM,6DAA+D,EAAS,KAAA,CAAM,KADhG,CAGJ,GAGG,G,A,M,E,OAsBH,EAAW,EAAX,IAAA,G,C,E,E,A,M,E,OAEA,QAAQ,GAAA,CAAI,2BADP,EAAA,EAAA,IAAA,IAEL,EAAW,EAAI,YAAA,EAAgB,E,C,E,E,A,M,EAQnC,GAAI,AAAA,EAAQ,WAAA,CAAa,CAIrB,GAAI,AAAA,CAAA,MADJ,CAAA,EAAiB,AAAA,GAAjB,EACI,KAAA,EAAA,AAAgB,OAAhB,CAAA,EAAA,EAAgB,KAAA,AAAA,GAAhB,AAAA,KAAA,IAAA,EAAA,KAAA,EAAA,EAAuB,QAAH,AAAG,IAAa,CAAA,EAEpC,OADA,QAAQ,IAAA,CAAK,8DACb,C,EAAO,E,CAGP,EAAiB,AAAA,MAAA,AAAA,EAAQ,uBAAA,CACzB,CAAA,MAAA,EAAA,KAAA,EAAA,AAAU,OAAV,CAAA,EAAA,EAAU,KAAA,AAAA,GAAV,AAAA,KAAA,IAAA,EAAA,KAAA,EAAA,EAAiB,KAAA,AAAA,GACjB,CAAA,EAAiB,EAAA,EAGrB,AAAA,EAA4B,EAAU,EAC1C,CAEA,MAAA,C,EAAO,E,A,C,EACX,EAAA,EAhDsB,KAAA,CAAA,IAAA,CAAA,U,CHHA,SAAA,IAAA,MAAA,AAAA,CAAA,EAAf,AAAA,EAAA,W,O,A,E,I,C,S,C,E,O,E,K,E,K,EACY,MAAA,C,EAAM,AGEH,WAAA,OAAA,EAAA,KAAA,CAAA,IAAA,CAAA,U,I,A,M,EHDlB,MAAA,C,EADe,EAAX,IAAA,G,A,C,EAER,EAAA,EAHsB,KAAA,CAAA,IAAA,CAAA,U,CAMtB,OAAO,YAAA,CAAa,QAAA,CANE,WAAA,OAAA,EAAA,KAAA,CAAA,IAAA,CAAA,U,C","sources":["<anon>","js/frontend_minimal.js","node_modules/@swc/helpers/esm/_async_to_generator.js","node_modules/tslib/tslib.es6.js","js/lookup/get_info_cached.js","js/lib/xhr.js","js/lookup/options.js","js/lookup/storage.js","js/lib/localStorageAccess.js","js/models/record.js","node_modules/@swc/helpers/esm/_class_call_check.js","node_modules/@swc/helpers/esm/_create_class.js","node_modules/@swc/helpers/esm/_define_property.js","node_modules/@swc/helpers/esm/_type_of.js","node_modules/just-safe-get/index.cjs"],"sourcesContent":["(function () {\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n/*\n Variant \"Minimal\": \n \n A minimal JS file: \n - No shortcodes, no body classes. \n - Returns JSON instead of Record class.\n*/ function $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nfunction $9d998481b0dad3fe$export$7c398597f8905a1(fn) {\n    return function() {\n        var self = this, args = arguments;\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n            function _next(value) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n            function _throw(err) {\n                $9d998481b0dad3fe$var$asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n            _next(undefined);\n        });\n    };\n}\n\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise */ var $8bfa850c9b09c237$var$extendStatics = function extendStatics1(d, b) {\n    $8bfa850c9b09c237$var$extendStatics = Object.setPrototypeOf || ({\n        __proto__: []\n    }) instanceof Array && function(d, b) {\n        d.__proto__ = b;\n    } || function(d, b) {\n        for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n    };\n    return $8bfa850c9b09c237$var$extendStatics(d, b);\n};\nfunction $8bfa850c9b09c237$export$a8ba968b8961cb8a(d, b) {\n    if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n    $8bfa850c9b09c237$var$extendStatics(d, b);\n    function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $8bfa850c9b09c237$export$18ce0697a983be9b = function __assign1() {\n    $8bfa850c9b09c237$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n        for(var s, i = 1, n = arguments.length; i < n; i++){\n            s = arguments[i];\n            for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    };\n    return $8bfa850c9b09c237$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $8bfa850c9b09c237$export$3c9a16f847548506(s, e) {\n    var t = {};\n    for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n        for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n    }\n    return t;\n}\nfunction $8bfa850c9b09c237$export$29e00dfd3077644b(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $8bfa850c9b09c237$export$d5ad3fd78186038f(paramIndex, decorator) {\n    return function(target, key) {\n        decorator(target, key, paramIndex);\n    };\n}\nfunction $8bfa850c9b09c237$export$f1db080c865becb9(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $8bfa850c9b09c237$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n    function adopt(value) {\n        return value instanceof P ? value : new P(function(resolve) {\n            resolve(value);\n        });\n    }\n    return new (P || (P = Promise))(function(resolve, reject) {\n        function fulfilled(value) {\n            try {\n                step(generator.next(value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function rejected(value) {\n            try {\n                step(generator[\"throw\"](value));\n            } catch (e) {\n                reject(e);\n            }\n        }\n        function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n        }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\nfunction $8bfa850c9b09c237$export$67ebef60e6f28a6(thisArg, body) {\n    var _ = {\n        label: 0,\n        sent: function sent() {\n            if (t[0] & 1) throw t[1];\n            return t[1];\n        },\n        trys: [],\n        ops: []\n    }, f, y, t, g;\n    return g = {\n        next: verb(0),\n        \"throw\": verb(1),\n        \"return\": verb(2)\n    }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n        return this;\n    }), g;\n    function verb(n) {\n        return function(v) {\n            return step([\n                n,\n                v\n            ]);\n        };\n    }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while(_)try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [\n                op[0] & 2,\n                t.value\n            ];\n            switch(op[0]){\n                case 0:\n                case 1:\n                    t = op;\n                    break;\n                case 4:\n                    _.label++;\n                    return {\n                        value: op[1],\n                        done: false\n                    };\n                case 5:\n                    _.label++;\n                    y = op[1];\n                    op = [\n                        0\n                    ];\n                    continue;\n                case 7:\n                    op = _.ops.pop();\n                    _.trys.pop();\n                    continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                        _ = 0;\n                        continue;\n                    }\n                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                        _.label = op[1];\n                        break;\n                    }\n                    if (op[0] === 6 && _.label < t[1]) {\n                        _.label = t[1];\n                        t = op;\n                        break;\n                    }\n                    if (t && _.label < t[2]) {\n                        _.label = t[2];\n                        _.ops.push(op);\n                        break;\n                    }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop();\n                    continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) {\n            op = [\n                6,\n                e\n            ];\n            y = 0;\n        } finally{\n            f = t = 0;\n        }\n        if (op[0] & 5) throw op[1];\n        return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n        };\n    }\n}\nvar $8bfa850c9b09c237$export$45d3717a4c69092e = Object.create ? function __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n        enumerable: true,\n        get: function get() {\n            return m[k];\n        }\n    };\n    Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n};\nfunction $8bfa850c9b09c237$export$f33643c0debef087(m, o) {\n    for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $8bfa850c9b09c237$export$45d3717a4c69092e(o, m, p);\n}\nfunction $8bfa850c9b09c237$export$19a8beecd37a4c45(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function next() {\n            if (o && i >= o.length) o = void 0;\n            return {\n                value: o && o[i++],\n                done: !o\n            };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $8bfa850c9b09c237$export$8d051b38c9118094(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n    } catch (error) {\n        e = {\n            error: error\n        };\n    } finally{\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        } finally{\n            if (e) throw e.error;\n        }\n    }\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$afc72e2116322959() {\n    for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($8bfa850c9b09c237$export$8d051b38c9118094(arguments[i]));\n    return ar;\n}\nfunction $8bfa850c9b09c237$export$6388937ca91ccae8() {\n    for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n    for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n    return r;\n}\nfunction $8bfa850c9b09c237$export$1216008129fb82ed(to, from, pack) {\n    if (pack || arguments.length === 2) {\n        for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $8bfa850c9b09c237$export$10c90e4f7922046c(v) {\n    return this instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? (this.v = v, this) : new $8bfa850c9b09c237$export$10c90e4f7922046c(v);\n}\nfunction $8bfa850c9b09c237$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i;\n    function verb(n) {\n        if (g[n]) i[n] = function(v) {\n            return new Promise(function(a, b) {\n                q.push([\n                    n,\n                    v,\n                    a,\n                    b\n                ]) > 1 || resume(n, v);\n            });\n        };\n    }\n    function resume(n, v) {\n        try {\n            step(g[n](v));\n        } catch (e) {\n            settle(q[0][3], e);\n        }\n    }\n    function step(r) {\n        r.value instanceof $8bfa850c9b09c237$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n    }\n    function fulfill(value) {\n        resume(\"next\", value);\n    }\n    function reject(value) {\n        resume(\"throw\", value);\n    }\n    function settle(f, v) {\n        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n    }\n}\nfunction $8bfa850c9b09c237$export$bbd80228419bb833(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n        throw e;\n    }), verb(\"return\"), i[Symbol.iterator] = function() {\n        return this;\n    }, i;\n    function verb(n, f) {\n        i[n] = o[n] ? function(v) {\n            return (p = !p) ? {\n                value: $8bfa850c9b09c237$export$10c90e4f7922046c(o[n](v)),\n                done: n === \"return\"\n            } : f ? f(v) : v;\n        } : f;\n    }\n}\nfunction $8bfa850c9b09c237$export$e3b29a3d6162315f(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof $8bfa850c9b09c237$export$19a8beecd37a4c45 === \"function\" ? $8bfa850c9b09c237$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n        return this;\n    }, i);\n    function verb(n) {\n        i[n] = o[n] && function(v) {\n            return new Promise(function(resolve, reject) {\n                v = o[n](v), settle(resolve, reject, v.done, v.value);\n            });\n        };\n    }\n    function settle(resolve, reject, d, v) {\n        Promise.resolve(v).then(function(v) {\n            resolve({\n                value: v,\n                done: d\n            });\n        }, reject);\n    }\n}\nfunction $8bfa850c9b09c237$export$4fb47efe1390b86f(cooked, raw) {\n    if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n        value: raw\n    });\n    else cooked.raw = raw;\n    return cooked;\n}\nvar $8bfa850c9b09c237$var$__setModuleDefault = Object.create ? function __setModuleDefault(o, v) {\n    Object.defineProperty(o, \"default\", {\n        enumerable: true,\n        value: v\n    });\n} : function(o, v) {\n    o[\"default\"] = v;\n};\nfunction $8bfa850c9b09c237$export$c21735bcef00d192(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) {\n        for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $8bfa850c9b09c237$export$45d3717a4c69092e(result, mod, k);\n    }\n    $8bfa850c9b09c237$var$__setModuleDefault(result, mod);\n    return result;\n}\nfunction $8bfa850c9b09c237$export$da59b14a69baef04(mod) {\n    return mod && mod.__esModule ? mod : {\n        default: mod\n    };\n}\nfunction $8bfa850c9b09c237$export$d5dcaf168c640c35(receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $8bfa850c9b09c237$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $8bfa850c9b09c237$export$81fdc39f203e4e04(state, receiver) {\n    if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\n\n\n\n// @see https://gomakethings.com/promise-based-xhr/\n\n\nvar $5115e01e50a35b95$export$699251e5611cc6db = function makeRequest(url) {\n    var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"GET\";\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n    // Return it as a Promise\n    return new Promise(function(resolve, reject) {\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function() {\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n            // Process the response\n            if (request.status >= 200 && request.status < 300) // If successful\n            resolve(request);\n            else // If failed\n            reject({\n                status: request.status,\n                statusText: request.statusText,\n                request: request\n            });\n        };\n        // Setup our HTTP request\n        request.open(method || \"GET\", url, true);\n        // Send the request\n        request.send();\n    });\n};\nvar $5115e01e50a35b95$export$8fe2eaa78e58529f = function jsonDecodeIfPossible(str) {\n    try {\n        return JSON.parse(str);\n    } catch (e) {\n        return $5115e01e50a35b95$var$createErrorObject(\"Invalid JSON: \" + str);\n    }\n};\nfunction $5115e01e50a35b95$var$createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\nvar $5115e01e50a35b95$export$49434baf33460b11 = function() {\n    var _ref = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function(url) {\n        var method, request, e;\n        var _arguments = arguments;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    method = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : \"GET\";\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $5115e01e50a35b95$export$699251e5611cc6db(url, method)\n                    ];\n                case 2:\n                    request = _state.sent();\n                    if (!request.responseText || request.responseText === \"0\") return [\n                        2,\n                        $5115e01e50a35b95$var$createErrorObject(\"Got an empty response from server. Did you enable AJAX in the options?\")\n                    ];\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(request.responseText)\n                    ];\n                case 3:\n                    e = _state.sent();\n                    return [\n                        2,\n                        $5115e01e50a35b95$export$8fe2eaa78e58529f(e.request.responseText)\n                    ];\n                case 4:\n                    return [\n                        2\n                    ];\n            }\n        });\n    });\n    return function makeJSONRequest(url) {\n        return _ref.apply(this, arguments);\n    };\n}();\n\n\nvar $3d0d91a3ea5987c5$var$_window_geoip_detect;\nvar $3d0d91a3ea5987c5$export$41c562ebe57d11e2 = (($3d0d91a3ea5987c5$var$_window_geoip_detect = window.geoip_detect) === null || $3d0d91a3ea5987c5$var$_window_geoip_detect === void 0 ? void 0 : $3d0d91a3ea5987c5$var$_window_geoip_detect.options) || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: [\n        \"en\"\n    ],\n    cookie_duration_in_days: 7,\n    cookie_name: \"geoip-detect-result\",\n    do_body_classes: false\n};\n\n\nvar $9a0f598d59a61a3e$export$1f73f60bdb811cb1 = function setLocalStorage(variable, value, ttl_sec) {\n    var data = {\n        value: value,\n        expires_at: new Date().getTime() + ttl_sec * 1000 / 1\n    };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\nfunction $9a0f598d59a61a3e$export$720fb0373088e6ec(variable) {\n    localStorage.removeItem(variable);\n}\nvar $9a0f598d59a61a3e$export$d3720feff416e85b = function getLocalStorage(variable) {\n    var data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch (e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) localStorage.removeItem(variable.toString());\n        else return data.value;\n    }\n    return null;\n};\n\n\n\nfunction $b2c9f914348c2e13$export$2996f80ef42b8419(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\nfunction $f301e9a131a639bf$var$_defineProperties(target, props) {\n    for(var i = 0; i < props.length; i++){\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nfunction $f301e9a131a639bf$export$d60067ff2358eee8(Constructor, protoProps, staticProps) {\n    if (protoProps) $f301e9a131a639bf$var$_defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) $f301e9a131a639bf$var$_defineProperties(Constructor, staticProps);\n    return Constructor;\n}\n\n\nfunction $68426998e3b11619$export$1e71eb4bef00f6b0(obj, key, value) {\n    if (key in obj) Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n    });\n    else obj[key] = value;\n    return obj;\n}\n\n\nfunction $e9b7c4456bbf1b23$export$5f0017c582d45a2d(obj) {\n    \"@swc/helpers - typeof\";\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n\n\nvar $72e224a45f2258bd$exports = {};\n\n$72e224a45f2258bd$exports = $72e224a45f2258bd$var$get;\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/ function $72e224a45f2258bd$var$get(obj, propsArg, defaultValue) {\n    if (!obj) return defaultValue;\n    var props, prop;\n    if (Array.isArray(propsArg)) props = propsArg.slice(0);\n    if (typeof propsArg == \"string\") props = propsArg.split(\".\");\n    if ((typeof propsArg === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(propsArg)) == \"symbol\") props = [\n        propsArg\n    ];\n    if (!Array.isArray(props)) throw new Error(\"props arg must be an array, a string or a symbol\");\n    while(props.length){\n        prop = props.shift();\n        if (!obj) return defaultValue;\n        obj = obj[prop];\n        if (obj === undefined) return defaultValue;\n    }\n    return obj;\n}\n\n\nvar $a4c6bf567c1b63c8$var$_get_localized = function _get_localized(ret, locales) {\n    if (typeof ret === \"object\" && ret !== null) {\n        if (typeof ret.names === \"object\" && typeof locales === \"object\") for(var i = 0; i < locales.length; i++){\n            var locale = locales[i];\n            if (ret.names[locale]) return ret.names[locale];\n        }\n        if (ret.name) return ret.name;\n        return \"\";\n    }\n    return ret;\n};\nvar $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab = function camelToUnderscore(key) {\n    key = key.split(\".\").map(function(x) {\n        if (typeof x !== \"string\" || typeof x[0] !== \"string\") return \"\";\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join(\".\");\n    return key;\n};\nvar $a4c6bf567c1b63c8$var$Record = /*#__PURE__*/ function() {\n    \"use strict\";\n    function Record(data, default_locales) {\n        (0, $b2c9f914348c2e13$export$2996f80ef42b8419)(this, Record);\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"data\", {});\n        (0, $68426998e3b11619$export$1e71eb4bef00f6b0)(this, \"default_locales\", []);\n        this.data = data || {\n            is_empty: true\n        };\n        this.default_locales = [\n            \"en\"\n        ];\n        this.default_locales = this._process_locales(default_locales);\n    }\n    (0, $f301e9a131a639bf$export$d60067ff2358eee8)(Record, [\n        {\n            key: \"get\",\n            value: function get(prop, default_value) {\n                return this.get_with_locales(prop, null, default_value);\n            }\n        },\n        {\n            key: \"get_raw\",\n            value: function get_raw(prop) {\n                prop = $a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab(prop);\n                return (0, (/*@__PURE__*/$parcel$interopDefault($72e224a45f2258bd$exports)))(this.data, prop, null);\n            }\n        },\n        {\n            key: \"has_property\",\n            value: function has_property(prop) {\n                var ret = this._lookup_with_locales(prop, this.default_locales, null);\n                return ret !== null;\n            }\n        },\n        {\n            key: \"_lookup_with_locales\",\n            value: function _lookup_with_locales(prop, locales) {\n                var default_value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n                locales = this._process_locales(locales);\n                // Treat pseudo-property 'name' as if it never existed\n                if (prop.substr(-5) === \".name\") prop = prop.substr(0, prop.length - 5);\n                var ret = this.get_raw(prop);\n                // Localize property, if possible\n                ret = $a4c6bf567c1b63c8$var$_get_localized(ret, locales);\n                if (ret === null || ret === \"\") ret = default_value;\n                return ret;\n            }\n        },\n        {\n            key: \"_process_locales\",\n            value: function _process_locales(locales) {\n                if (typeof locales === \"string\") locales = [\n                    locales\n                ];\n                if (!Array.isArray(locales) || locales.length === 0) locales = this.default_locales;\n                return locales;\n            }\n        },\n        {\n            key: \"get_with_locales\",\n            value: function get_with_locales(prop, locales, default_value) {\n                var ret = this._lookup_with_locales(prop, locales, default_value);\n                if (typeof ret === \"object\") console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + (typeof ret === \"undefined\" ? \"undefined\" : (0, $e9b7c4456bbf1b23$export$5f0017c582d45a2d)(ret)) + '\", should be string or similar', ret);\n                if (typeof ret === \"undefined\") {\n                    console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', {\n                        data: this.data\n                    });\n                    return \"\";\n                }\n                return ret;\n            }\n        },\n        {\n            key: \"get_country_iso\",\n            value: function get_country_iso() {\n                var country = this.get(\"country.iso_code\");\n                if (country) country = country.substr(0, 2).toLowerCase();\n                return country;\n            }\n        },\n        {\n            /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */ key: \"is_empty\",\n            value: function is_empty() {\n                return this.get(\"is_empty\", false);\n            }\n        },\n        {\n            /**\n     * Get error message, if any\n     * @return string Error Message\n     */ key: \"error\",\n            value: function error() {\n                return this.get_raw(\"extra.error\") || \"\";\n            }\n        },\n        {\n            /**\n     * Get the raw data of this object\n     * @returns object\n     */ key: \"serialize\",\n            value: function serialize() {\n                return this.data;\n            }\n        }\n    ]);\n    return Record;\n}();\nvar $a4c6bf567c1b63c8$export$2e2bcd8739ae039 = $a4c6bf567c1b63c8$var$Record;\n\n\nvar $f422a70a3b9c8a83$export$c0c5a36406ccde34 = function() {\n    return (0, $9a0f598d59a61a3e$export$d3720feff416e85b)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name);\n};\nvar $f422a70a3b9c8a83$export$bfae0a1e3adc82ee = function(data, cache_duration) {\n    (0, $9a0f598d59a61a3e$export$1f73f60bdb811cb1)((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name, data, cache_duration);\n};\nvar $f422a70a3b9c8a83$var$lastEvaluated = {};\nvar $f422a70a3b9c8a83$export$88983ef80f4f72ac = function() {\n    return $f422a70a3b9c8a83$var$lastEvaluated;\n};\nvar $f422a70a3b9c8a83$export$7bc079f12f70511d = function() {\n    $f422a70a3b9c8a83$var$lastEvaluated = $f422a70a3b9c8a83$export$c0c5a36406ccde34();\n};\nvar $f422a70a3b9c8a83$export$5bfd3f24e770e2a9 = function() {\n    return new (0, $a4c6bf567c1b63c8$export$2e2bcd8739ae039)($f422a70a3b9c8a83$export$c0c5a36406ccde34(), (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).default_locales);\n};\n\n\nvar $c7d084c9c1bb0fef$var$ajaxPromise = null;\nfunction $c7d084c9c1bb0fef$var$get_info_raw() {\n    if (!$c7d084c9c1bb0fef$var$ajaxPromise) {\n        // Do Ajax Request only once per page load\n        var url = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).ajaxurl + \"?action=geoip_detect2_get_info_from_current_ip\";\n        $c7d084c9c1bb0fef$var$ajaxPromise = (0, $5115e01e50a35b95$export$49434baf33460b11)(url);\n        $c7d084c9c1bb0fef$var$ajaxPromise.then(function(response) {\n            var _response_extra;\n            if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) console.error(\"Geolocation IP Detection Error: Server returned an error: \" + response.extra.error);\n        });\n    }\n    return $c7d084c9c1bb0fef$var$ajaxPromise;\n}\nfunction $c7d084c9c1bb0fef$export$fba94e0366f5a647() {\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\nfunction $c7d084c9c1bb0fef$var$_get_info_cached() {\n    $c7d084c9c1bb0fef$var$_get_info_cached = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response, storedResponse, err, _storedResponse_extra, _response_extra, cache_duration;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    response = false;\n                    storedResponse = false;\n                    // 1) Load Info from localstorage cookie cache, if possible\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if (storedResponse === null || storedResponse === void 0 /* this is the only property that is guarantueed */  ? void 0 : storedResponse.extra) {\n                            if (storedResponse.extra.override === true) console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            else console.info(\"Geolocation IP Detection: Using cached response\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                    }\n                    _state.label = 1;\n                case 1:\n                    _state.trys.push([\n                        1,\n                        3,\n                        ,\n                        4\n                    ]);\n                    return [\n                        4,\n                        $c7d084c9c1bb0fef$var$get_info_raw()\n                    ];\n                case 2:\n                    response = _state.sent();\n                    return [\n                        3,\n                        4\n                    ];\n                case 3:\n                    err = _state.sent();\n                    console.log(\"Weird: Uncaught error...\", err);\n                    response = err.responseJSON || err;\n                    return [\n                        3,\n                        4\n                    ];\n                case 4:\n                    // 3) Save info to localstorage cookie cache\n                    if ((0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_name) {\n                        ;\n                        // Check if Override has been set now\n                        storedResponse = (0, $f422a70a3b9c8a83$export$c0c5a36406ccde34)();\n                        if ((storedResponse === null || storedResponse === void 0 ? void 0 : (_storedResponse_extra = storedResponse.extra) === null || _storedResponse_extra === void 0 ? void 0 : _storedResponse_extra.override) === true) {\n                            console.info(\"Geolocation IP Detection: Using cached response (override)\");\n                            return [\n                                2,\n                                storedResponse\n                            ];\n                        }\n                        cache_duration = (0, $3d0d91a3ea5987c5$export$41c562ebe57d11e2).cookie_duration_in_days * 86400;\n                        if (response === null || response === void 0 ? void 0 : (_response_extra = response.extra) === null || _response_extra === void 0 ? void 0 : _response_extra.error) cache_duration = 60; // Cache errors only for 1 minute, then try again\n                        (0, $f422a70a3b9c8a83$export$bfae0a1e3adc82ee)(response, cache_duration);\n                    }\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $c7d084c9c1bb0fef$var$_get_info_cached.apply(this, arguments);\n}\n\n\nfunction $48e376d52261b14a$export$429bb4f54172a307() {\n    return $48e376d52261b14a$var$_get_info_minimal.apply(this, arguments);\n}\nfunction $48e376d52261b14a$var$_get_info_minimal() {\n    $48e376d52261b14a$var$_get_info_minimal = (0, $9d998481b0dad3fe$export$7c398597f8905a1)(function() {\n        var response;\n        return (0, $8bfa850c9b09c237$export$67ebef60e6f28a6)(this, function(_state) {\n            switch(_state.label){\n                case 0:\n                    return [\n                        4,\n                        (0, $c7d084c9c1bb0fef$export$fba94e0366f5a647)()\n                    ];\n                case 1:\n                    response = _state.sent();\n                    return [\n                        2,\n                        response\n                    ];\n            }\n        });\n    });\n    return $48e376d52261b14a$var$_get_info_minimal.apply(this, arguments);\n}\nwindow.geoip_detect.get_info = $48e376d52261b14a$export$429bb4f54172a307;\n\n})();\n//# sourceMappingURL=frontend_minimal.js.map\n","/*\n Variant \"Minimal\": \n \n A minimal JS file: \n - No shortcodes, no body classes. \n - Returns JSON instead of Record class.\n*/\n\nimport { get_info_cached } from './lookup/get_info_cached';\n\n/**\n * Load data - but leave away some functionality to get a minimal bundle size\n * \n * Does not include:\n * - LocalStorage caching\n * - Accessing the data via the Record class\n * \n * @api\n * @returns Promise(object|string)\n */\nexport async function get_info_minimal() {\n    let response = await get_info_cached();\n    return response;\n}\n\n\nwindow.geoip_detect.get_info = get_info_minimal;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n        var info = gen[key](arg);\n        var value = info.value;\n    } catch (error) {\n        reject(error);\n        return;\n    }\n    if (info.done) resolve(value);\n    else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n    return function() {\n        var self = this, args = arguments;\n\n        return new Promise(function(resolve, reject) {\n            var gen = fn.apply(self, args);\n\n            function _next(value) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n            }\n\n            function _throw(err) {\n                asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n            }\n\n            _next(undefined);\n        });\n    };\n}\nexport { _async_to_generator as _ };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { makeJSONRequest } from '../lib/xhr';\nimport { options } from './options';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n    if (!ajaxPromise) {\n        // Do Ajax Request only once per page load\n        const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n        ajaxPromise = makeJSONRequest(url);\n\n        ajaxPromise.then((response) => {\n            if (response?.extra?.error) {\n                console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n            }\n        })\n    }\n\n    return ajaxPromise;\n}\n\nexport async function get_info_cached() {\n    let response = false;\n    let storedResponse = false;\n\n    // 1) Load Info from localstorage cookie cache, if possible\n    if (options.cookie_name) {\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra /* this is the only property that is guarantueed */) {\n            if (storedResponse.extra.override === true) {\n                console.info('Geolocation IP Detection: Using cached response (override)');\n            } else {\n                console.info('Geolocation IP Detection: Using cached response');\n            }\n            return storedResponse;\n        }\n    }\n\n    // 2) Get response\n    try {\n        response = await get_info_raw();\n    } catch (err) {\n        console.log('Weird: Uncaught error...', err);\n        response = err.responseJSON || err;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n        console.log('Got response:', response);\n    }\n\n    // 3) Save info to localstorage cookie cache\n    if (options.cookie_name) {\n\n        // Check if Override has been set now\n        storedResponse = getRecordDataFromLocalStorage()\n        if (storedResponse?.extra?.override === true) {\n            console.info('Geolocation IP Detection: Using cached response (override)');\n            return storedResponse;\n        }\n\n        let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n        if (response?.extra?.error) {\n            cache_duration = 60; // Cache errors only for 1 minute, then try again\n        }\n\n        setRecordDataToLocalStorage(response, cache_duration);\n    }\n\n    return response;\n}\n\n","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n    // Create the XHR request\n    var request = new XMLHttpRequest();\n\n    // Return it as a Promise\n    return new Promise(function (resolve, reject) {\n\n        // Setup our listener to process compeleted requests\n        request.onreadystatechange = function () {\n\n            // Only run if the request is complete\n            if (request.readyState !== 4) return;\n\n            // Process the response\n            if (request.status >= 200 && request.status < 300) {\n                // If successful\n                resolve(request);\n            } else {\n                // If failed\n                reject({\n                    status: request.status,\n                    statusText: request.statusText,\n                    request: request\n                });\n            }\n\n        };\n\n        // Setup our HTTP request\n        request.open(method || 'GET', url, true);\n\n        // Send the request\n        request.send();\n\n    });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n    try {\n        return JSON.parse(str);\n    } catch(e) {\n        return createErrorObject('Invalid JSON: ' + str);\n    }\n}\n\nfunction createErrorObject(errorMsg) {\n    return {\n        is_empty: true,\n        extra: {\n            error: errorMsg\n        }\n    };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n    try {\n        const request = await makeRequest(url, method);\n        if (!request.responseText || request.responseText === '0') {\n            return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n        }\n        return jsonDecodeIfPossible(request.responseText);\n    } catch(e) {\n        return jsonDecodeIfPossible(e.request.responseText);\n    }\n}\n","export const options = window.geoip_detect?.options || {\n    ajaxurl: \"/wp-admin/admin-ajax.php\",\n    default_locales: ['en'],\n    cookie_duration_in_days: 7,\n    cookie_name: 'geoip-detect-result',\n    do_body_classes: false\n};\n","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './options';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport const getRecordDataFromLocalStorage = () => {\n    return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport const setRecordDataToLocalStorage = (data, cache_duration) => {\n    setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport const getRecordDataLastEvaluated = () => {\n    return lastEvaluated;\n}\nexport const setRecordDataLastEvaluated = () => {\n    lastEvaluated = getRecordDataFromLocalStorage();\n}\n\nexport const get_info_stored_locally_record = () => {\n    return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n    var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n    localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n    localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n    let data = null;\n    try {\n        data = JSON.parse(localStorage.getItem(variable.toString()));\n    } catch(e) {\n        return null;\n    }\n    if (data !== null) {\n        if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n            localStorage.removeItem(variable.toString());\n        } else {\n            return data.value;\n        }\n    }\n    return null;\n}","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n    if (typeof(ret) === 'object' && ret !== null) {\n        if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n            for (let i = 0 ; i < locales.length ; i++) {\n                let locale = locales[i];\n\n                if (ret.names[locale]) {\n                    return ret.names[locale];\n                }\n            }\n        }\n\n        if (ret.name) {\n            return ret.name;\n        }\n\n        return '';\n    }\n    return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n    key = key.split('.').map((x) => {\n        if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n            return '';\n        }\n        x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n        x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n        return x;\n    }).join('.');\n\n    return key;\n}\n\nclass Record {\n    data = {};\n    default_locales = [];\n\n    constructor(data, default_locales) {\n        this.data = data || { is_empty: true };\n        \n        this.default_locales = ['en']; \n        this.default_locales = this._process_locales(default_locales);\n    }\n\n    get(prop, default_value) {\n        return this.get_with_locales(prop, null, default_value);\n    }\n\n    get_raw(prop) {\n        prop = camelToUnderscore(prop);\n        return _get(this.data, prop, null);\n    }\n    \n    has_property(prop) {\n        const ret = this._lookup_with_locales(prop, this.default_locales, null)\n        return ret !== null;\n    }\n\n    _lookup_with_locales(prop, locales, default_value = '') {\n        locales = this._process_locales(locales);\n\n        // Treat pseudo-property 'name' as if it never existed\n        if (prop.substr(-5) === '.name') {\n            prop = prop.substr(0, prop.length - 5);\n        }\n\n        let ret = this.get_raw(prop);\n        \n        // Localize property, if possible\n        ret = _get_localized(ret, locales);\n        \n        if (ret === null || ret === '') {\n            ret = default_value;\n        }\n\n        return ret;\n    }\n    \n    _process_locales(locales) {\n        if (typeof(locales) === 'string') {\n            locales = [ locales ];\n        }\n        if (!Array.isArray(locales) || locales.length === 0) {\n            locales = this.default_locales;\n        }\n        return locales;\n    }\n\n    get_with_locales(prop, locales, default_value) {\n        const ret = this._lookup_with_locales(prop, locales, default_value);\n\n        if (typeof(ret) === 'object') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n        }\n        if (typeof(ret) === 'undefined') {\n            console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n            return '';\n        }\n\n        return ret;\n    }\n\n    get_country_iso() {\n        let country = this.get('country.iso_code');\n        if(country) {\n            country = country.substr(0, 2).toLowerCase();\n        }\n        return country;\n    }\n\n    /**\n     * Check if there is information available for this IP\n     * @returns boolean \n     */\n    is_empty() {\n        return this.get('is_empty', false);\n    }\n    \n    /**\n     * Get error message, if any\n     * @return string Error Message\n     */\n    error() {\n        return this.get_raw('extra.error') || '';\n    }\n\n    /**\n     * Get the raw data of this object\n     * @returns object\n     */\n    serialize() {\n        return this.data;\n    }\n}\n\nexport default Record;","export function _class_call_check(instance, Constructor) {\n    if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n\n        if (\"value\" in descriptor) descriptor.writable = true;\n\n        Object.defineProperty(target, descriptor.key, descriptor);\n    }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n\n    return Constructor;\n}\nexport { _create_class as _ };\n","export function _define_property(obj, key, value) {\n    if (key in obj) {\n        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n    } else obj[key] = value;\n\n    return obj;\n}\nexport { _define_property as _ };\n","export function _type_of(obj) {\n    \"@swc/helpers - typeof\";\n\n    return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","module.exports = get;\n\n/*\n  const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n  get(obj, 'a.aa.aaa'); // 2\n  get(obj, ['a', 'aa', 'aaa']); // 2\n\n  get(obj, 'b.bb.bbb'); // undefined\n  get(obj, ['b', 'bb', 'bbb']); // undefined\n\n  get(obj.a, 'aa.aaa'); // 2\n  get(obj.a, ['aa', 'aaa']); // 2\n\n  get(obj.b, 'bb.bbb'); // undefined\n  get(obj.b, ['bb', 'bbb']); // undefined\n\n  get(obj.b, 'bb.bbb', 42); // 42\n  get(obj.b, ['bb', 'bbb'], 42); // 42\n\n  get(null, 'a'); // undefined\n  get(undefined, ['a']); // undefined\n\n  get(null, 'a', 42); // 42\n  get(undefined, ['a'], 42); // 42\n\n  const obj = {a: {}};\n  const sym = Symbol();\n  obj.a[sym] = 4;\n  get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n  if (!obj) {\n    return defaultValue;\n  }\n  var props, prop;\n  if (Array.isArray(propsArg)) {\n    props = propsArg.slice(0);\n  }\n  if (typeof propsArg == 'string') {\n    props = propsArg.split('.');\n  }\n  if (typeof propsArg == 'symbol') {\n    props = [propsArg];\n  }\n  if (!Array.isArray(props)) {\n    throw new Error('props arg must be an array, a string or a symbol');\n  }\n  while (props.length) {\n    prop = props.shift();\n    if (!obj) {\n      return defaultValue;\n    }\n    obj = obj[prop];\n    if (obj === undefined) {\n      return defaultValue;\n    }\n  }\n  return obj;\n}\n"],"names":["$9d998481b0dad3fe$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$9d998481b0dad3fe$export$7c398597f8905a1","fn","self","args","arguments","apply","err","undefined","$8bfa850c9b09c237$export$67ebef60e6f28a6","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","Symbol","iterator","n","v","step","op","TypeError","call","pop","length","push","e","_ref","$3d0d91a3ea5987c5$var$_window_geoip_detect","$5115e01e50a35b95$export$699251e5611cc6db","url","method","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$5115e01e50a35b95$export$8fe2eaa78e58529f","str","JSON","parse","$5115e01e50a35b95$var$createErrorObject","errorMsg","is_empty","extra","$5115e01e50a35b95$export$49434baf33460b11","_arguments","_state","responseText","$3d0d91a3ea5987c5$export$41c562ebe57d11e2","window","geoip_detect","options","ajaxurl","default_locales","cookie_duration_in_days","cookie_name","do_body_classes","$9a0f598d59a61a3e$export$1f73f60bdb811cb1","variable","ttl_sec","data","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$9a0f598d59a61a3e$export$d3720feff416e85b","getItem","removeItem","$f422a70a3b9c8a83$export$c0c5a36406ccde34","$f422a70a3b9c8a83$export$bfae0a1e3adc82ee","cache_duration","$c7d084c9c1bb0fef$var$ajaxPromise","$c7d084c9c1bb0fef$var$_get_info_cached","response","storedResponse","_storedResponse_extra","_response_extra","override","console","log","responseJSON","$48e376d52261b14a$var$_get_info_minimal","get_info"],"version":3,"file":"frontend_minimal.js.map"}
  • geoip-detect/trunk/lib/geonames/data/country-info.php

    r2955036 r3233048  
    11<?php
    2 // Generated at Mon, 14 Aug 2023 10:51:50 +0200
     2// Generated at Mon, 13 Jan 2025 15:06:50 +0000
    33return array (
    44  'countries' =>
     
    32473247      'location' =>
    32483248      array (
    3249         'latitude' => 21.131296248312502,
     3249        'latitude' => 21.2152279209553,
    32503250        'longitude' => 82.93322521645375,
    32513251      ),
     
    47974797      'location' =>
    47984798      array (
    4799         'latitude' => 3.1953621375,
    4800         'longitude' => 73.152777619,
     4799        'latitude' => 3.195189949496238,
     4800        'longitude' => 73.1527255694414,
    48014801      ),
    48024802      'extra' =>
     
    51245124        'names' =>
    51255125        array (
    5126           'en' => 'Netherlands',
     5126          'en' => 'The Netherlands',
    51275127          'de' => 'Niederlande',
    51285128          'it' => 'Paesi Bassi',
     
    69536953        'names' =>
    69546954        array (
    6955           'en' => 'Turkey',
     6955          'en' => 'Türkiye',
    69566956          'de' => 'Türkei',
    69576957          'it' => 'Turchia',
  • geoip-detect/trunk/lib/geonames/data/country-names.php

    r2955036 r3233048  
    11<?php
    2 // Generated at Mon, 14 Aug 2023 10:51:50 +0200
     2// Generated at Mon, 13 Jan 2025 15:06:50 +0000
    33return array (
    44  'en' =>
     
    157157    'NR' => 'Nauru',
    158158    'NP' => 'Nepal',
    159     'NL' => 'Netherlands',
    160159    'NC' => 'New Caledonia',
    161160    'NZ' => 'New Zealand',
     
    225224    'TH' => 'Thailand',
    226225    'GM' => 'The Gambia',
     226    'NL' => 'The Netherlands',
    227227    'TL' => 'Timor-Leste',
    228228    'TG' => 'Togo',
     
    231231    'TT' => 'Trinidad and Tobago',
    232232    'TN' => 'Tunisia',
    233     'TR' => 'Turkey',
    234233    'TM' => 'Turkmenistan',
    235234    'TC' => 'Turks and Caicos Islands',
    236235    'TV' => 'Tuvalu',
     236    'TR' => 'Türkiye',
    237237    'UM' => 'U.S. Outlying Islands',
    238238    'VI' => 'U.S. Virgin Islands',
  • geoip-detect/trunk/package.json

    r3112668 r3233048  
    1717    "test": "cp tests/babel.config.json . && jest --coverage",
    1818    "test-ddd": "cp tests/babel.config.json . && jest -t ddd",
    19     "update-browserlist": "browserslist --update-db"
     19    "update-browserlist": "npx update-browserslist-db@latest"
    2020  },
    2121  "private": false,
     
    4444      "^.+\\.js$": "babel-jest"
    4545    }
    46   },
    47   "engines": {
    48     "node": ">=16.0.0 <17.0.0"
    4946  }
    5047}
  • geoip-detect/trunk/readme.txt

    r3136984 r3233048  
    33Tags: geolocation, locator, geoip, maxmind, ipstack
    44Requires at least: 5.0
    5 Tested up to: 6.6
     5Tested up to: 6.7
    66Requires PHP: 7.2
    77Stable tag: 5.4.1
     
    125125== Upgrade Notice ==
    126126
     127= 5.5.0 =
     128
     129When using the default datasource "hostip.info", the region code (i.e. CA) is now correctly moved to the property `mostSpecificSubdivision` (previously, it was part of the property `city`)
     130
    127131= 5.0.0 =
    128132
    129133If you are using AJAX mode, please read the changelog.
    130134
    131 = 4.0.1 =
    132 
    133 Hotfix - avoid fatal erros if another plugin also has the Maxmind library included
    134 
    135 = 4.0.0 =
    136 
    137 Improving Shortcodes (and Shortcodes for AJAX!)
    138 New Minimum Requirements: PHP 7.2.5, and if you use WooCommerce it needs to be 3.9.0 or later.
    139 
    140 = 3.3.0 =
    141 
    142 Improving AJAX mode - now you can use it for specific pages.
    143 
    144 = 3.2.1 =
    145 
    146 This update fixes an issue of 3.2.0 if your installation has WP_DEBUG enabled.
    147 
    148 = 3.2.0 =
    149 
    150 This plugin version simplifies complying the the EULA of Maxmind by automatically retrieving and honoring their Privacy Exclusion List.
    151 You need to enter your Account ID in the options.
    152 Find more information about the Privacy Exclusion API in the FAQ of the plugin.
    153 
    154 = 3.1.0 =
    155 
    156 The property access for shortcodes has been rewritten so that property names such as "extra.original.zip" (Datasource: ipstack) are possible now.
    157 
    158 = 3.0.3.1 =
    159 
    160 Hotfix for the Manual download Maxmind datasource.
    161 The Plugin was renamed to Geolocation IP Detection in order to prevent trademark issues.
    162 
    163 = 3.0.3 =
    164 
    165 The Plugin was renamed to Geolocation IP Detection in order to prevent trademark issues.
    166 
    167 = 3.0.1 =
    168 
    169 3.0 was not compatible with the WooCommerce plugin.
    170 
    171 = 3.0 =
    172 
    173 If you use Maxmind "Automatic download" then you need to upgrade to this plugin version in order to continue to receive database update. The Database license changed and you will need to register at their website and agree to the EULA.
    174 
    175135== Changelog ==
     136
     137= 5.5.0 =
     138* FIX [!]: In the datasource "hostip.info", the region code (i.e. CA) is now correctly moved to the property `mostSpecificSubdivision` (previously, it was part of the property `city`)
     139* Library updates
    176140
    177141= 5.4.1 =
     
    250214* Checked compatibility with PHP 8.1
    251215
    252 = 4.2.3 =
    253 * FIX: Further improve the Maxmind admin notice UI
    254 * Update some smaller libraries
    255 
    256 = 4.2.2 =
    257 * FIX: Show Maxmind admin notice only on GeoIP pages to make it less intrusive
    258 
    259 = 4.2.1 =
    260 * FIX: Do not disable lookup automatically when potentially incompatible Maxmind libraries are found.
    261 
    262 = 4.2.0 =
    263 * NEW: Show a warning on the options page when there are incompatibilities with other plugins that also use the Maxmind libraries.
    264 * FIX: Remove an incompatibility of the libraries with Toolset or other Laravel-based plugins
    265 * NEW: In CF7, you can now add any property to the mail body with a special syntax, e.g. `[geoip_detect2_property_country__iso_code]`
    266 * FIX (JS): Replace the internally used library 'lodash' with 'just' to reduce the JS file size
    267 * FIX (JS): Improve error handling in AJAX mode
    268 * FIX: Port numbers in reverse proxies are ignored now (removes incompatibility with Azure reverse proxies)
    269 * FIX: Prevent Cloudflare APO from caching when using AJAX mode or page caching is disabled in the plugin options
    270 
    271 = 4.1.0 =
    272 * NEW: An `else` shortcode for `geoip_detect2_show_if` and `geoip_detect2_hide_if`: `[geoip_detect2_show_if city="Berlin"]You are in Berlin[else]You are not in Berlin[/geoip_detect2_show_if]`
    273 * FIX: The JS for AJAX wasn't working for Safari browsers
    274 * FIX: Improving some edge cases of `Record.get_with_locales()` and other methods of `Record` to be consistent with non-AJAX mode
    275 * FIX: Revert more Maxmind libraries to fix incompatibility with WooCommerce
    276 
    277 = 4.0.1 =
    278 * FIX: Revert Maxmind library to 2.10.0 for now as the most current version seems to be incompatible with Wordfence and other plugins using the older version of the Maxmind library
    279 
    280 = 4.0.0 =
    281 This version has many changes regarding the Shortcodes API. It is a major version because it increases some system requirements (see below).
    282 
    283 * NEW: Shortcodes can now also be resolved in AJAX mode (without coding JS).
    284 If you are using a page cache, AJAX mode is the best solution for you. And thanks to shortcodes, this doesn't need custom coding anymore.
    285 You can keep using the same shortcodes as before - just tick the options "Enable AJAX endpoint" and "Resolve shortcodes (via AJAX)".
    286 Instead of doing the geo-lookup while generating the HTML, it will generate boilerplate HTML (for the cache) that will be filled by the plugin's JS automatically (in the client's browser).
    287 * NEW: JS has a new function called `set_override(record, duration_in_days)` (see [AJAX documentation](https://github.com/yellowtree/geoip-detect/wiki/API:-AJAX)) so that the record information can be overridden manually (e.g. when the user selects a certain country manually). A PHP equivalent will follow.
    288 * NEW: The JS syntax of the shortcodes now supports both underscore_case and camelCase (e.g. both country.is_in_european_union and country.isInEuropeanUnion are valid)
    289 * NEW: [geoip_detect2_show_if] and [geoip_detect2_hide_if] now have a new attribute `operator="OR"` - this can be used to create conditions such as "continent = EU OR country = US"
    290 
    291 Other Improvements:
    292 * NEW (UI): Add a "Empty Cache"-Button on the Lookup page if the data source is caching the results
    293 * FIX: In some cases, the Privacy Exclusions Update wasn't rescheduled properly before
    294 * FIX: Ipstack: The property country.isInEuropeanUnion is now filled properly.
    295 * Updated vendor code
    296 
    297 Also note:
    298 * The minimum PHP version is now 7.2.5
    299 * Minimum Wordpress version is now 5.0
    300 * The plugin is now using PHP Type-Hinting for API functions - if you used the PHP API, please check if you see PHP errors
    301 * If you are using WooCommerce, you need at least version 3.9.0 (released Jan 2020) - otherwise this plugin lookup disables itself
    302 
    303 As always, if you are happy about the plugin, please consider [donating](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BSYUZHS8FH3CL), [becoming a Beta-Tester](https://github.com/yellowtree/geoip-detect/wiki/Beta_Testing) or otherwise [contributing](https://github.com/yellowtree/geoip-detect/blob/master/CONTRIBUTING.md) to it.
    304 
    305 
    306 = 3.3.0 =
    307 * NEW shortcode `[geoip_detect2_enqueue_javascript]` if you are using AJAX mode, but only on certain wordpress pages.
    308 * NEW option "Add a country-specific CSS class to the <body>-Tag (via AJAX)." It is enabled automatically when upgrading the plugin, if the options "AJAX" and the "body tag" was enabled before.
    309 * Some UI fixes
    310 
    311 = 3.2.1 =
    312 * FIX: Fix a fatal error that can occur in 3.2.0 if WP_DEBUG is enabled on your installation.
    313 
    314 = 3.2.0 =
    315 * NEW: The plugin now integrates the Maxmind Privacy Exclusion API. If you are using a Maxmind datasource, the plugin will return an empty result when looking up an IP that is on the privacy blacklist. You need to enter your Account ID for this.
    316 * FIX: If timeZone is unknown, leave empty value instead of NULL
    317 * FIX: Improve compatibility with PHP 8.0
    318 * UI: Improving some strings for clearer documentation
    319 * AJAX mode is now declared stable (no code change)
    320 
    321 = 3.1.2 =
    322 * NEW: The shortcode `[geoip_detect2_text_input]` now has a parameter `type` for hidden or other HTML5 input types (see [Postal code example](https://github.com/yellowtree/geoip-detect/wiki/API:-Shortcodes-for-Contact-Form-7#create-a-text-input-that-is-prefilled-with-a-geodetected-property))
    323 * FIX: The Backend UI "Lookup" does not show an empty timezone anymore if there is no data attached to this IP.
    324 * NEW: In all datasources, the new record property `$record->extra->currencyCode` for the currency code of the detected country has been added
    325 * FIX: Compatibility with PHP 8.0
    326 
    327 = 3.1.1 =
    328 * NEW: Add the possibility to access the ISO-3166 alpha3 version of `$record->country`: `$record->extra->countryIsoCode3` or `[geoip_detect2 property="extra.countryIsoCode3"]`
    329 * FIX: The (CF7) shortcode `[geoip_detect2_countries]` now selects the selected country on page reload (the HTML tag autocomplete is set to `off` now)
    330 * FIX: Subnets can now be entered in the preferences of the reverse proxy again (this was a regression of the Admin UI changes in 3.0.3)
    331 * FIX: Do not log "It has not changed since the last update." as a cron-related error that should be shown to the user.
    332 
    333 = 3.1.0 =
    334 * FIX: The property access for shortcodes has been rewritten so that property names such as "extra.original.zip" (Datasource: ipstack) are possible now.
    335 * FIX: The lookup page now also shows subdivisions (e.g. for IPs from Uk that have 2 levels of subdivisions)
    336 * NEW: The (CF7) shortcode `[geoip_detect2_countries mycountry include_blank flag tel]` now adds the flag emoji (or ISO code in Windows) and the telephone international code to the country name
    337 * FIX: AJAX mode: Using localStorage instead of Cookies for caching (as we hit the Cookie size limitation sometimes)
    338 * FIX: AJAX mode: Remove jQuery dependency
    339 * FIX: AJAX mode: `geoip_detect2_enqueue_javascript()` can be used now in function.php or templates (see [PHP Example](https://github.com/yellowtree/geoip-detect/wiki/API-Usage-Examples#ajax-enqueue-the-js-file-manually))
    340 
    341 = 3.0.4 =
    342 * When an error occurs during the Cron update of the Maxmind database, it is now shown in the backend.
    343 * FIX: All times shown in the Admin backend now use the timezone set by Wordpress
    344 * FIX: In the Admin Options, it was not possible to revert an hardcoded "External IP of this server" back to "automatic detection"
    345 * FIX: `[geoip_detect2_show_if property="country.isInEuropeanUnion" property_value="true"]Products list for EU[/geoip_detect2_show_if]` now works properly (boolean values can be "true"/"yes" or "false"/"no")
    346 * FIX: `[geoip_detect2_current_flag]` now compatible with the [SVG Flags](https://wordpress.org/plugins/svg-flags-lite/) version 0.9.0. See [Documentation](https://github.com/yellowtree/geoip-detect/wiki/API:-Shortcodes#add-a-flag-of-the-visitors-country) for more infos.
    347 * Minor admin improvement: If the value "IPs of trusted proxies" is set, but "The server is behind a reverse proxy" is not ticked, issue an warning
    348 
    349 = 3.0.3.1 =
    350 * Hotfix: The filename specified in the manual datasource can be changed properly again.
    351 
    352 = 3.0.3 =
    353 * The Plugin has been renamed to "Geolocation IP Detection" in order to prevent trademark issues
    354 * FIX: Minor improvements in the backend UI
    355 * FIX: Security hardening against XSS
    356 
    357 = 3.0.2 =
    358 (Was not released)
    359 
    360 = 3.0.1 =
    361 * FIX: Button "Update now" now works also on the lookup page.
    362 * FIX: Reverted the vendor code to the one used in 2.13 because it broke installations with the WooCommerce-plugin. I will update the vendor code again once we found a long-term solution for this interdepency.
    363 
    364 = 3.0 =
    365 * MAJOR CHANGE: Due to legal reasons, Maxmind now requires registration and some use cases are no longer allowed with the free data. If you use the Maxmind data source with automatic update, the update will fail for versions < 3.0 or if you have not entered a license key yet.
    366 * Updated the Maxmind update mechanism
    367 * Updated Maxmind vendor code
    368 
    369216The code of the plugin has not changed much, I have named this version 3.0 to indicate the major change on Maxmind's side of things. They explain it in this blog post:
    370217https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
  • geoip-detect/trunk/vendor/composer/InstalledVersions.php

    r2953092 r3233048  
    9999        foreach (self::getInstalled() as $installed) {
    100100            if (isset($installed['versions'][$packageName])) {
    101                 return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
     101                return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
    102102            }
    103103        }
     
    120120    public static function satisfies(VersionParser $parser, $packageName, $constraint)
    121121    {
    122         $constraint = $parser->parseConstraints($constraint);
     122        $constraint = $parser->parseConstraints((string) $constraint);
    123123        $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
    124124
     
    329329                    $installed[] = self::$installedByVendor[$vendorDir];
    330330                } elseif (is_file($vendorDir.'/composer/installed.php')) {
    331                     $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
     331                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
     332                    $required = require $vendorDir.'/composer/installed.php';
     333                    $installed[] = self::$installedByVendor[$vendorDir] = $required;
    332334                    if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    333335                        self::$installed = $installed[count($installed) - 1];
     
    341343            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
    342344            if (substr(__DIR__, -8, 1) !== 'C') {
    343                 self::$installed = require __DIR__ . '/installed.php';
     345                /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
     346                $required = require __DIR__ . '/installed.php';
     347                self::$installed = $required;
    344348            } else {
    345349                self::$installed = array();
    346350            }
    347351        }
    348         $installed[] = self::$installed;
     352
     353        if (self::$installed !== array()) {
     354            $installed[] = self::$installed;
     355        }
    349356
    350357        return $installed;
  • geoip-detect/trunk/vendor/composer/installed.php

    r3136982 r3233048  
    44        'pretty_version' => 'dev-develop',
    55        'version' => 'dev-develop',
    6         'reference' => '94b13df21268a70d2c7494d9a07971a6e6602fb3',
     6        'reference' => 'c00b53f7627822dd8edee2ce5ee9ccfb0b8da210',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    157157            'reference' => '41ff6e23ccbc3a1691406d69fe8c211a225514e2',
    158158            'type' => 'metapackage',
    159             'install_path' => NULL,
     159            'install_path' => null,
    160160            'aliases' => array(),
    161161            'dev_requirement' => true,
     
    440440            'pretty_version' => 'dev-develop',
    441441            'version' => 'dev-develop',
    442             'reference' => '94b13df21268a70d2c7494d9a07971a6e6602fb3',
     442            'reference' => 'c00b53f7627822dd8edee2ce5ee9ccfb0b8da210',
    443443            'type' => 'wordpress-plugin',
    444444            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.