Plugin Directory

Changeset 3136982


Ignore:
Timestamp:
08/17/2024 09:29:28 AM (20 months ago)
Author:
benjaminpick
Message:

Release 5.4.1

Location:
geoip-detect/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • geoip-detect/trunk

    • Property svn:ignore
      •  

        old new  
        22bin
        33docs
         4_config.yml
        45README.md
        56CHANGELOG.md
  • geoip-detect/trunk/check_requirements.php

    r2873920 r3136982  
    8080    }
    8181
    82     if (GEOIP_DETECT_DEBUG) {
     82    if (defined('GEOIP_DETECT_DEBUG') && GEOIP_DETECT_DEBUG ) {
    8383        trigger_error($message);
    8484    }
  • geoip-detect/trunk/geoip-detect.php

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

    r3112668 r3136982  
    2626    }
    2727}
    28 add_action('plugins_loaded', 'geoip_detect_defines');
     28add_action('plugins_loaded', 'geoip_detect_defines', 1); // Run as early as possible
    2929
    3030
  • geoip-detect/trunk/js/body_classes.js

    r2805965 r3136982  
     1import { triggerNativeEvent } from './lib/events';
    12import { domReady } from './lib/html';
    23import { get_info } from './lookup/get_info';
     
    5657        }
    5758    }
     59
     60    triggerNativeEvent(body, 'geoip-detect-body-classes-done');
    5861}
  • geoip-detect/trunk/js/dist/frontend_full.js

    r3112668 r3136982  
    1 !function(){function e(e){return e&&e.__esModule?e.default:e}function t(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){n(e);return}s.done?t(u):Promise.resolve(u).then(r,o)}function n(e){return function(){var n=this,r=arguments;return new Promise(function(o,i){var a=e.apply(n,r);function s(e){t(a,o,i,s,u,"next",e)}function u(e){t(a,o,i,s,u,"throw",e)}s(void 0)})}}function r(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function o(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s,u,c,l={};l=function(e,t,n){var o,i;if(!e)return n;if(Array.isArray(t)&&(o=t.slice(0)),"string"==typeof t&&(o=t.split(".")),(void 0===t?"undefined":r(t))=="symbol"&&(o=[t]),!Array.isArray(o))throw Error("props arg must be an array, a string or a symbol");for(;o.length;)if(i=o.shift(),!e||void 0===(e=e[i]))return n;return e};var f=function(e,t){if("object"==typeof e&&null!==e){if("object"==typeof e.names&&"object"==typeof t)for(var n=0;n<t.length;n++){var r=t[n];if(e.names[r])return e.names[r]}return e.name?e.name:""}return e},d=function(e){return e=e.split(".").map(function(e){return"string"!=typeof e||"string"!=typeof e[0]?"":e=(e=e[0].toLowerCase()+e.slice(1)).replace(/([A-Z])/g,"_$1").toLowerCase()}).join(".")},p=function(){var t,n;function o(e,t){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,o),a(this,"data",{}),a(this,"default_locales",[]),this.data=e||{is_empty:!0},this.default_locales=["en"],this.default_locales=this._process_locales(t)}return t=[{key:"get",value:function(e,t){return this.get_with_locales(e,null,t)}},{key:"get_raw",value:function(t){return t=d(t),e(l)(this.data,t,null)}},{key:"has_property",value:function(e){return null!==this._lookup_with_locales(e,this.default_locales,null)}},{key:"_lookup_with_locales",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";t=this._process_locales(t),".name"===e.substr(-5)&&(e=e.substr(0,e.length-5));var r=this.get_raw(e);return(null===(r=f(r,t))||""===r)&&(r=n),r}},{key:"_process_locales",value:function(e){return"string"==typeof e&&(e=[e]),Array.isArray(e)&&0!==e.length||(e=this.default_locales),e}},{key:"get_with_locales",value:function(e,t,n){var o=this._lookup_with_locales(e,t,n);return("object"==typeof o&&console.warn('Geolocation IP Detection: The property "'+e+'" is of type "'+(void 0===o?"undefined":r(o))+'", should be string or similar',o),void 0===o)?(console.warn('Geolocation IP Detection: The property "'+e+'" is not defined, please check spelling or maybe you need a different data source',{data:this.data}),""):o}},{key:"get_country_iso",value:function(){var e=this.get("country.iso_code");return e&&(e=e.substr(0,2).toLowerCase()),e}},{key:"is_empty",value:function(){return this.get("is_empty",!1)}},{key:"error",value:function(){return this.get_raw("extra.error")||""}},{key:"serialize",value:function(){return this.data}}],i(o.prototype,t),n&&i(o,n),o}(),h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",n=new XMLHttpRequest;return new Promise(function(r,o){n.onreadystatechange=function(){4===n.readyState&&(n.status>=200&&n.status<300?r(n):o({status:n.status,statusText:n.statusText,request:n}))},n.open(t||"GET",e,!0),n.send()})},y=function(e){try{return JSON.parse(e)}catch(t){return v("Invalid JSON: "+e)}};function v(e){return{is_empty:!0,extra:{error:e}}}var g=(s=n(function(e){var t,n,r=arguments;return o(this,function(o){switch(o.label){case 0:t=r.length>1&&void 0!==r[1]?r[1]:"GET",o.label=1;case 1:return o.trys.push([1,3,,4]),[4,h(e,t)];case 2:if(!(n=o.sent()).responseText||"0"===n.responseText)return[2,v("Got an empty response from server. Did you enable AJAX in the options?")];return[2,y(n.responseText)];case 3:return[2,y(o.sent().request.responseText)];case 4:return[2]}})}),function(e){return s.apply(this,arguments)}),_=(null===(c=window.geoip_detect)||void 0===c?void 0:c.options)||{ajaxurl:"/wp-admin/admin-ajax.php",default_locales:["en"],cookie_duration_in_days:7,cookie_name:"geoip-detect-result",do_body_classes:!1},m=function(e,t,n){var r={value:t,expires_at:new Date().getTime()+1e3*n/1};localStorage.setItem(e.toString(),JSON.stringify(r))},b=function(e){var t=null;try{t=JSON.parse(localStorage.getItem(e.toString()))}catch(e){return null}if(null!==t){if(!(null!==t.expires_at&&t.expires_at<new Date().getTime()))return t.value;localStorage.removeItem(e.toString())}return null},w=function(){return b(_.cookie_name)},k=function(e,t){m(_.cookie_name,e,t)},E={},x=function(){E=w()},A=null;function j(){return(j=n(function(){var e,t,n,r,i,a;return o(this,function(o){switch(o.label){case 0:if(e=!1,t=!1,_.cookie_name&&(null==(t=w())?void 0:t.extra))return!0===t.extra.override?console.info("Geolocation IP Detection: Using cached response (override)"):console.info("Geolocation IP Detection: Using cached response"),[2,t];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(A||(A=g(_.ajaxurl+"?action=geoip_detect2_get_info_from_current_ip")).then(function(e){var t;(null==e?void 0:null===(t=e.extra)||void 0===t?void 0:t.error)&&console.error("Geolocation IP Detection Error: Server returned an error: "+e.extra.error)}),A)];case 2:return e=o.sent(),[3,4];case 3:return console.log("Weird: Uncaught error...",n=o.sent()),e=n.responseJSON||n,[3,4];case 4:if(_.cookie_name){if((null==(t=w())?void 0:null===(r=t.extra)||void 0===r?void 0:r.override)===!0)return console.info("Geolocation IP Detection: Using cached response (override)"),[2,t];a=86400*_.cookie_duration_in_days,(null==e?void 0:null===(i=e.extra)||void 0===i?void 0:i.error)&&(a=60),k(e,a)}return[2,e]}})})).apply(this,arguments)}function S(){return P.apply(this,arguments)}function P(){return(P=n(function(){var e;return o(this,function(t){switch(t.label){case 0:return[4,function(){return j.apply(this,arguments)}()];case 1:return"object"!=typeof(e=t.sent())&&(console.error("Geolocation IP Detection Error: Record should be an object, not a "+(void 0===e?"undefined":r(e)),e),e={extra:{error:e||"Network error, look at the original server response ..."}}),[2,new p(e,_.default_locales)]}})})).apply(this,arguments)}var T={};function I(e){if("__proto__"==e||"constructor"==e||"prototype"==e)throw Error("setting of prototype values not supported")}function O(e,t){return e===t||e!=e&&t!=t||(void 0===e?"undefined":r(e))==(void 0===t?"undefined":r(t))&&({}).toString.call(e)==({}).toString.call(t)&&e===Object(e)&&!!e&&(Array.isArray(e)?C(e,t):"[object Set]"==({}).toString.call(e)?C(Array.from(e),Array.from(t)):"[object Object]"==({}).toString.call(e)?function(e,t){var n=Object.keys(e),r=n.length;if(r!=Object.keys(t).length)return!1;for(var o=0;o<r;o++){var i=n[o];if(!(t.hasOwnProperty(i)&&O(e[i],t[i])))return!1}return!0}(e,t):e.toString()===t.toString())}function C(e,t){var n=e.length;if(n!=t.length)return!1;for(var r=0;r<n;r++)if(!O(e[r],t[r]))return!1;return!0}T=function(e,t,n){var o,i,a;if(Array.isArray(t)&&(o=t.slice(0)),"string"==typeof t&&(o=t.split(".")),(void 0===t?"undefined":r(t))=="symbol"&&(o=[t]),!Array.isArray(o))throw Error("props arg must be an array, a string or a symbol");if(!(i=o.pop()))return!1;for(I(i);a=o.shift();)if(I(a),void 0===e[a]&&(e[a]={}),!(e=e[a])||"object"!=typeof e)return!1;return e[i]=n,!0};var D=new Promise(function(e){"loading"===document.readyState?document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"loading"!=document.readyState&&e()}):e()});function G(e,t,n){for(var r=0;r<e.options.length;r++)if(e.options[r].getAttribute(t)===n)return e.selectedIndex=r,!0;return!1}function L(e){var t=e.getAttribute("data-options");try{return JSON.parse(t)}catch(e){return{}}}function N(e,t,n){return J.apply(this,arguments)}function J(){return(J=n(function(e,t,n){var r,i;return o(this,function(o){switch(o.label){case 0:if(!(r=document.getElementsByClassName(e)).length)return[2];return[4,S()];case 1:if((i=o.sent()).error())return console.error("Geolocation IP Detection Error ("+t+"): "+i.error()),[2];return Array.from(r).forEach(function(e){return n(e,i)}),[2]}})})).apply(this,arguments)}function U(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=L(e);return n=n||r.property,r.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."),t.get_with_locales(n,r.lang,r.default)}var z=!1;function M(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;z=!0,window.CustomEvent&&"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:r}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r),e.dispatchEvent(n),z=!1}var R=!1,q=0;function W(e){if(!z){var t=e.target;(null==t?void 0:t.matches)&&t.matches(".js-geoip-detect-input-autosave")&&function(e){var t=L(e).property,n=e.value;if((q++,R||q>10)?(console.warn("Error: Thats weird! autosave change detected a recursion ("+q+")! Please file a bug report about this and include the first 10 lines of the callstack below:"),console.trace(),!1):(R=!0,!0)){if(e.matches("select.js-geoip-detect-country-select")){var r=e.options[e.selectedIndex];en("country.iso_code",(null==r?void 0:r.getAttribute("data-c")).toUpperCase(),{reevaluate:!1})}en(t,n,{reevaluate:!0}),R=!1}}(t)}}function X(e,t){e.innerText=U(e,t)}function B(e,t){var n=t.get_country_iso()||L(e).default;n&&e.classList.add("flag-icon-"+n)}function F(e,t){if(G(e,"data-c",t.get_country_iso())){M(e,"change");return}G(e,"data-c","")&&M(e,"change")}function H(e,t){e.value=U(e,t),M(e,"change")}var Z={};function Y(t,n){var r,o,i,a=L(t);(r=a.parsed,o=["name","iso_code","iso_code3","code","geoname_id"],i="or"!==r.op,r.conditions.forEach(function(t){var s,u,c=!1,l=[],f=n.get_raw(t.p);null===f?c=!1:"object"==typeof f?o.forEach(function(e){f[e]?l.push(f[e]):"name"==e&&l.push(n.get_with_locales(t.p,a.lang))}):l=[f],s=t.v,!0===(u=l)[0]?u=["true","yes","y","1"]:!1===u[0]&&(u=["false","no","n","0",""]),u=u.map(function(e){return String(e).toLowerCase()}),c=-1!==(s=s.split(",")).indexOf("")&&0===u.length||e(Z)(s,u).length>0,t.not&&(c=!c),i="or"===r.op?i||c:i&&c}),r.not&&(i=!i),i)?(t.style.display="",t.classList.remove("geoip-hidden"),t.classList.add("geoip-shown")):(t.style.display="none",t.classList.add("geoip-hidden"),t.classList.remove("geoip-shown"))}Z=function(e,t){if(!Array.isArray(e)||!Array.isArray(t))throw Error("expected both arguments to be arrays");for(var n=[],r=function(e){for(var t={},n=0;n<e.length;n++){var r=e[n];t.hasOwnProperty(r)||(t[r]=!0)}return t}(t),o={},i=0;i<e.length;i++){var a=e[i];r.hasOwnProperty(a)&&!o.hasOwnProperty(a)&&(n.push(a),o[a]=!0)}return n};var $=function(){document.addEventListener("change",W,!1)},K=(u=n(function(){return o(this,function(e){switch(e.label){case 0:return[4,D];case 1:return e.sent(),N("js-geoip-detect-shortcode","could not execute shortcode(s) [geoip_detect2 ...]",X),N("js-geoip-detect-flag","could not configure the flag(s)",B),N("js-geoip-text-input","could not set the value of the text input field(s)",H),N("js-geoip-detect-country-select","could not set the value of the select field(s)",F),N("js-geoip-detect-show-if","could not execute the show-if/hide-if conditions",Y),[2]}})}),function(){return u.apply(this,arguments)});function Q(){return(Q=n(function(){var e;return o(this,function(t){switch(t.label){case 0:return[4,S()];case 1:if((e=t.sent()).error())return console.error("Geolocation IP Detection Error (could not add CSS-classes to body): "+e.error()),[2];return[4,D];case 2:return t.sent(),function(e){var t={country:e.get("country.iso_code"),"country-is-in-european-union":e.get("country.is_in_european_union",!1),continent:e.get("continent.code"),province:e.get("most_specific_subdivision.iso_code"),city:e.get("city.names.en")},n=document.getElementsByTagName("body")[0];a=n.className.split(" ").filter(function(e){return!e.startsWith("geoip-")}),n.className=a.join(" ").trim();var r=!0,o=!1,i=void 0;try{for(var a,s,u=Object.keys(t)[Symbol.iterator]();!(r=(s=u.next()).done);r=!0){var c=s.value,l=(t[c]+"").replace(/%[a-fA-F0-9][a-fA-F0-9]/g,"").replace(/[^A-Za-z0-9_-]/g,"");l&&("string"==typeof l?n.classList.add("geoip-".concat(c,"-").concat(l)):n.classList.add("geoip-".concat(c)))}}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}}(e),[2]}})})).apply(this,arguments)}var V=!0;function ee(){V&&($(),V=!1),_.do_body_classes&&function(){Q.apply(this,arguments)}(),K(),x()}function et(e){return("number"==typeof(e=e||{})&&(e={duration_in_days:e}),e.duration_in_days=e.duration_in_days||_.cookie_duration_in_days,e.duration_in_days<0)?(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."),!1):(void 0===e.reevaluate&&(e.reevaluate=!0),e)}function en(t,n,r){var o,i,a,s,u=w();o=u,i=t,a=n,o=o||{},i=d(i=i||""),"object"==typeof(s=e(l)(o,i))&&"object"==typeof s.names&&(i+=".name"),i.endsWith(".name")&&(i+="s",a={en:a}),e(T)(o,i,a),er(u=o,r)}function er(t,n){var r,o;return n=et(n),t&&"function"==typeof t.serialize&&(t=t.serialize()),r=t,o=n,r=r||{},e(T)(r,"extra.override",!0),m(_.cookie_name,r,86400*o.duration_in_days),!!o.reevaluate&&!O(r,E)&&(ee(),!0)}ee(),window.geoip_detect.get_info=S,window.geoip_detect.set_override=er,window.geoip_detect.set_override_with_merge=en,window.geoip_detect.remove_override=function(e){return e=et(e),m(_.cookie_name,{},-1),e.reevaluate&&ee(),!0}}();
     1!function(){function e(e){return e&&e.__esModule?e.default:e}function t(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){n(e);return}s.done?t(u):Promise.resolve(u).then(r,o)}function n(e){return function(){var n=this,r=arguments;return new Promise(function(o,i){var a=e.apply(n,r);function s(e){t(a,o,i,s,u,"next",e)}function u(e){t(a,o,i,s,u,"throw",e)}s(void 0)})}}function r(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function o(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s,u,c,l={};l=function(e,t,n){var o,i;if(!e)return n;if(Array.isArray(t)&&(o=t.slice(0)),"string"==typeof t&&(o=t.split(".")),(void 0===t?"undefined":r(t))=="symbol"&&(o=[t]),!Array.isArray(o))throw Error("props arg must be an array, a string or a symbol");for(;o.length;)if(i=o.shift(),!e||void 0===(e=e[i]))return n;return e};var d=function(e,t){if("object"==typeof e&&null!==e){if("object"==typeof e.names&&"object"==typeof t)for(var n=0;n<t.length;n++){var r=t[n];if(e.names[r])return e.names[r]}return e.name?e.name:""}return e},f=function(e){return e=e.split(".").map(function(e){return"string"!=typeof e||"string"!=typeof e[0]?"":e=(e=e[0].toLowerCase()+e.slice(1)).replace(/([A-Z])/g,"_$1").toLowerCase()}).join(".")},p=function(){var t,n;function o(e,t){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,o),a(this,"data",{}),a(this,"default_locales",[]),this.data=e||{is_empty:!0},this.default_locales=["en"],this.default_locales=this._process_locales(t)}return t=[{key:"get",value:function(e,t){return this.get_with_locales(e,null,t)}},{key:"get_raw",value:function(t){return t=f(t),e(l)(this.data,t,null)}},{key:"has_property",value:function(e){return null!==this._lookup_with_locales(e,this.default_locales,null)}},{key:"_lookup_with_locales",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";t=this._process_locales(t),".name"===e.substr(-5)&&(e=e.substr(0,e.length-5));var r=this.get_raw(e);return(null===(r=d(r,t))||""===r)&&(r=n),r}},{key:"_process_locales",value:function(e){return"string"==typeof e&&(e=[e]),Array.isArray(e)&&0!==e.length||(e=this.default_locales),e}},{key:"get_with_locales",value:function(e,t,n){var o=this._lookup_with_locales(e,t,n);return("object"==typeof o&&console.warn('Geolocation IP Detection: The property "'+e+'" is of type "'+(void 0===o?"undefined":r(o))+'", should be string or similar',o),void 0===o)?(console.warn('Geolocation IP Detection: The property "'+e+'" is not defined, please check spelling or maybe you need a different data source',{data:this.data}),""):o}},{key:"get_country_iso",value:function(){var e=this.get("country.iso_code");return e&&(e=e.substr(0,2).toLowerCase()),e}},{key:"is_empty",value:function(){return this.get("is_empty",!1)}},{key:"error",value:function(){return this.get_raw("extra.error")||""}},{key:"serialize",value:function(){return this.data}}],i(o.prototype,t),n&&i(o,n),o}(),h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",n=new XMLHttpRequest;return new Promise(function(r,o){n.onreadystatechange=function(){4===n.readyState&&(n.status>=200&&n.status<300?r(n):o({status:n.status,statusText:n.statusText,request:n}))},n.open(t||"GET",e,!0),n.send()})},y=function(e){try{return JSON.parse(e)}catch(t){return v("Invalid JSON: "+e)}};function v(e){return{is_empty:!0,extra:{error:e}}}var g=(s=n(function(e){var t,n,r=arguments;return o(this,function(o){switch(o.label){case 0:t=r.length>1&&void 0!==r[1]?r[1]:"GET",o.label=1;case 1:return o.trys.push([1,3,,4]),[4,h(e,t)];case 2:if(!(n=o.sent()).responseText||"0"===n.responseText)return[2,v("Got an empty response from server. Did you enable AJAX in the options?")];return[2,y(n.responseText)];case 3:return[2,y(o.sent().request.responseText)];case 4:return[2]}})}),function(e){return s.apply(this,arguments)}),_=(null===(c=window.geoip_detect)||void 0===c?void 0:c.options)||{ajaxurl:"/wp-admin/admin-ajax.php",default_locales:["en"],cookie_duration_in_days:7,cookie_name:"geoip-detect-result",do_body_classes:!1},m=function(e,t,n){var r={value:t,expires_at:new Date().getTime()+1e3*n/1};localStorage.setItem(e.toString(),JSON.stringify(r))},b=function(e){var t=null;try{t=JSON.parse(localStorage.getItem(e.toString()))}catch(e){return null}if(null!==t){if(!(null!==t.expires_at&&t.expires_at<new Date().getTime()))return t.value;localStorage.removeItem(e.toString())}return null},w=function(){return b(_.cookie_name)},k=function(e,t){m(_.cookie_name,e,t)},E={},x=function(){E=w()},A=null;function S(){return(S=n(function(){var e,t,n,r,i,a;return o(this,function(o){switch(o.label){case 0:if(e=!1,t=!1,_.cookie_name&&(null==(t=w())?void 0:t.extra))return!0===t.extra.override?console.info("Geolocation IP Detection: Using cached response (override)"):console.info("Geolocation IP Detection: Using cached response"),[2,t];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(A||(A=g(_.ajaxurl+"?action=geoip_detect2_get_info_from_current_ip")).then(function(e){var t;(null==e?void 0:null===(t=e.extra)||void 0===t?void 0:t.error)&&console.error("Geolocation IP Detection Error: Server returned an error: "+e.extra.error)}),A)];case 2:return e=o.sent(),[3,4];case 3:return console.log("Weird: Uncaught error...",n=o.sent()),e=n.responseJSON||n,[3,4];case 4:if(_.cookie_name){if((null==(t=w())?void 0:null===(r=t.extra)||void 0===r?void 0:r.override)===!0)return console.info("Geolocation IP Detection: Using cached response (override)"),[2,t];a=86400*_.cookie_duration_in_days,(null==e?void 0:null===(i=e.extra)||void 0===i?void 0:i.error)&&(a=60),k(e,a)}return[2,e]}})})).apply(this,arguments)}function j(){return P.apply(this,arguments)}function P(){return(P=n(function(){var e;return o(this,function(t){switch(t.label){case 0:return[4,function(){return S.apply(this,arguments)}()];case 1:return"object"!=typeof(e=t.sent())&&(console.error("Geolocation IP Detection Error: Record should be an object, not a "+(void 0===e?"undefined":r(e)),e),e={extra:{error:e||"Network error, look at the original server response ..."}}),[2,new p(e,_.default_locales)]}})})).apply(this,arguments)}var T={};function I(e){if("__proto__"==e||"constructor"==e||"prototype"==e)throw Error("setting of prototype values not supported")}function O(e,t){return e===t||e!=e&&t!=t||(void 0===e?"undefined":r(e))==(void 0===t?"undefined":r(t))&&({}).toString.call(e)==({}).toString.call(t)&&e===Object(e)&&!!e&&(Array.isArray(e)?C(e,t):"[object Set]"==({}).toString.call(e)?C(Array.from(e),Array.from(t)):"[object Object]"==({}).toString.call(e)?function(e,t){var n=Object.keys(e),r=n.length;if(r!=Object.keys(t).length)return!1;for(var o=0;o<r;o++){var i=n[o];if(!(t.hasOwnProperty(i)&&O(e[i],t[i])))return!1}return!0}(e,t):e.toString()===t.toString())}function C(e,t){var n=e.length;if(n!=t.length)return!1;for(var r=0;r<n;r++)if(!O(e[r],t[r]))return!1;return!0}T=function(e,t,n){var o,i,a;if(Array.isArray(t)&&(o=t.slice(0)),"string"==typeof t&&(o=t.split(".")),(void 0===t?"undefined":r(t))=="symbol"&&(o=[t]),!Array.isArray(o))throw Error("props arg must be an array, a string or a symbol");if(!(i=o.pop()))return!1;for(I(i);a=o.shift();)if(I(a),void 0===e[a]&&(e[a]={}),!(e=e[a])||"object"!=typeof e)return!1;return e[i]=n,!0};var D=!1;function G(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;D=!0,window.CustomEvent&&"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:r}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r),e.dispatchEvent(n),D=!1}var L=new Promise(function(e){"loading"===document.readyState?document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"loading"!=document.readyState&&e()}):e()});function N(e,t,n){for(var r=0;r<e.options.length;r++)if(e.options[r].getAttribute(t)===n)return e.selectedIndex=r,!0;return!1}function J(e){var t=e.getAttribute("data-options");try{return JSON.parse(t)}catch(e){return{}}}function U(e,t,n){return z.apply(this,arguments)}function z(){return(z=n(function(e,t,n){var r,i;return o(this,function(o){switch(o.label){case 0:if(!(r=document.getElementsByClassName(e)).length)return[2];return[4,j()];case 1:if((i=o.sent()).error())return console.error("Geolocation IP Detection Error ("+t+"): "+i.error()),[2];return Array.from(r).forEach(function(e){return n(e,i)}),[2]}})})).apply(this,arguments)}function M(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=J(e);return n=n||r.property,r.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."),t.get_with_locales(n,r.lang,r.default)}var R=!1,q=0;function B(e){if(!D){var t=e.target;(null==t?void 0:t.matches)&&t.matches(".js-geoip-detect-input-autosave")&&function(e){var t=J(e).property,n=e.value;if((q++,R||q>10)?(console.warn("Error: Thats weird! autosave change detected a recursion ("+q+")! Please file a bug report about this and include the first 10 lines of the callstack below:"),console.trace(),!1):(R=!0,!0)){if(e.matches("select.js-geoip-detect-country-select")){var r=e.options[e.selectedIndex];en("country.iso_code",(null==r?void 0:r.getAttribute("data-c")).toUpperCase(),{reevaluate:!1})}en(t,n,{reevaluate:!0}),R=!1}}(t)}}function W(e,t){e.innerText=M(e,t)}function X(e,t){var n=t.get_country_iso()||J(e).default;n&&e.classList.add("flag-icon-"+n)}function F(e,t){if(N(e,"data-c",t.get_country_iso())){G(e,"change");return}N(e,"data-c","")&&G(e,"change")}function H(e,t){e.value=M(e,t),G(e,"change")}var Z={};function Y(t,n){var r,o,i,a=J(t);(r=a.parsed,o=["name","iso_code","iso_code3","code","geoname_id"],i="or"!==r.op,r.conditions.forEach(function(t){var s,u,c=!1,l=[],d=n.get_raw(t.p);null===d?c=!1:"object"==typeof d?o.forEach(function(e){d[e]?l.push(d[e]):"name"==e&&l.push(n.get_with_locales(t.p,a.lang))}):l=[d],s=t.v,!0===(u=l)[0]?u=["true","yes","y","1"]:!1===u[0]&&(u=["false","no","n","0",""]),u=u.map(function(e){return String(e).toLowerCase()}),c=-1!==(s=s.split(",")).indexOf("")&&0===u.length||e(Z)(s,u).length>0,t.not&&(c=!c),i="or"===r.op?i||c:i&&c}),r.not&&(i=!i),i)?(t.style.display="",t.classList.remove("geoip-hidden"),t.classList.add("geoip-shown")):(t.style.display="none",t.classList.add("geoip-hidden"),t.classList.remove("geoip-shown"))}Z=function(e,t){if(!Array.isArray(e)||!Array.isArray(t))throw Error("expected both arguments to be arrays");for(var n=[],r=function(e){for(var t={},n=0;n<e.length;n++){var r=e[n];t.hasOwnProperty(r)||(t[r]=!0)}return t}(t),o={},i=0;i<e.length;i++){var a=e[i];r.hasOwnProperty(a)&&!o.hasOwnProperty(a)&&(n.push(a),o[a]=!0)}return n};var $=function(){document.addEventListener("change",B,!1)},K=(u=n(function(){return o(this,function(e){switch(e.label){case 0:return[4,L];case 1:return e.sent(),Promise.allSettled([U("js-geoip-detect-shortcode","could not execute shortcode(s) [geoip_detect2 ...]",W),U("js-geoip-detect-flag","could not configure the flag(s)",X),U("js-geoip-text-input","could not set the value of the text input field(s)",H),U("js-geoip-detect-country-select","could not set the value of the select field(s)",F),U("js-geoip-detect-show-if","could not execute the show-if/hide-if conditions",Y)]),G(document.getElementsByTagName("body")[0],"geoip-detect-shortcodes-done"),[2]}})}),function(){return u.apply(this,arguments)});function Q(){return(Q=n(function(){var e;return o(this,function(t){switch(t.label){case 0:return[4,j()];case 1:if((e=t.sent()).error())return console.error("Geolocation IP Detection Error (could not add CSS-classes to body): "+e.error()),[2];return[4,L];case 2:return t.sent(),function(e){var t={country:e.get("country.iso_code"),"country-is-in-european-union":e.get("country.is_in_european_union",!1),continent:e.get("continent.code"),province:e.get("most_specific_subdivision.iso_code"),city:e.get("city.names.en")},n=document.getElementsByTagName("body")[0];a=n.className.split(" ").filter(function(e){return!e.startsWith("geoip-")}),n.className=a.join(" ").trim();var r=!0,o=!1,i=void 0;try{for(var a,s,u=Object.keys(t)[Symbol.iterator]();!(r=(s=u.next()).done);r=!0){var c=s.value,l=(t[c]+"").replace(/%[a-fA-F0-9][a-fA-F0-9]/g,"").replace(/[^A-Za-z0-9_-]/g,"");l&&("string"==typeof l?n.classList.add("geoip-".concat(c,"-").concat(l)):n.classList.add("geoip-".concat(c)))}}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}G(n,"geoip-detect-body-classes-done")}(e),[2]}})})).apply(this,arguments)}var V=!0;function ee(){V&&($(),V=!1),_.do_body_classes&&function(){Q.apply(this,arguments)}(),K(),x()}function et(e){return("number"==typeof(e=e||{})&&(e={duration_in_days:e}),e.duration_in_days=e.duration_in_days||_.cookie_duration_in_days,e.duration_in_days<0)?(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."),!1):(void 0===e.reevaluate&&(e.reevaluate=!0),e)}function en(t,n,r){var o,i,a,s,u=w();o=u,i=t,a=n,o=o||{},i=f(i=i||""),"object"==typeof(s=e(l)(o,i))&&"object"==typeof s.names&&(i+=".name"),i.endsWith(".name")&&(i+="s",a={en:a}),e(T)(o,i,a),er(u=o,r)}function er(t,n){var r,o;return n=et(n),t&&"function"==typeof t.serialize&&(t=t.serialize()),r=t,o=n,r=r||{},e(T)(r,"extra.override",!0),m(_.cookie_name,r,86400*o.duration_in_days),!!o.reevaluate&&!O(r,E)&&(ee(),!0)}ee(),window.geoip_detect.get_info=j,window.geoip_detect.set_override=er,window.geoip_detect.set_override_with_merge=en,window.geoip_detect.remove_override=function(e){return e=et(e),m(_.cookie_name,{},-1),e.reevaluate&&ee(),!0}}();
    22//# sourceMappingURL=frontend_full.js.map
  • geoip-detect/trunk/js/dist/frontend_full.js.map

    r3112668 r3136982  
    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/html.js","js/shortcodes/helpers.js","js/shortcodes/normal.js","js/lib/events.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\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\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\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        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\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                    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\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}\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 { 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\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","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}","\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}","\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 { 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}"],"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","$6c67fe7b7c1ed07e$export$d680cb6eec13a7c7","document","addEventListener","attachEvent","$6c67fe7b7c1ed07e$export$212ec54c5d687e78","el","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","$62a02ed271bec99e$var$_internalEvent","$62a02ed271bec99e$export$f0ffca0e7194bd91","eventName","event","CustomEvent","detail","createEvent","initCustomEvent","dispatchEvent","$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","$1059251199ab55f6$var$_add_body_classes","$1059251199ab55f6$export$4e7274a5cb77ccb6","css_classes","continent","province","city","getElementsByTagName","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 $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"}
  • geoip-detect/trunk/js/shortcodes/index.js

    r2654228 r3136982  
     1import { triggerNativeEvent } from "../lib/events";
    12import { domReady } from "../lib/html";
    23import { action_on_elements } from "./helpers";
     
    1415    await domReady;
    1516
    16     // These are called in parallel, as they are async functions
    17     action_on_elements('js-geoip-detect-shortcode',
    18         'could not execute shortcode(s) [geoip_detect2 ...]', do_shortcode_normal);
     17    // These are called in parallel, as they are async functions - wait for all to finish
     18    Promise.allSettled([
     19        action_on_elements('js-geoip-detect-shortcode',
     20            'could not execute shortcode(s) [geoip_detect2 ...]', do_shortcode_normal),
    1921
    20     action_on_elements('js-geoip-detect-flag',
    21         'could not configure the flag(s)', do_shortcode_flags);
     22        action_on_elements('js-geoip-detect-flag',
     23            'could not configure the flag(s)', do_shortcode_flags),
    2224
    23     action_on_elements('js-geoip-text-input',
    24         'could not set the value of the text input field(s)', do_shortcode_text_input);
     25        action_on_elements('js-geoip-text-input',
     26            'could not set the value of the text input field(s)', do_shortcode_text_input),
    2527
    26     action_on_elements('js-geoip-detect-country-select',
    27         'could not set the value of the select field(s)', do_shortcode_country_select);
     28        action_on_elements('js-geoip-detect-country-select',
     29            'could not set the value of the select field(s)', do_shortcode_country_select),
    2830
    29     action_on_elements('js-geoip-detect-show-if',
    30         'could not execute the show-if/hide-if conditions', do_shortcode_show_if);
     31        action_on_elements('js-geoip-detect-show-if',
     32            'could not execute the show-if/hide-if conditions', do_shortcode_show_if),
     33
     34    ]);
     35
     36    const body = document.getElementsByTagName('body')[0];
     37    triggerNativeEvent(body, 'geoip-detect-shortcodes-done');
    3138};
  • geoip-detect/trunk/readme.txt

    r3112671 r3136982  
    175175== Changelog ==
    176176
     177= 5.4.1 =
     178* NEW: JS now emit events 'geoip-detect-shortcodes-done' and 'geoip-detect-body-classes-done', see https://github.com/yellowtree/geoip-detect/wiki/API:-AJAX#events
     179* FIX: Remove Fatal Error in check_requirements ("Undefined constand GEOIP_DETECT_DEBUG")
     180
    177181= 5.4.0 =
    178182* NEW: Infos can be added to a mail sent by WPForms (with Smart Tag `{geoip_detect2_user_info}`)
  • geoip-detect/trunk/vendor/autoload.php

    r2953092 r3136982  
    44
    55if (PHP_VERSION_ID < 50600) {
    6     echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
    7     exit(1);
     6    if (!headers_sent()) {
     7        header('HTTP/1.1 500 Internal Server Error');
     8    }
     9    $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
     10    if (!ini_get('display_errors')) {
     11        if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
     12            fwrite(STDERR, $err);
     13        } elseif (!headers_sent()) {
     14            echo $err;
     15        }
     16    }
     17    trigger_error(
     18        $err,
     19        E_USER_ERROR
     20    );
    821}
    922
  • geoip-detect/trunk/vendor/composer/ClassLoader.php

    r2805622 r3136982  
    4343class ClassLoader
    4444{
    45     /** @var ?string */
     45    /** @var \Closure(string):void */
     46    private static $includeFile;
     47
     48    /** @var string|null */
    4649    private $vendorDir;
    4750
    4851    // PSR-4
    4952    /**
    50      * @var array[]
    51      * @psalm-var array<string, array<string, int>>
     53     * @var array<string, array<string, int>>
    5254     */
    5355    private $prefixLengthsPsr4 = array();
    5456    /**
    55      * @var array[]
    56      * @psalm-var array<string, array<int, string>>
     57     * @var array<string, list<string>>
    5758     */
    5859    private $prefixDirsPsr4 = array();
    5960    /**
    60      * @var array[]
    61      * @psalm-var array<string, string>
     61     * @var list<string>
    6262     */
    6363    private $fallbackDirsPsr4 = array();
     
    6565    // PSR-0
    6666    /**
    67      * @var array[]
    68      * @psalm-var array<string, array<string, string[]>>
     67     * List of PSR-0 prefixes
     68     *
     69     * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
     70     *
     71     * @var array<string, array<string, list<string>>>
    6972     */
    7073    private $prefixesPsr0 = array();
    7174    /**
    72      * @var array[]
    73      * @psalm-var array<string, string>
     75     * @var list<string>
    7476     */
    7577    private $fallbackDirsPsr0 = array();
     
    7981
    8082    /**
    81      * @var string[]
    82      * @psalm-var array<string, string>
     83     * @var array<string, string>
    8384     */
    8485    private $classMap = array();
     
    8889
    8990    /**
    90      * @var bool[]
    91      * @psalm-var array<string, bool>
     91     * @var array<string, bool>
    9292     */
    9393    private $missingClasses = array();
    9494
    95     /** @var ?string */
     95    /** @var string|null */
    9696    private $apcuPrefix;
    9797
    9898    /**
    99      * @var self[]
     99     * @var array<string, self>
    100100     */
    101101    private static $registeredLoaders = array();
    102102
    103103    /**
    104      * @param ?string $vendorDir
     104     * @param string|null $vendorDir
    105105     */
    106106    public function __construct($vendorDir = null)
    107107    {
    108108        $this->vendorDir = $vendorDir;
    109     }
    110 
    111     /**
    112      * @return string[]
     109        self::initializeIncludeClosure();
     110    }
     111
     112    /**
     113     * @return array<string, list<string>>
    113114     */
    114115    public function getPrefixes()
     
    122123
    123124    /**
    124      * @return array[]
    125      * @psalm-return array<string, array<int, string>>
     125     * @return array<string, list<string>>
    126126     */
    127127    public function getPrefixesPsr4()
     
    131131
    132132    /**
    133      * @return array[]
    134      * @psalm-return array<string, string>
     133     * @return list<string>
    135134     */
    136135    public function getFallbackDirs()
     
    140139
    141140    /**
    142      * @return array[]
    143      * @psalm-return array<string, string>
     141     * @return list<string>
    144142     */
    145143    public function getFallbackDirsPsr4()
     
    149147
    150148    /**
    151      * @return string[] Array of classname => path
    152      * @psalm-return array<string, string>
     149     * @return array<string, string> Array of classname => path
    153150     */
    154151    public function getClassMap()
     
    158155
    159156    /**
    160      * @param string[] $classMap Class to filename map
    161      * @psalm-param array<string, string> $classMap
     157     * @param array<string, string> $classMap Class to filename map
    162158     *
    163159     * @return void
     
    176172     * appending or prepending to the ones previously set for this prefix.
    177173     *
    178      * @param string          $prefix  The prefix
    179      * @param string[]|string $paths   The PSR-0 root directories
    180      * @param bool            $prepend Whether to prepend the directories
     174     * @param string              $prefix  The prefix
     175     * @param list<string>|string $paths   The PSR-0 root directories
     176     * @param bool                $prepend Whether to prepend the directories
    181177     *
    182178     * @return void
     
    184180    public function add($prefix, $paths, $prepend = false)
    185181    {
     182        $paths = (array) $paths;
    186183        if (!$prefix) {
    187184            if ($prepend) {
    188185                $this->fallbackDirsPsr0 = array_merge(
    189                     (array) $paths,
     186                    $paths,
    190187                    $this->fallbackDirsPsr0
    191188                );
     
    193190                $this->fallbackDirsPsr0 = array_merge(
    194191                    $this->fallbackDirsPsr0,
    195                     (array) $paths
     192                    $paths
    196193                );
    197194            }
     
    202199        $first = $prefix[0];
    203200        if (!isset($this->prefixesPsr0[$first][$prefix])) {
    204             $this->prefixesPsr0[$first][$prefix] = (array) $paths;
     201            $this->prefixesPsr0[$first][$prefix] = $paths;
    205202
    206203            return;
     
    208205        if ($prepend) {
    209206            $this->prefixesPsr0[$first][$prefix] = array_merge(
    210                 (array) $paths,
     207                $paths,
    211208                $this->prefixesPsr0[$first][$prefix]
    212209            );
     
    214211            $this->prefixesPsr0[$first][$prefix] = array_merge(
    215212                $this->prefixesPsr0[$first][$prefix],
    216                 (array) $paths
     213                $paths
    217214            );
    218215        }
     
    223220     * appending or prepending to the ones previously set for this namespace.
    224221     *
    225      * @param string          $prefix  The prefix/namespace, with trailing '\\'
    226      * @param string[]|string $paths   The PSR-4 base directories
    227      * @param bool            $prepend Whether to prepend the directories
     222     * @param string              $prefix  The prefix/namespace, with trailing '\\'
     223     * @param list<string>|string $paths   The PSR-4 base directories
     224     * @param bool                $prepend Whether to prepend the directories
    228225     *
    229226     * @throws \InvalidArgumentException
     
    233230    public function addPsr4($prefix, $paths, $prepend = false)
    234231    {
     232        $paths = (array) $paths;
    235233        if (!$prefix) {
    236234            // Register directories for the root namespace.
    237235            if ($prepend) {
    238236                $this->fallbackDirsPsr4 = array_merge(
    239                     (array) $paths,
     237                    $paths,
    240238                    $this->fallbackDirsPsr4
    241239                );
     
    243241                $this->fallbackDirsPsr4 = array_merge(
    244242                    $this->fallbackDirsPsr4,
    245                     (array) $paths
     243                    $paths
    246244                );
    247245            }
     
    253251            }
    254252            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
    255             $this->prefixDirsPsr4[$prefix] = (array) $paths;
     253            $this->prefixDirsPsr4[$prefix] = $paths;
    256254        } elseif ($prepend) {
    257255            // Prepend directories for an already registered namespace.
    258256            $this->prefixDirsPsr4[$prefix] = array_merge(
    259                 (array) $paths,
     257                $paths,
    260258                $this->prefixDirsPsr4[$prefix]
    261259            );
     
    264262            $this->prefixDirsPsr4[$prefix] = array_merge(
    265263                $this->prefixDirsPsr4[$prefix],
    266                 (array) $paths
     264                $paths
    267265            );
    268266        }
     
    273271     * replacing any others previously set for this prefix.
    274272     *
    275      * @param string          $prefix The prefix
    276      * @param string[]|string $paths  The PSR-0 base directories
     273     * @param string              $prefix The prefix
     274     * @param list<string>|string $paths  The PSR-0 base directories
    277275     *
    278276     * @return void
     
    291289     * replacing any others previously set for this namespace.
    292290     *
    293      * @param string          $prefix The prefix/namespace, with trailing '\\'
    294      * @param string[]|string $paths  The PSR-4 base directories
     291     * @param string              $prefix The prefix/namespace, with trailing '\\'
     292     * @param list<string>|string $paths  The PSR-4 base directories
    295293     *
    296294     * @throws \InvalidArgumentException
     
    426424    {
    427425        if ($file = $this->findFile($class)) {
    428             includeFile($file);
     426            $includeFile = self::$includeFile;
     427            $includeFile($file);
    429428
    430429            return true;
     
    477476
    478477    /**
    479      * Returns the currently registered loaders indexed by their corresponding vendor directories.
    480      *
    481      * @return self[]
     478     * Returns the currently registered loaders keyed by their corresponding vendor directories.
     479     *
     480     * @return array<string, self>
    482481     */
    483482    public static function getRegisteredLoaders()
     
    556555        return false;
    557556    }
     557
     558    /**
     559     * @return void
     560     */
     561    private static function initializeIncludeClosure()
     562    {
     563        if (self::$includeFile !== null) {
     564            return;
     565        }
     566
     567        /**
     568         * Scope isolated include.
     569         *
     570         * Prevents access to $this/self from included files.
     571         *
     572         * @param  string $file
     573         * @return void
     574         */
     575        self::$includeFile = \Closure::bind(static function($file) {
     576            include $file;
     577        }, null, null);
     578    }
    558579}
    559 
    560 /**
    561  * Scope isolated include.
    562  *
    563  * Prevents access to $this/self from included files.
    564  *
    565  * @param  string $file
    566  * @return void
    567  * @private
    568  */
    569 function includeFile($file)
    570 {
    571     include $file;
    572 }
  • geoip-detect/trunk/vendor/composer/autoload_real.php

    r2953092 r3136982  
    3434        $loader->register(true);
    3535
    36         $includeFiles = \Composer\Autoload\ComposerStaticInit18fc54d84025f2e5d2b2ac2dd487f107::$files;
    37         foreach ($includeFiles as $fileIdentifier => $file) {
    38             composerRequire18fc54d84025f2e5d2b2ac2dd487f107($fileIdentifier, $file);
     36        $filesToLoad = \Composer\Autoload\ComposerStaticInit18fc54d84025f2e5d2b2ac2dd487f107::$files;
     37        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
     38            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
     39                $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
     40
     41                require $file;
     42            }
     43        }, null, null);
     44        foreach ($filesToLoad as $fileIdentifier => $file) {
     45            $requireFile($fileIdentifier, $file);
    3946        }
    4047
     
    4249    }
    4350}
    44 
    45 /**
    46  * @param string $fileIdentifier
    47  * @param string $file
    48  * @return void
    49  */
    50 function composerRequire18fc54d84025f2e5d2b2ac2dd487f107($fileIdentifier, $file)
    51 {
    52     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
    53         $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
    54 
    55         require $file;
    56     }
    57 }
  • geoip-detect/trunk/vendor/composer/installed.php

    r3112668 r3136982  
    44        'pretty_version' => 'dev-develop',
    55        'version' => 'dev-develop',
    6         'reference' => 'a6fd59e665e8ed38c36542039a6a9daa4af02de2',
     6        'reference' => '94b13df21268a70d2c7494d9a07971a6e6602fb3',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    440440            'pretty_version' => 'dev-develop',
    441441            'version' => 'dev-develop',
    442             'reference' => 'a6fd59e665e8ed38c36542039a6a9daa4af02de2',
     442            'reference' => '94b13df21268a70d2c7494d9a07971a6e6602fb3',
    443443            'type' => 'wordpress-plugin',
    444444            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.