let popup_datalayer = (formID, eventType = 'open', buttonPosition = 'N/A') => { let dataLayerObject = { 'event': `popup_${eventType}`, 'formName': 'N/A', 'formType': 'N/A', 'buttonLocation': 'N/A' } //nfForms is an array which holds information about all forms present on //the page. This is initialized by Ninjaform after all forms are ready. if (formID && nfForms) { for (let nfForm of nfForms) { if (nfForm.id === formID) { formName = nfForm.settings.title; } } if (formName) { dataLayerObject['formName'] = formName; dataLayerObject['formType'] = 'ninja form'; dataLayerObject['buttonLocation'] = buttonPosition; } } window.dataLayer = window.dataLayer || []; window.dataLayer.push(dataLayerObject); } /** * Returns an unescaped version of DL props string. example - The heading block of wordpress escapes the double * Quotes. This causes the JSON string parser to fail on the unescaped quote value. This function checks if the * DL Props string contains escaped Quotes and converts those back to ' " '. * Note: This function unescapes only double quote("). * @param {string} DL_props_string - eg ' {"key1":"value1"} ' * @returns {string} - return unescaped string * */ const nlsn_unescape_quotes = (DL_props_string) => { if (!DL_props_string.includes('"')) { return DL_props_string; } return DOMPurify.sanitize(DL_props_string.replaceAll('"','"')); } ; /** * Generic onclick datalayer trigger function * This function can be used to add event listener to an html element * which has data-dl-event attribute. */ function add_datalayer_event_to_targets() { let data_layer_elements = document.querySelectorAll('[data-dl-event]'); data_layer_elements.forEach((data_layer_element) => { // Before adding event listner check if an event listener is // already added to the element. 'dl-event-present' attribute // keeps track of event listener if (data_layer_element.hasAttribute("dl-event-present")) { return; } data_layer_element.addEventListener('click', (e) => { let element = e.currentTarget;// avoid e.target because it tries to extract the attributes of clicked element let event_name = element.getAttribute('data-dl-event'); let event_props = element.getAttribute('data-dl-props'); if (event_name === "" || event_name === null || event_props === "" || event_props === null){ return; } event_props = JSON.parse(nlsn_unescape_quotes(event_props)); let data_layer_object = {}; data_layer_object['event'] = event_name; for (const prop in event_props) { data_layer_object[prop] = event_props[prop]; } window.dataLayer = window.dataLayer || []; window.dataLayer.push(data_layer_object); // This will stop the click event from propagating to parent element // use case: After the category tag (in insights card) datalayer event is triggered, the below line // will stop propagation of click event and will prevent triggering datalayer event set in parent element. e.stopPropagation(); }) // add an attribute to element after datalayer event listener is // attached to the element. This is done to mitigate duplicate event trigger issue. data_layer_element.setAttribute("dl-event-present", "true"); }) } jQuery(document).one('nfFormReady',function ($) { add_datalayer_event_to_targets(); //execute the function after at least one form is loaded as NF takes a while to load }); document.addEventListener("postsLoaded",add_datalayer_event_to_targets); // execute the function after postsLoaded( load more )event /** * Ninja Form submission datalayer scripts */ /** * Get the value of a field containing specific key(set inside Ninja form) * @param {Object} form_fields_by_key- Submitted field values * @param {String} field_key_str - key string to search for */ const get_nf_field_value = (form_fields_by_key, field_key_str) => { let field_keys = Object.keys(form_fields_by_key); let field_key = field_keys.find((key) => key.startsWith(field_key_str)); if (!field_key){ return 'N/A'; } let NF_field_value = form_fields_by_key[field_key].value; let return_val = null; //special cases // speak with sales,remember me checkbox if ((field_key_str === 'speak_with_sales' || field_key_str === 'remember_me' || field_key_str === 'newsletter') && Array.isArray(NF_field_value)) { return_val = (NF_field_value.length > 0) ? 'true' : 'false'; } // inquiry type else if (field_key_str === 'inquiry_type' && ( NF_field_value === '' || NF_field_value === false)) { return_val = 'N/A'; } else { return_val = form_fields_by_key[field_key].value; } if (return_val === '' || return_val === null) { return_val = 'N/A'; } return return_val; }; /** * Bind a data layer event to form submit button * datalayer_infos is an array of objects which holds all datalayer fields for each form. Each object expects form_name, event_name, datalayer_fields * each object in datalayer_fields has two properties field_name and key * field_name : property name in the datalayer * key : ninja form label of the input field from where value has to be extracted */ function bind_form_data_layer_event() { const datalayer_ninjaforms_json = [ { form_identifier_class: 'datalayer-report-download', event_name: 'report_download_form', datalayer_fields: [ { field_name: 'industry', key: 'industry' }, { field_name: 'company', key: 'company' }, { field_name: 'jobTitle', key: 'job_title' }, { field_name: 'speakWithSalesCheckbox',key: 'speak_with_sales' }, { field_name: 'inquiryType', key: 'inquiry_type' }, { field_name: 'newsCheckbox', key: 'newsletter' }, { field_name: 'location', key: 'location' }, { field_name: 'campaignTag', key: 'campaigns_taxonomy_term' }, { field_name: 'reportFileName', key: 'form_attachment_1_url' }, { field_name: 'reportName', key: 'form_attachment_1_title' }, { field_name: 'pardotId', key: 'hidden_pardot_id' }, { field_name: 'salesforceId', key: 'custom_val_N/A' }, { field_name: 'websiteLeadId', key: 'custom_lead_id' }, { field_name: 'rememberMe', key: 'remember_me' }, ], }, { form_identifier_class: 'datalayer-contact-us', event_name: 'contact_us_form', datalayer_fields: [ { field_name: 'industry', key: 'industry' }, { field_name: 'company', key: 'company' }, { field_name: 'location', key: 'location' }, { field_name: 'areaOfInterest', key: 'area_of_interest' }, { field_name: 'inquiryType', key: 'inquiry_type' }, { field_name: 'newsCheckbox', key: 'newsletter' }, { field_name: 'pardotId', key: 'hidden_pardot_id' }, { field_name: 'salesforceId', key: 'custom_val_N/A' }, { field_name: 'websiteLeadId', key: 'custom_lead_id' }, { field_name: 'campaignTag', key: 'campaigns_taxonomy_term' }, ], }, { form_identifier_class: 'datalayer-newsletter', event_name: 'email_subscription_form', datalayer_fields: [ { field_name: 'newsletterName', key: 'custom_val_Newsletter' }, { field_name: 'pardotId', key: 'hidden_pardot_id' }, { field_name: 'salesforceId', key: 'custom_val_N/A' }, { field_name: 'websiteLeadId', key: 'custom_lead_id' }, ], } ]; nfRadio.channel('forms').on('submit:response', (form) => { //This is a fallback variable which contains all datalayer ninjafrom fields //in case the variable/js object in content_area is invalid or inaccesible. let errlog = form['errors']; if (Object.keys(errlog).length === 0) { const datalayer_infos = (typeof datalayer_ninjaform === 'undefined') ? datalayer_ninjaforms_json : datalayer_ninjaform; datalayer_infos.forEach((datalayer_info) => { if (form.data.settings.wrapper_class.toLowerCase().includes(datalayer_info.form_identifier_class.toLowerCase())) { //initialize event key and event value for datalayer object let data_layer_object = { 'event': datalayer_info.event_name, 'formName': form['data']['settings']['title'], 'formId': form['data']['form_id'], 'formtype': 'ninja form', }; let field_info = datalayer_info.datalayer_fields; //store all datalayer fields in an array field_info.forEach((field) => { let datalayer_field_key = field.field_name; // datalayer property name let datalayer_field_value; if (field.key.startsWith('custom_val')) { datalayer_field_value = field.key.substr(11); // extract the string after custom_val } else { let nf_key = field.key; // label of the ninjaform field datalayer_field_value = get_nf_field_value(form.data.fields_by_key, nf_key); // datalayer property value } data_layer_object[datalayer_field_key] = datalayer_field_value; }); if ( data_layer_object['event'].toString() === "contact_us_form" && data_layer_object['areaOfInterest'].toString() === "sales" && data_layer_object['inquiryType'].toString() === "false" ) { data_layer_object['inquiryType'] = get_nf_field_value(form.data.fields_by_key, ['sales_inquiry']).toLowerCase(); } window.dataLayer = window.dataLayer || []; window.dataLayer.push(data_layer_object); //close the form embeded in a gated pop-up let form_conatiner_modal = document.getElementById(`nf-form-${form['data']['form_id']}-cont`).closest('div[x-data]'); if (form_conatiner_modal === null || !(form_conatiner_modal.getAttribute('id').startsWith('modal'))) { return }; //for forms used independently or outside a pop-up block document.dispatchEvent(new CustomEvent(`${form_conatiner_modal.getAttribute('id')}`+'-gating',{bubbles : true})); //form cookie let rememberMe = get_nf_field_value(form.data.fields_by_key, 'remember_me'); if ( rememberMe === 'true') { document.cookie=`nlsn-pop-up|${form['data']['form_id']}=${form_conatiner_modal.getAttribute('id')}; max-age=604800`;//set cookie for 7 days } } }) } else { let data_layer_object = {}; let pardotId = get_nf_field_value(form.data.fields_by_key, ['hidden_pardot_id']); let websiteLeadId = get_nf_field_value(form.data.fields_by_key, ['hidden_lead_id']); data_layer_object['event'] = 'form_submit_failure' ; data_layer_object['formName'] = form['data']['settings']['title']; for(key in errlog) { var errobj = errlog[key]; for(var errkey in errobj) { var errmsg = errobj[errkey]; data_layer_object['failureReason'] = errmsg; } } data_layer_object['pardotID'] = pardotId ?? 'N/A'; data_layer_object['salesforceId'] = 'N/A'; data_layer_object['websiteLeadId'] = websiteLeadId; window.dataLayer = window.dataLayer || []; window.dataLayer.push(data_layer_object); } }) } jQuery(document).one('nfFormReady', () => { bind_form_data_layer_event(); }) /* * Ninjaform field on chanage datalayer triggers */ let formInfos = {}; let formInfoAggregator = Marionette.Object.extend({ initialize: function () { // stores the form id and form name after form intialization let formsChannel = Backbone.Radio.channel('forms'); this.listenTo(formsChannel, 'init:model', this.storeFormData); }, storeFormData: function (model) { let formID = model.get('id'); let formTitle = model.get('title'); let form_fields = model['attributes']['fields']['models']; let formLeadID = ""; for (let form_field of form_fields) { let field_key = form_field['attributes']['key']; if (field_key.startsWith('hidden_lead_id')) { formLeadID = form_field.attributes.value; break; } }; formInfos[formID] = { title: formTitle, leadID: formLeadID }; } }); let formStartDatalayerController = Marionette.Object.extend({ initialize: function () { // push datalayer when a field's value changes let fieldsChannel = Backbone.Radio.channel('fields'); this.listenTo(fieldsChannel, 'change:modelValue', this.dataLayerPush); }, dataLayerPush: function (model) { let fieldValue = model.get("value"); let fieldLabel = model.get('label'); let formInfo = formInfos[model.get('formID')]; if (formInfo) { let formName = "title" in formInfo ? formInfo['title'] : "no_title"; let formLeadID = "leadID" in formInfo ? formInfo['leadID'] : "no_lead_id"; if ( formName !== undefined && fieldLabel !== "" && fieldValue !== '' && model['attributes']['type'] !== 'hidden' ) { let dataLayerObj = { 'event': 'form_field_start', }; // define event name dataLayerObj['formName'] = formName; dataLayerObj['formFieldName'] = fieldLabel; dataLayerObj['pardotID'] = pardotId ?? 'N/A'; // should already be initialized at this point. present in wp_head hook dataLayerObj['salesforceId'] = 'N/A'; // should already be initialized at this point. present in wp_head hook window.dataLayer = window.dataLayer || []; let dataLayerEvents = window.dataLayer; let eventPresent = false; // avoid trigger form_field_start event more than once on the same form for (let dataLayerEvent of dataLayerEvents) { if (('event' in dataLayerEvent === true)) { if ( (dataLayerEvent['event'] === 'form_field_start') && (formName !== "no_title") && (dataLayerEvent['formName'] === formName) ) { eventPresent = true; } } } if (!eventPresent) { window.dataLayer.push(dataLayerObj); } } } }, }); jQuery(function () { new formInfoAggregator(); // some NF fields (default) values are populated during pageload using jQuery. A delay/timeout ensures that // form_start datalayer event doesn't trigger during these default field value assignment. setTimeout(function () { new formStartDatalayerController(); }, 1500); }); ; !function(e){"object"==typeof exports&&"undefined"!=typeof module||"function"!=typeof define||!define.amd?e():define("inert",e)}((function(){"use strict";var e,t,n,i,o,r,s=function(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e};function a(e,t){for(var n=0;nf;)o(n,e=r[f++])&&(~a(s,e)||c(s,e));return s}},function(t,r,e){var n=e(11),o=e(60),i=e(63);e=function(t){return function(r,e,a){var u,c=n(r),f=i(c),s=o(a,f);if(t&&e!=e){for(;s"+t+""}var a,u=n(46),c=n(75),f=n(65),s=n(54),p=n(77),l=n(42),h=(n=n(53),"prototype"),v="script",y=n("IE_PROTO"),d=function(){try{a=new ActiveXObject("htmlfile")}catch(t){}var t;d="undefined"==typeof document||document.domain&&a?function(t){t.write(i("")),t.close();var r=t.parentWindow.Object;return t=null,r}(a):((t=l("iframe")).style.display="none",p.appendChild(t),t.src=String("javascript:"),(t=t.contentWindow.document).open(),t.write(i("document.F=Object")),t.close(),t.F);for(var r=f.length;r--;)delete d[h][f[r]];return d()};s[y]=!0,r.exports=Object.create||function(r,e){var n;return null!==r?(o[h]=u(r),n=new o,o[h]=null,n[y]=r):n=d(),e===t?n:c.f(n,e)}},function(t,r,e){var n=e(5),o=e(45),i=e(44),a=e(46),u=e(11),c=e(76);r.f=n&&!o?Object.defineProperties:function(t,r){a(t);for(var e,n=u(r),o=c(r),f=o.length,s=0;s=r||56320!=(64512&u(t,e))))return!1}return!0}})},function(t,r,e){var n=e(89),o=String;t.exports=function(t){if("Symbol"===n(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},function(r,e,n){var o=n(90),i=n(20),a=n(14),u=n(33)("toStringTag"),c=Object,f="Arguments"==a(function(){return arguments}());r.exports=o?a:function(r){var e;return r===t?"Undefined":null===r?"Null":"string"==typeof(r=function(t,r){try{return t[r]}catch(t){}}(e=c(r),u))?r:f?a(e):"Object"==(r=a(e))&&i(e.callee)?"Arguments":r}},function(t,r,e){var n={};n[e(33)("toStringTag")]="z",t.exports="[object z]"===String(n)},function(t,r,e){var n=e(2),o=e(7),i=e(13),a=e(15),u=e(88),c=(e=e(6),Array),f=i("".charAt),s=i("".charCodeAt),p=i([].join),l="".toWellFormed,h=l&&e((function(){return"1"!==o(l,1)}));n({target:"String",proto:!0,forced:h},{toWellFormed:function(){var t=u(a(this));if(h)return o(l,t);for(var r=t.length,e=c(r),n=0;n>>0)+(n>>>0)+(((t>>>=0)&(e>>>=0)|(t|e)&~(t+e>>>0))>>>31)|0}})},function(t,r,e){e(2)({target:"Math",stat:!0,forced:!0},{imulh:function(t,r){var e,n;t=65535&(e=+t),r=65535&(n=+r);return(e=e>>16)*(n=n>>16)+((r=(e*r>>>0)+(t*r>>>16))>>16)+((t*n>>>0)+(65535&r)>>16)}})},function(t,r,e){e(2)({target:"Math",stat:!0,forced:!0},{isubh:function(t,r,e,n){return(r>>>0)-(n>>>0)-((~(t>>>=0)&(e>>>=0)|~(t^e)&t-e>>>0)>>>31)|0}})},function(t,r,e){e(2)({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{RAD_PER_DEG:180/Math.PI})},function(t,r,e){e=e(2);var n=Math.PI/180;e({target:"Math",stat:!0,forced:!0},{radians:function(t){return t*n}})},function(t,r,e){e(2)({target:"Math",stat:!0,forced:!0},{scale:e(281)})},function(t,r,e){var n=e(2),o=e(46),i=e(291),a=e(186),u=e(118),c=e(51),f=(e="Seeded Random")+" Generator",s=c.set,p=c.getterFor(f),l=TypeError,h=a((function(t){s(this,{type:f,seed:t%2147483647})}),e,(function(){var t=(t=p(this)).seed=(1103515245*t.seed+12345)%2147483647;return u((1073741823&t)/1073741823,!1)}));n({target:"Math",stat:!0,forced:!0},{seededPRNG:function(t){if(t=o(t).seed,!i(t))throw l('Math.seededPRNG() argument should have a "seed" field with a finite value.');return new h(t)}})},function(t,r,e){var n=e(3).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&n(t)}},function(t,r,e){e(2)({target:"Math",stat:!0,forced:!0},{signbit:function(t){return(t=+t)==t&&0==t?1/t==-1/0:t<0}})},function(t,r,e){e(2)({target:"Math",stat:!0,forced:!0},{umulh:function(t,r){var e,n;t=65535&(e=+t),r=65535&(n=+r);return(e=e>>>16)*(n=n>>>16)+((r=(e*r>>>0)+(t*r>>>16))>>>16)+((t*n>>>0)+(65535&r)>>>16)}})},function(r,e,n){var o=n(2),i=n(13),a=n(61),u=n(295),c="Invalid number representation",f=RangeError,s=SyntaxError,p=TypeError,l=/^[\da-z]+$/,h=i("".charAt),v=i(l.exec),y=i(1..toString),d=i("".slice);o({target:"Number",stat:!0,forced:!0},{fromString:function(r,e){var n,o=1;if("string"!=typeof r)throw p(c);if(!r.length)throw s(c);if("-"==h(r,0)&&(o=-1,!(r=d(r,1)).length))throw s(c);if((e=e===t?10:a(e))<2||36>>0||(p(s,t)?16:10))}:c},function(t,r,e){var n=e(13),o=e(15),i=e(88),a=(e=e(297),n("".replace)),u=RegExp("^["+e+"]+"),c=RegExp("(^|[^"+e+"])["+e+"]+$");e=function(t){return function(r){return r=i(o(r)),1&t&&(r=a(r,u,"")),2&t?a(r,c,"$1"):r}};t.exports={start:e(1),end:e(2),trim:e(3)}},function(t,r){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,r,e){var n=e(2),o=e(185);n({target:"Number",stat:!0,forced:!0},{range:function(t,r,e){return new o(t,r,e,"number",0,1)}})},function(t,r,e){var n=e(2),o=e(300);n({target:"Object",stat:!0,forced:!0},{iterateEntries:function(t){return new o(t,"entries")}})},function(r,e,n){var o=n(51),i=n(186),a=n(118),u=n(38),c=n(76),f=n(39),s="Object Iterator",p=o.set,l=o.getterFor(s);r.exports=i((function(t,r){t=f(t),p(this,{type:s,mode:r,object:t,keys:c(t),index:0})}),"Object",(function(){for(var r=l(this),e=r.keys;;){if(null===e||r.index>=e.length)return r.object=r.keys=null,a(t,!0);var n=e[r.index++],o=r.object;if(u(o,n)){switch(r.mode){case"keys":return a(n,!1);case"values":return a(o[n],!1)}return a([n,o[n]],!1)}}}))},function(t,r,e){var n=e(2),o=e(300);n({target:"Object",stat:!0,forced:!0},{iterateKeys:function(t){return new o(t,"keys")}})},function(t,r,e){var n=e(2),o=e(300);n({target:"Object",stat:!0,forced:!0},{iterateValues:function(t){return new o(t,"values")}})},function(t,r,e){var n=e(2),o=e(23),i=e(13),a=e(30),u=e(15),c=e(17),f=e(202),s=o("Object","create"),p=i([].push);n({target:"Object",stat:!0,forced:!0},{groupBy:function(t,r){u(t),a(r);var e=s(null),n=0;return f(t,(function(t){var o=c(r(t,n++));o in e?p(e[o],t):e[o]=[t]})),e}})},function(t,r,e){e(305),e(308),e(309)},function(r,e,n){function o(r){this.observer=s(r),this.cleanup=t,this.subscriptionObserver=t}var i=n(2),a=n(7),u=n(5),c=n(208),f=n(30),s=n(46),p=n(157),l=n(20),h=n(16),v=n(19),y=n(29),d=n(47),g=n(116),b=n(85),m=n(306),x=n(33),w=n(51),S=n(307),A=x("observable"),E="Observable",O=(n="Subscription","SubscriptionObserver"),R=(x=w.getterFor,w.set),I=x(E),k=x(n),T=x(O);function M(t,r){var e,n=R(this,new o(t));u||(this.closed=!1);try{(e=y(t,"start"))&&a(e,t,this)}catch(r){m(r)}if(!n.isClosed()){t=n.subscriptionObserver=new j(n);try{var i=r(t),c=i;h(i)||(n.cleanup=l(i.unsubscribe)?function(){c.unsubscribe()}:f(i))}catch(r){return void t.error(r)}n.isClosed()&&n.clean()}}o.prototype={type:n,clean:function(){var r=this.cleanup;if(r){this.cleanup=t;try{r()}catch(r){m(r)}}},close:function(){var r,e;u||(r=this.facade,e=this.subscriptionObserver,r.closed=!0,e&&(e.closed=!0)),this.observer=t},isClosed:function(){return this.observer===t}},M.prototype=g({},{unsubscribe:function(){var t=k(this);t.isClosed()||(t.close(),t.clean())}}),u&&b(M.prototype,"closed",{configurable:!0,get:function(){return k(this).isClosed()}});var j=function(t){R(this,{type:O,subscriptionState:t}),u||(this.closed=!1)};j.prototype=g({},{next:function(t){var r=T(this).subscriptionState;if(!r.isClosed()){r=r.observer;try{var e=y(r,"next");e&&a(e,r,t)}catch(t){m(t)}}},error:function(t){var r=T(this).subscriptionState;if(!r.isClosed()){var e=r.observer;r.close();try{var n=y(e,"error");n?a(n,e,t):m(t)}catch(t){m(t)}r.clean()}},complete:function(){var t=T(this).subscriptionState;if(!t.isClosed()){var r=t.observer;t.close();try{var e=y(r,"complete");e&&a(e,r)}catch(t){m(t)}t.clean()}}}),u&&b(j.prototype,"closed",{configurable:!0,get:function(){return T(this).subscriptionState.isClosed()}});b=function(t){p(this,P),R(this,{type:E,subscriber:f(t)})};var P=b.prototype;g(P,{subscribe:function(r){var e=arguments.length;return new M(l(r)?{next:r,error:1e.size?c(e.getIterator(),(function(t){p(r,t)&&s(o,t)})):u(r,(function(t){e.includes(t)&&s(o,t)})),o}},function(t,r,e){var n=e(2),o=e(7),i=e(335),a=e(342);n({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return o(a,this,i(t))}})},function(t,r,e){var n=e(2),o=e(345);n({target:"Set",proto:!0,real:!0,forced:!e(333)("isDisjointFrom")},{isDisjointFrom:o})},function(t,r,e){var n=e(324),o=e(325).has,i=e(331),a=e(332),u=e(330),c=e(144),f=e(165);t.exports=function(t){var r=n(this),e=a(t);if(i(r)<=e.size)return!1!==u(r,(function(t){if(e.includes(t))return!1}),!0);var s=e.getIterator();return!1!==c(s,(function(t){if(o(r,t))return f(s,"normal",!1)}))}},function(t,r,e){var n=e(2),o=e(7),i=e(335),a=e(345);n({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return o(a,this,i(t))}})},function(t,r,e){var n=e(2),o=e(348);n({target:"Set",proto:!0,real:!0,forced:!e(333)("isSubsetOf")},{isSubsetOf:o})},function(t,r,e){var n=e(324),o=e(331),i=e(330),a=e(332);t.exports=function(t){var r=n(this),e=a(t);return!(o(r)>e.size)&&!1!==i(r,(function(t){if(!e.includes(t))return!1}),!0)}},function(t,r,e){var n=e(2),o=e(7),i=e(335),a=e(348);n({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return o(a,this,i(t))}})},function(t,r,e){var n=e(2),o=e(351);n({target:"Set",proto:!0,real:!0,forced:!e(333)("isSupersetOf")},{isSupersetOf:o})},function(t,r,e){var n=e(324),o=e(325).has,i=e(331),a=e(332),u=e(144),c=e(165);t.exports=function(t){var r=n(this);t=a(t);if(i(r)=e.length?a(t,!0):(e=p(e,n),r.index+=e.length,a({codePoint:s(e,0),position:n},!1))}));o({target:"String",proto:!0,forced:!0},{codePoints:function(){return new y(c(u(this)))}})},function(r,e,n){var o=n(201),i=n(2),a=n(34),u=n(23),c=n(48),f=n(13),s=n(190),p=n(46),l=n(39),h=n(20),v=n(63),y=n(44).f,d=n(197),g=n(367),b=n(370),m=(n=n(297),a("GlobalDedentRegistry",new(u("WeakMap"))));function x(t){return c((function(r){var e=d(arguments);return e[0]=function(t){var r=t.raw;if(o&&!E(r))throw S("Raw template should be frozen");if(m.has(r))return m.get(r);var e=C(r);t=N(e);return y(t,"raw",{value:A(e)}),A(t),m.set(r,t),t}(p(r)),s(t,this,e)}),"")}m.has=m.has,m.get=m.get,m.set=m.set;var w=Array,S=TypeError,A=Object.freeze||Object,E=Object.isFrozen,O=Math.min,R=f("".charAt),I=f("".slice),k=f("".split),T=f(/./.exec),M=/([\n\u2028\u2029]|\r\n?)/g,j=RegExp("^["+n+"]*"),P=RegExp("[^"+n+"]"),D="Invalid tag",C=function(t){var r,e=l(t),n=v(e),o=w(n),i=w(n),a=0;if(!n)throw S(D);for(;a=t.length)return-1;for(var n=0;r0&&!(s>=n[t-1].priority);t--);t===n.length?n[t]=l:n.splice(t,0,l),u.__current.forEach((n=>{n.name===o&&n.currentIndex>=t&&n.currentIndex++}))}else u[o]={handlers:[l],runs:0};"hookAdded"!==o&&n.doAction("hookAdded",o,i,c,s)}};var i=function(n,t,o=!1){return function(i,c){const s=n[t];if(!e(i))return;if(!o&&!r(c))return;if(!s[i])return 0;let u=0;if(o)u=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else{const n=s[i].handlers;for(let t=n.length-1;t>=0;t--)n[t].namespace===c&&(n.splice(t,1),u++,s.__current.forEach((n=>{n.name===i&&n.currentIndex>=t&&n.currentIndex--})))}return"hookRemoved"!==i&&n.doAction("hookRemoved",i,c),u}};var c=function(n,t){return function(r,e){const o=n[t];return void 0!==e?r in o&&o[r].handlers.some((n=>n.namespace===e)):r in o}};var s=function(n,t,r=!1){return function(e,...o){const i=n[t];i[e]||(i[e]={handlers:[],runs:0}),i[e].runs++;const c=i[e].handlers;if(!c||!c.length)return r?o[0]:void 0;const s={name:e,currentIndex:0};for(i.__current.push(s);s.currentIndex