From b68f8146fcce7e3c13ec74d142e1b1635463762e Mon Sep 17 00:00:00 2001 From: Jagadeesh Branch <102190347+JagadeeshKaricherla-branch@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:00:54 -0800 Subject: [PATCH] Release 2.82.0 (#996) release(2.82.0) : Release 2.82.0 --- CHANGELOG.md | 5 + dist/build.js | 94 +++++++++++++-- dist/build.min.js | 279 +++++++++++++++++++++++---------------------- package-lock.json | 4 +- package.json | 2 +- src/0_config.js | 2 +- test/web-config.js | 2 +- 7 files changed, 239 insertions(+), 149 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24e0df1e..1a81b615 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All notable changes to the Branch Web SDK will be documented here. The Branch Web SDK adheres to [Semantic Versioning](http://semver.org/). ## [VERSION] - unreleased +## [2.82.0] - 2024-02-15 +- feat(EMT-111): add setDMAParamsForEEA method +- feat(SDK-2237): add setAPIUrl getAPIUrl methods +- fix(MLP-13): prevent main inside body from taking total height of the overlay journeys + ## [2.81.0] - 2024-01-18 - feat(SDK-2101): add setRequestMetadata method - fix(BUX-2863): fix focus getting trapped on banner diff --git a/dist/build.js b/dist/build.js index 8fd67422..0fc3e197 100644 --- a/dist/build.js +++ b/dist/build.js @@ -96,6 +96,18 @@ $jscomp.polyfill("Array.prototype.includes", function(a) { return !1; }; }, "es7", "es3"); +$jscomp.owns = function(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); +}; +$jscomp.polyfill("Object.entries", function(a) { + return a ? a : function(b) { + var c = [], d; + for (d in b) { + $jscomp.owns(b, d) && c.push([d, b[d]]); + } + return c; + }; +}, "es8", "es3"); var COMPILED = !0, goog = goog || {}; goog.global = this || self; goog.exportPath_ = function(a, b, c, d) { @@ -1071,7 +1083,7 @@ goog.json.Serializer.prototype.serializeObject_ = function(a, b) { b.push("}"); }; // Input 2 -var config = {app_service_endpoint:"https://app.link", link_service_endpoint:"https://bnc.lt", api_endpoint:"https://api2.branch.io", version:"2.81.0"}; +var config = {app_service_endpoint:"https://app.link", link_service_endpoint:"https://bnc.lt", api_endpoint:"https://api2.branch.io", version:"2.82.0"}; // Input 3 var safejson = {parse:function(a) { a = String(a); @@ -1102,6 +1114,7 @@ utils.timeSinceNavigationStart = function() { return (Date.now() - window.performance.timing.navigationStart).toString(); }; utils.currentRequestBrttTag = ""; +utils.allowDMAParamURLMap = {"/v1/open":"", "/v1/pageview":"", "/v2/event/standard":"user_data", "/v2/event/custom":"user_data"}; utils.calculateBrtt = function(a) { return a && "number" === typeof a ? (Date.now() - a).toString() : null; }; @@ -1648,6 +1661,37 @@ utils.removeTrailingDotZeros = function(a) { } return a; }; +utils.shouldAddDMAParams = function(a) { + return utils.allowDMAParamURLMap.hasOwnProperty(a); +}; +utils.setDMAParams = function(a, b = {}, c) { + b = {dma_eea:b.eeaRegion || !1, dma_ad_personalization:b.adPersonalizationConsent || !1, dma_ad_user_data:b.adUserDataUsageConsent || !1}; + const d = utils.allowDMAParamURLMap; + for (const [e, f] of Object.entries(d)) { + if (c.includes(e)) { + if ("" === f) { + Object.assign(a, b); + } else { + let g; + if (f in a && "" !== a[f]) { + try { + const h = JSON.parse(a[f]), k = Object.assign({}, h, b); + g = JSON.stringify(k); + } catch (h) { + console.error(`setDMAParams:: ${f} is not a valid JSON string`); + } + } else { + g = JSON.stringify(b); + } + g && (a[f] = g); + } + break; + } + } +}; +utils.isValidURL = function(a) { + return a && "" !== a.trim() ? RegExp("^(https?)://((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$", "i").test(a) : !1; +}; // Input 5 var resources = {}, validationTypes = {OBJECT:0, STRING:1, NUMBER:2, ARRAY:3, BOOLEAN:4}, _validator; function validator(a, b) { @@ -1875,6 +1919,7 @@ Server.prototype.getUrl = function(a, b) { utils.merge(g, b), g.branch_requestMetadata && delete g.branch_requestMetadata; } b.hasOwnProperty("branch_requestMetadata") && b.branch_requestMetadata && "/v1/pageview" !== a.endpoint && "/v1/dismiss" !== a.endpoint && (g.metadata = safejson.stringify(b.branch_requestMetadata)); + b.branch_dma_data && (utils.setDMAParams(g, b.branch_dma_data, a.endpoint), g.branch_dma_data && delete g.branch_dma_data); if ("POST" === a.method) { try { var h = g; @@ -2405,12 +2450,21 @@ journeys_utils.addIframeOuterCSS = function(a, b) { document.head.appendChild(c); }; function generateIframeOuterCSS(a) { - var b = a = ""; + var b = ""; + a = ""; document.body.style.transition = ""; document.getElementById("branch-banner-iframe") && (document.getElementById("branch-banner-iframe").style.transition = ""); - journeys_utils.entryAnimationDisabled || (a = "body { -webkit-transition: all " + 1.5 * journeys_utils.animationSpeed / 1000 + "s ease; }\n", document.body.style.transition = "all 0" + 1.5 * journeys_utils.animationSpeed / 1000 + "s ease", b = "-webkit-transition: all " + journeys_utils.animationSpeed / 1000 + "s ease; transition: all 0" + journeys_utils.animationSpeed / 1000 + "s ease;"); - return (a ? a : "") + ("#branch-banner-iframe { box-shadow: 0 0 5px rgba(0, 0, 0, .35); width: 1px; min-width:100%; left: 0; right: 0; border: 0; height: " + journeys_utils.bannerHeight + "; z-index: 99999; " + b + " }\n#branch-banner-iframe { position: " + journeys_utils.sticky + "; }\n@media only screen and (orientation: landscape) { body { " + ("top" === journeys_utils.position ? "margin-top: " : "margin-bottom: ") + (journeys_utils.isFullPage ? journeys_utils.windowWidth + "px" : journeys_utils.bannerHeight) + - "; }\n#branch-banner-iframe { height: " + (journeys_utils.isFullPage ? journeys_utils.windowWidth + "px" : journeys_utils.bannerHeight) + "; }"); + journeys_utils.entryAnimationDisabled || (b = "body { -webkit-transition: all " + 1.5 * journeys_utils.animationSpeed / 1000 + "s ease; }\n", document.body.style.transition = "all 0" + 1.5 * journeys_utils.animationSpeed / 1000 + "s ease", a = "-webkit-transition: all " + journeys_utils.animationSpeed / 1000 + "s ease; transition: all 0" + journeys_utils.animationSpeed / 1000 + "s ease;"); + b = "" + (b || ""); + if (journeys_utils.isDesktopJourney) { + var c = journeys_utils.bannerHeight, d = journeys_utils.bannerWidth, e = journeys_utils.sticky; + "overlay" === journeys_utils.journeyVariant && (d = c = "100%!important", e = "fixed"); + b = b + ("#branch-banner-iframe-embed { z-index: 99999!important; height: " + c + "; width: " + d + "; padding: 0px!important; margin: 0px!important; ; position: " + e + "; }\n#branch-banner-iframe { box-shadow: 0 0 5px rgba(0, 0, 0, .35); width: 1px; min-width: 100%; left: 0; right: 0; border: 0; height: 100%!important; width: 100%!important; ") + (a + "; position: " + e + "; }\n"); + } else { + b += "#branch-banner-iframe { box-shadow: 0 0 5px rgba(0, 0, 0, .35); width: 1px; min-width:100%; left: 0; right: 0; border: 0; height: " + journeys_utils.bannerHeight + "; z-index: 99999; " + a + " }\n#branch-banner-iframe { position: " + journeys_utils.sticky + "; }\n@media only screen and (orientation: landscape) { body { " + ("top" === journeys_utils.position ? "margin-top: " : "margin-bottom: ") + (journeys_utils.isFullPage ? journeys_utils.windowWidth + "px" : journeys_utils.bannerHeight) + + "; }\n#branch-banner-iframe { height: " + (journeys_utils.isFullPage ? journeys_utils.windowWidth + "px" : journeys_utils.bannerHeight) + "; }"; + } + return b; } journeys_utils.addIframeInnerCSS = function(a, b) { var c = document.createElement("style"); @@ -2420,7 +2474,8 @@ journeys_utils.addIframeInnerCSS = function(a, b) { utils.addNonceAttribute(c); b = a.contentWindow.document; b.head.appendChild(c); - if (journeys_utils.isHalfPage || journeys_utils.isFullPage) { + c = journeys_utils.isDesktopJourney && "overlay" === journeys_utils.journeyVariant; + if ((journeys_utils.isHalfPage || journeys_utils.isFullPage) && !c) { c = b.getElementsByClassName("branch-banner-dismiss-background")[0]; var d = b.getElementsByClassName("branch-banner-content")[0]; !c && d && (d.style.height = journeys_utils.bannerHeight); @@ -2603,6 +2658,9 @@ journeys_utils.setJourneyLinkData = function(a) { var b = {banner_id:journeys_utils.branchViewId}; a && "object" === typeof a && 0 < Object.keys(a || {}).length && (utils.removePropertiesFromObject(a, ["browser_fingerprint_id", "app_id", "source", "open_app", "link_click_id"]), b.journey_link_data = {}, utils.merge(b.journey_link_data, a)); journeys_utils.journeyLinkData = b; + journeys_utils.journeyType = b.journey_link_data.type || null; + journeys_utils.isDesktopJourney = "desktop" === b.journey_link_data.type; + journeys_utils.journeyVariant = b.journey_link_data.variant || null; }; journeys_utils.getValueForKeyInBranchViewData = function(a) { return journeys_utils && journeys_utils.branch && journeys_utils.branch._branchViewData && journeys_utils.branch._branchViewData.data ? journeys_utils.branch._branchViewData.data[a] : !1; @@ -2664,6 +2722,8 @@ function renderHtmlBlob(a, b, c, d) { journeys_utils.getJsAndAddToParent(b); var h = journeys_utils.getIframeCss(b); b = journeys_utils.removeScriptAndCss(b); + a = document.createElement("div"); + a.id = "branch-banner-iframe-embed"; var k = journeys_utils.createIframe(); k.onload = function() { journeys_utils.addHtmlToIframe(k, b, utils.getPlatformByUserAgent()); @@ -2674,7 +2734,7 @@ function renderHtmlBlob(a, b, c, d) { journeys_utils.animateBannerEntrance(k, h); d(k); }; - document.body.appendChild(k); + journeys_utils.isDesktopJourney ? (a.appendChild(k), document.body.appendChild(a)) : document.body.appendChild(k); return k; } function _areJourneysDismissedGlobally(a) { @@ -2824,6 +2884,8 @@ Branch.prototype._api = function(a, b, c) { this.requestMetadata.hasOwnProperty(d) && (b.branch_requestMetadata || (b.branch_requestMetadata = {}), b.branch_requestMetadata[d] = this.requestMetadata[d]); } } + utils.shouldAddDMAParams(a.endpoint) && (d = this._storage.get("branch_dma_data", !0), b.branch_dma_data = d ? safejson.parse(d) : {}); + "/_r" !== a.endpoint && (a.destination = config.api_endpoint); return this._server.request(a, b, this._storage, function(e, f) { c(e, f); }); @@ -3194,6 +3256,18 @@ Branch.prototype.setAPIResponseCallback = wrap(callback_params.NO_CALLBACK, func Branch.prototype.referringLink = function(a) { return this._referringLink(a); }; +Branch.prototype.setDMAParamsForEEA = wrap(callback_params.CALLBACK_ERR, function(a, b, c, d) { + try { + var e = {}; + e.eeaRegion = b || !1; + e.adPersonalizationConsent = c || !1; + e.adUserDataUsageConsent = d || !1; + this._storage.set("branch_dma_data", safejson.stringify(e), !0); + } catch (f) { + console.error("setDMAParamsForEEA::An error occured while setting DMA parameters for EEA", f); + } + a(); +}, !0); Branch.prototype.setRequestMetaData = function(a, b) { try { "undefined" !== typeof a && null !== a && 0 !== a.length && "undefined" !== typeof b && (this.requestMetadata.hasOwnProperty(a) && null === b && delete this.requestMetadata[a], this.requestMetadata = utils.addPropertyIfNotNull(this.requestMetadata, a, b)); @@ -3201,6 +3275,12 @@ Branch.prototype.setRequestMetaData = function(a, b) { console.error("An error occured while setting request metadata", c); } }; +Branch.prototype.setAPIUrl = function(a) { + utils.isValidURL(a) ? config.api_endpoint = a : console.error("setAPIUrl: Invalid URL format. Default URL will be set."); +}; +Branch.prototype.getAPIUrl = function() { + return config.api_endpoint; +}; // Input 17 var branch_instance = new Branch(); if (window.branch && window.branch._q) { diff --git a/dist/build.min.js b/dist/build.min.js index 968f8d47..abf70451 100644 --- a/dist/build.min.js +++ b/dist/build.min.js @@ -4,158 +4,163 @@ SPDX-License-Identifier: Apache-2.0 */ var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;bc&&(c=Math.max(c+e,0));cc&&(c=Math.max(c+e,0));c=(b||11))return!0}catch(c){}return!1} -function E(){var a=navigator.userAgent;return a.match(/android/i)?"android":a.match(/ipad/i)||a&&Ma(a)&&a&&-1screen.width?"ipad":a.match(/i(os|p(hone|od))/i)?"ios":a.match(/\(BB[1-9][0-9]*;/i)?"blackberry":a.match(/Windows Phone/i)?"windows_phone":a.match(/Kindle/i)||a.match(/Silk/i)||a.match(/KFTT/i)||a.match(/KFOT/i)||a.match(/KFJWA/i)||a.match(/KFJWI/i)||a.match(/KFSOWI/i)||a.match(/KFTHWA/i)||a.match(/KFTHWI/i)||a.match(/KFAPWA/i)||a.match(/KFAPWI/i)? -"kindle":a.match(/(Windows|Macintosh|Linux)/i)?"desktop":"other"}function Oa(){var a=navigator.userAgent;return Ma(a)?Na(a,11):!1}function Pa(){var a=navigator.userAgent;return!!window.webkitURL&&a&&a&&/(iPad|iPod|iPhone)/.test(a)&&!/(chrome|crios)/i.test(a)&&!/(fxios|firefox)/i.test(a)&&!/edg/i.test(a)&&!/(opt|opr)/i.test(a)&&!/yabrowser/i.test(a)} -function Qa(a){try{var b=(A()&&La()?window.top.location.search:window.location.search).substring(1).match(new RegExp(a+"=([^&]*)"));if(b&&1<=b.length)return b[1]}catch(c){}}function Ra(a){return a.replace(/(\-\w)/g,function(b){return b[1].toUpperCase()})} -function Ca(a){var b="",c,d=0;a=a.replace(/\r\n/g,"\n");var e="";for(c=0;cf?e+=String.fromCharCode(f):(127f?e+=String.fromCharCode(f>>6|192):(e+=String.fromCharCode(f>>12|224),e+=String.fromCharCode(f>>6&63|128)),e+=String.fromCharCode(f&63|128))}for(a=e;d>2;m=(m&3)<<4|e>>4;var k=(e&15)<<2|c>>6;var g=c&63;isNaN(e)?g=k=64:isNaN(c)&&(g=64);b=b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+ -"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(m)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)}return b}function Sa(a){return Ta(a)?atob(a):a}function Ta(a){if("string"!==typeof a||""===a||""===a.trim())return!1;try{return btoa(atob(a))===a}catch(b){return!1}} -function Ua(a){a&&a.browser_fingerprint_id&&!Ta(a.browser_fingerprint_id)&&(a.browser_fingerprint_id=btoa(a.browser_fingerprint_id));a&&a.alternative_browser_fingerprint_id&&!Ta(a.alternative_browser_fingerprint_id)&&(a.alternative_browser_fingerprint_id=btoa(a.alternative_browser_fingerprint_id));return a} -function Va(a){a&&Ta(a.browser_fingerprint_id)&&(a.browser_fingerprint_id=atob(a.browser_fingerprint_id));a&&Ta(a.alternative_browser_fingerprint_id)&&(a.alternative_browser_fingerprint_id=atob(a.alternative_browser_fingerprint_id));return a}function Wa(a,b,c){"function"===typeof a.addEventListener?a.addEventListener(b,c,void 0):"function"===typeof a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c} -function Xa(a){if(!a)return null;-1=(b||11))return!0}catch(c){}return!1} +function F(){var a=navigator.userAgent;return a.match(/android/i)?"android":a.match(/ipad/i)||a&&Na(a)&&a&&-1screen.width?"ipad":a.match(/i(os|p(hone|od))/i)?"ios":a.match(/\(BB[1-9][0-9]*;/i)?"blackberry":a.match(/Windows Phone/i)?"windows_phone":a.match(/Kindle/i)||a.match(/Silk/i)||a.match(/KFTT/i)||a.match(/KFOT/i)||a.match(/KFJWA/i)||a.match(/KFJWI/i)||a.match(/KFSOWI/i)||a.match(/KFTHWA/i)||a.match(/KFTHWI/i)||a.match(/KFAPWA/i)||a.match(/KFAPWI/i)? +"kindle":a.match(/(Windows|Macintosh|Linux)/i)?"desktop":"other"}function Pa(){var a=navigator.userAgent;return Na(a)?Oa(a,11):!1}function Qa(){var a=navigator.userAgent;return!!window.webkitURL&&a&&a&&/(iPad|iPod|iPhone)/.test(a)&&!/(chrome|crios)/i.test(a)&&!/(fxios|firefox)/i.test(a)&&!/edg/i.test(a)&&!/(opt|opr)/i.test(a)&&!/yabrowser/i.test(a)} +function Ra(a){try{var b=(B()&&Ma()?window.top.location.search:window.location.search).substring(1).match(new RegExp(a+"=([^&]*)"));if(b&&1<=b.length)return b[1]}catch(c){}}function Sa(a){return a.replace(/(\-\w)/g,function(b){return b[1].toUpperCase()})} +function Da(a){var b="",c,d=0;a=a.replace(/\r\n/g,"\n");var e="";for(c=0;cf?e+=String.fromCharCode(f):(127f?e+=String.fromCharCode(f>>6|192):(e+=String.fromCharCode(f>>12|224),e+=String.fromCharCode(f>>6&63|128)),e+=String.fromCharCode(f&63|128))}for(a=e;d>2;m=(m&3)<<4|e>>4;var k=(e&15)<<2|c>>6;var g=c&63;isNaN(e)?g=k=64:isNaN(c)&&(g=64);b=b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+ +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(m)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)}return b}function Ta(a){return Ua(a)?atob(a):a}function Ua(a){if("string"!==typeof a||""===a||""===a.trim())return!1;try{return btoa(atob(a))===a}catch(b){return!1}} +function Va(a){a&&a.browser_fingerprint_id&&!Ua(a.browser_fingerprint_id)&&(a.browser_fingerprint_id=btoa(a.browser_fingerprint_id));a&&a.alternative_browser_fingerprint_id&&!Ua(a.alternative_browser_fingerprint_id)&&(a.alternative_browser_fingerprint_id=btoa(a.alternative_browser_fingerprint_id));return a} +function Wa(a){a&&Ua(a.browser_fingerprint_id)&&(a.browser_fingerprint_id=atob(a.browser_fingerprint_id));a&&Ua(a.alternative_browser_fingerprint_id)&&(a.alternative_browser_fingerprint_id=atob(a.alternative_browser_fingerprint_id));return a}function Xa(a,b,c){"function"===typeof a.addEventListener?a.addEventListener(b,c,void 0):"function"===typeof a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c} +function Ya(a){if(!a)return null;-1/g,">")}function F(a,b,c){if(null!==c&&void 0!==c){if("object"===typeof c&&0===Object.keys(c||{}).length)return a;a[b]=c}return a} -function fb(){var a={};var b={};b=F(b,"$og_title",B("title"));b=F(b,"$og_description",B("description"));b=F(b,"$og_image_url",B("image"));b=F(b,"$og_video",B("video"));b=(b=F(b,"$og_type",B("type")))&&0=b?a():setTimeout(a,b)} -function pb(){navigator.userAgentData?navigator.userAgentData.getHighEntropyValues(["model","platformVersion"]).then(function(a){var b=a.model;if(a=a.platformVersion){var c=/^([1-9]\d*)\.(0\d*)(\.[0]\d*){1,}$/;-1!==a.indexOf(".")&&(a=a.replace(c,a.substring(0,a.indexOf("."))))}x={model:b,platformVersion:a}}):x=null}function lb(a,b,c){"string"===typeof c&&c&&(a[b]=c);return a};var qb={}; -function J(a,b){return function(c,d,e){if(y)return!1;if("number"===typeof e||e)if(0===b){if("object"!==typeof e)return z("API request $1, parameter $2 is not $3",[c,d,"an object"])}else if(3===b){if(!(e instanceof Array))return z("API request $1, parameter $2 is not $3",[c,d,"an array"])}else if(2===b){if("number"!==typeof e)return z("API request $1, parameter $2 is not $3",[c,d,"a number"])}else if(4===b){if("boolean"!==typeof e)return z("API request $1, parameter $2 is not $3",[c,d,"a boolean"])}else{if("string"!==typeof e)return z("API request $1, parameter $2 is not $3", -[c,d,"a string"]);if(1!==b&&!b.test(e))return z("API request $1, parameter $2 is not $3",[c,d,"in the proper format"])}else if(a)return z("API request $1 missing parameter $2",[c,d]);return!1}}function rb(a){return C(a,{browser_fingerprint_id:J(!0,1),identity_id:J(!0,1),sdk:J(!0,1),session_id:J(!0,1)})} -var sb={destination:"https://api2.branch.io",endpoint:"/v1/open",method:"POST",h:{browser_fingerprint_id:J(!1,1),alternative_browser_fingerprint_id:J(!1,1),identity_id:J(!1,1),identity:J(!1,1),link_identifier:J(!1,1),sdk:J(!1,1),options:J(!1,0),initial_referrer:J(!1,1),tracking_disabled:J(!1,4),current_url:J(!1,1),screen_height:J(!1,2),screen_width:J(!1,2),model:J(!1,1),os_version:J(!1,1)}},tb={destination:"https://app.link",endpoint:"/_r",method:"GET",S:!0,h:{sdk:J(!0,1),_t:J(!1,1),branch_key:J(!0, -1)}},ub={destination:"https://api2.branch.io",endpoint:"/v1/url",method:"POST",ta:"obj",h:rb({alias:J(!1,1),campaign:J(!1,1),channel:J(!1,1),data:J(!1,1),feature:J(!1,1),identity_id:J(!0,1),stage:J(!1,1),tags:J(!1,3),type:J(!1,2),source:J(!1,1),instrumentation:J(!1,1)})},vb={destination:"https://api2.branch.io",endpoint:"/v1/qr-code",method:"POST",ta:"obj",h:rb({alias:J(!1,1),campaign:J(!1,1),channel:J(!1,1),data:J(!1,1),qr_code_settings:J(!1,1),feature:J(!1,1),identity_id:J(!0,1),stage:J(!1,1),tags:J(!1, -3),type:J(!1,2),source:J(!1,1)})},wb={destination:"https://api2.branch.io",endpoint:"/v1/deepview",S:!0,method:"POST",h:rb({campaign:J(!1,1),_t:J(!1,1),channel:J(!1,1),data:J(!0,1),feature:J(!1,1),link_click_id:J(!1,1),open_app:J(!1,4),append_deeplink_path:J(!1,4),stage:J(!1,1),tags:J(!1,3),deepview_type:J(!0,1),source:J(!0,1)})},xb={destination:"https://api2.branch.io",endpoint:"/v2/event/standard",method:"POST",h:{name:J(!0,1),user_data:J(!0,1),custom_data:J(!1,1),event_data:J(!1,1),content_items:J(!1, -1),customer_event_alias:J(!1,1)}},yb={destination:"https://api2.branch.io",endpoint:"/v2/event/custom",method:"POST",h:{name:J(!0,1),user_data:J(!0,1),custom_data:J(!1,1),event_data:J(!1,1),content_items:J(!1,1),customer_event_alias:J(!1,1)}},zb={destination:"https://api2.branch.io",endpoint:"/v1/pageview",method:"POST",h:rb({event:J(!0,1),metadata:J(!1,0),initial_referrer:J(!1,1),tracking_disabled:J(!1,4),branch_view_id:J(!1,1),no_journeys:J(!1,4),user_language:J(!1,1),open_app:J(!1,4),has_app_websdk:J(!1, -4),source:J(!1,1),feature:J(!1,1),is_iframe:J(!1,4),data:J(!1,0),callback_string:J(!1,1),journey_displayed:J(!1,4),audience_rule_id:J(!1,1),journey_dismissals:J(!1,0),identity_id:J(!1,1),identity:J(!0,1),session_referring_link_data:J(!1,1),session_link_click_id:J(!1,1)})},Ab={destination:"https://api2.branch.io",endpoint:"/v1/dismiss",method:"POST",h:rb({event:J(!0,1),metadata:J(!1,0),initial_referrer:J(!1,1),tracking_disabled:J(!1,4),branch_view_id:J(!1,1),no_journeys:J(!1,4),user_language:J(!1, -1),open_app:J(!1,4),has_app_websdk:J(!1,4),source:J(!1,1),feature:J(!1,1),is_iframe:J(!1,4),data:J(!1,0),callback_string:J(!1,1),journey_displayed:J(!1,4),audience_rule_id:J(!1,1),journey_dismissals:J(!1,0),dismissal_source:J(!1,1)})},Bb={destination:"https://api2.branch.io",endpoint:"/v1/cpid",method:"POST",h:{user_data:J(!0,1)}},Cb={destination:"https://api2.branch.io",endpoint:"/v1/cpid/latd",method:"POST",h:{user_data:J(!0,1)}};function Db(){for(var a=["session","cookie","pojo"],b=0;ba.length?"function"===typeof b&&b():(a[0].appendChild(d),"function"===typeof b&&Wa(d,"error",b),"function"===typeof c&&Wa(d,"load",c))}; -function Mb(a,b,c,d,e){var f=Date.now(),m=ua;0===a.l&&Oa()&&a.l++;var k="branch_callback__"+a.l++,g=0<=b.indexOf("branch.io")?"&data=":"&post_data=";c="POST"===d?encodeURIComponent(Ca(h(c))):"";var u=window.setTimeout(function(){window[k]=function(){};F(w,m,va(f));e(Error("Request timed out"),null,504)},qa);window[k]=function(l){window.clearTimeout(u);e(null,l)};a.createScript(b+(0>b.indexOf("?")?"?":"")+(c?g+c:"")+(0<=b.indexOf("/c/")?"&click=1":"")+"&callback="+k,function(){e(Error("Request blocked by client, probably adblock"), -null)},function(){F(w,m,va(f));try{"function"===typeof this.remove?this.remove():this.parentNode.removeChild(this)}catch(l){}delete window[k]})} -function Nb(a,b,c,d,e,f,m,k){var g=Date.now(),u=ua,l=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");k&&(l.responseType=k);l.ontimeout=function(){F(w,u,va(g));f(Error("Request timed out"),null,504)};l.onerror=function(t){f(Error(t.error||"Error in API: "+l.status),null,l.status)};l.onreadystatechange=function(){if(4===l.readyState)if(F(w,u,va(g)),200===l.status){if("arraybuffer"===l.responseType)var t=l.response;else if(m)t=l.responseText;else try{t=q(l.responseText)}catch(r){t= -{}}f(null,t,l.status)}else if("4"===l.status.toString().substring(0,1)||"5"===l.status.toString().substring(0,1))l.responseURL&&l.responseURL.includes("v2/event")?f(l.responseText,null,l.status):f(Error("Error in API: "+l.status),null,l.status)};try{l.open(d,b,!0),l.timeout=qa,l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l.send(c)}catch(t){e.set("use_jsonp",!0),Mb(a,b,c,d,f)}} -function Ob(a,b,c,d,e){function f(){d.get("use_jsonp")||b.S?Mb(a,l,c,b.method,m):Nb(a,l,u,b.method,d,m,W,n)}function m(p,G,D){"function"===typeof a.ga&&a.ga(l,b.method,t,p,D,G);p&&0/g,">")}function G(a,b,c){if(null!==c&&void 0!==c){if("object"===typeof c&&0===Object.keys(c||{}).length)return a;a[b]=c}return a} +function gb(){var a={};var b={};b=G(b,"$og_title",C("title"));b=G(b,"$og_description",C("description"));b=G(b,"$og_image_url",C("image"));b=G(b,"$og_video",C("video"));b=(b=G(b,"$og_type",C("type")))&&0=b?a():setTimeout(a,b)} +function qb(){navigator.userAgentData?navigator.userAgentData.getHighEntropyValues(["model","platformVersion"]).then(function(a){var b=a.model;if(a=a.platformVersion){var c=/^([1-9]\d*)\.(0\d*)(\.[0]\d*){1,}$/;-1!==a.indexOf(".")&&(a=a.replace(c,a.substring(0,a.indexOf("."))))}y={model:b,platformVersion:a}}):y=null}function mb(a,b,c){"string"===typeof c&&c&&(a[b]=c);return a} +function rb(a,b={},c){b={dma_eea:b.ra||!1,dma_ad_personalization:b.ka||!1,dma_ad_user_data:b.la||!1};for(const [d,e]of Object.entries(va))if(c.includes(d)){if(""===e)Object.assign(a,b);else{let f;if(e in a&&""!==a[e])try{const m=JSON.parse(a[e]),k=Object.assign({},m,b);f=JSON.stringify(k)}catch(m){console.error(`setDMAParams:: ${e} is not a valid JSON string`)}else f=JSON.stringify(b);f&&(a[e]=f)}break}};var sb={}; +function K(a,b){return function(c,d,e){if(z)return!1;if("number"===typeof e||e)if(0===b){if("object"!==typeof e)return A("API request $1, parameter $2 is not $3",[c,d,"an object"])}else if(3===b){if(!(e instanceof Array))return A("API request $1, parameter $2 is not $3",[c,d,"an array"])}else if(2===b){if("number"!==typeof e)return A("API request $1, parameter $2 is not $3",[c,d,"a number"])}else if(4===b){if("boolean"!==typeof e)return A("API request $1, parameter $2 is not $3",[c,d,"a boolean"])}else{if("string"!==typeof e)return A("API request $1, parameter $2 is not $3", +[c,d,"a string"]);if(1!==b&&!b.test(e))return A("API request $1, parameter $2 is not $3",[c,d,"in the proper format"])}else if(a)return A("API request $1 missing parameter $2",[c,d]);return!1}}function tb(a){return E(a,{browser_fingerprint_id:K(!0,1),identity_id:K(!0,1),sdk:K(!0,1),session_id:K(!0,1)})} +var ub={destination:q,endpoint:"/v1/open",method:"POST",h:{browser_fingerprint_id:K(!1,1),alternative_browser_fingerprint_id:K(!1,1),identity_id:K(!1,1),identity:K(!1,1),link_identifier:K(!1,1),sdk:K(!1,1),options:K(!1,0),initial_referrer:K(!1,1),tracking_disabled:K(!1,4),current_url:K(!1,1),screen_height:K(!1,2),screen_width:K(!1,2),model:K(!1,1),os_version:K(!1,1)}},vb={destination:"https://app.link",endpoint:"/_r",method:"GET",S:!0,h:{sdk:K(!0,1),_t:K(!1,1),branch_key:K(!0,1)}},wb={destination:q, +endpoint:"/v1/url",method:"POST",wa:"obj",h:tb({alias:K(!1,1),campaign:K(!1,1),channel:K(!1,1),data:K(!1,1),feature:K(!1,1),identity_id:K(!0,1),stage:K(!1,1),tags:K(!1,3),type:K(!1,2),source:K(!1,1),instrumentation:K(!1,1)})},xb={destination:q,endpoint:"/v1/qr-code",method:"POST",wa:"obj",h:tb({alias:K(!1,1),campaign:K(!1,1),channel:K(!1,1),data:K(!1,1),qr_code_settings:K(!1,1),feature:K(!1,1),identity_id:K(!0,1),stage:K(!1,1),tags:K(!1,3),type:K(!1,2),source:K(!1,1)})},yb={destination:q,endpoint:"/v1/deepview", +S:!0,method:"POST",h:tb({campaign:K(!1,1),_t:K(!1,1),channel:K(!1,1),data:K(!0,1),feature:K(!1,1),link_click_id:K(!1,1),open_app:K(!1,4),append_deeplink_path:K(!1,4),stage:K(!1,1),tags:K(!1,3),deepview_type:K(!0,1),source:K(!0,1)})},zb={destination:q,endpoint:"/v2/event/standard",method:"POST",h:{name:K(!0,1),user_data:K(!0,1),custom_data:K(!1,1),event_data:K(!1,1),content_items:K(!1,1),customer_event_alias:K(!1,1)}},Ab={destination:q,endpoint:"/v2/event/custom",method:"POST",h:{name:K(!0,1),user_data:K(!0, +1),custom_data:K(!1,1),event_data:K(!1,1),content_items:K(!1,1),customer_event_alias:K(!1,1)}},Bb={destination:q,endpoint:"/v1/pageview",method:"POST",h:tb({event:K(!0,1),metadata:K(!1,0),initial_referrer:K(!1,1),tracking_disabled:K(!1,4),branch_view_id:K(!1,1),no_journeys:K(!1,4),user_language:K(!1,1),open_app:K(!1,4),has_app_websdk:K(!1,4),source:K(!1,1),feature:K(!1,1),is_iframe:K(!1,4),data:K(!1,0),callback_string:K(!1,1),journey_displayed:K(!1,4),audience_rule_id:K(!1,1),journey_dismissals:K(!1, +0),identity_id:K(!1,1),identity:K(!0,1),session_referring_link_data:K(!1,1),session_link_click_id:K(!1,1)})},Cb={destination:q,endpoint:"/v1/dismiss",method:"POST",h:tb({event:K(!0,1),metadata:K(!1,0),initial_referrer:K(!1,1),tracking_disabled:K(!1,4),branch_view_id:K(!1,1),no_journeys:K(!1,4),user_language:K(!1,1),open_app:K(!1,4),has_app_websdk:K(!1,4),source:K(!1,1),feature:K(!1,1),is_iframe:K(!1,4),data:K(!1,0),callback_string:K(!1,1),journey_displayed:K(!1,4),audience_rule_id:K(!1,1),journey_dismissals:K(!1, +0),dismissal_source:K(!1,1)})},Db={destination:q,endpoint:"/v1/cpid",method:"POST",h:{user_data:K(!0,1)}},Eb={destination:q,endpoint:"/v1/cpid/latd",method:"POST",h:{user_data:K(!0,1)}};function Fb(){for(var a=["session","cookie","pojo"],b=0;ba.length?"function"===typeof b&&b():(a[0].appendChild(d),"function"===typeof b&&Xa(d,"error",b),"function"===typeof c&&Xa(d,"load",c))}; +function Ob(a,b,c,d,e){var f=Date.now(),m=ua;0===a.l&&Pa()&&a.l++;var k="branch_callback__"+a.l++,g=0<=b.indexOf("branch.io")?"&data=":"&post_data=";c="POST"===d?encodeURIComponent(Da(h(c))):"";var u=window.setTimeout(function(){window[k]=function(){};G(x,m,wa(f));e(Error("Request timed out"),null,504)},qa);window[k]=function(l){window.clearTimeout(u);e(null,l)};a.createScript(b+(0>b.indexOf("?")?"?":"")+(c?g+c:"")+(0<=b.indexOf("/c/")?"&click=1":"")+"&callback="+k,function(){e(Error("Request blocked by client, probably adblock"), +null)},function(){G(x,m,wa(f));try{"function"===typeof this.remove?this.remove():this.parentNode.removeChild(this)}catch(l){}delete window[k]})} +function Pb(a,b,c,d,e,f,m,k){var g=Date.now(),u=ua,l=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");k&&(l.responseType=k);l.ontimeout=function(){G(x,u,wa(g));f(Error("Request timed out"),null,504)};l.onerror=function(t){f(Error(t.error||"Error in API: "+l.status),null,l.status)};l.onreadystatechange=function(){if(4===l.readyState)if(G(x,u,wa(g)),200===l.status){if("arraybuffer"===l.responseType)var t=l.response;else if(m)t=l.responseText;else try{t=v(l.responseText)}catch(r){t= +{}}f(null,t,l.status)}else if("4"===l.status.toString().substring(0,1)||"5"===l.status.toString().substring(0,1))l.responseURL&&l.responseURL.includes("v2/event")?f(l.responseText,null,l.status):f(Error("Error in API: "+l.status),null,l.status)};try{l.open(d,b,!0),l.timeout=qa,l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l.send(c)}catch(t){e.set("use_jsonp",!0),Ob(a,b,c,d,f)}} +function Qb(a,b,c,d,e){function f(){d.get("use_jsonp")||b.S?Ob(a,l,c,b.method,m):Pb(a,l,u,b.method,d,m,X,n)}function m(p,H,D){"function"===typeof a.ga&&a.ga(l,b.method,t,p,D,H);p&&0=new Date(a):!a;var c=b.R;"number"===typeof c&&(c=!1);return!document.getElementById("branch-banner")&&!document.getElementById("branch-banner-iframe")&&(a||c)&&(b.V&&"android"===E()||b.va&&"ipad"===E()||b.Z&&"ios"===E()||b.W&&"blackberry"===E()||b.Y&&"windows_phone"===E()||b.X&&"kindle"===E())};function Vb(a,b){var c=".branch-banner-is-active { -webkit-transition: all 0.375s ease; transition: all 00.375s ease; }\n#branch-banner { width:100%; z-index: 99999; font-family: Helvetica Neue, Sans-serif; -webkit-font-smoothing: antialiased; -webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-transition: all 0.25s ease; transition: all 00.25s ease; }\n#branch-banner .button{ border: 1px solid "+(a.buttonBorderColor||("dark"===a.theme?"transparent":"#ccc"))+"; background: "+ +function Wb(a,b){a=a.get("hideBanner",!0);if(b.xa&&navigator&&Number(navigator.doNotTrack))return!1;try{"string"===typeof a&&(a=v(a))}catch(d){a=!1}a="number"===typeof a?new Date>=new Date(a):!a;var c=b.R;"number"===typeof c&&(c=!1);return!document.getElementById("branch-banner")&&!document.getElementById("branch-banner-iframe")&&(a||c)&&(b.V&&"android"===F()||b.ya&&"ipad"===F()||b.Z&&"ios"===F()||b.W&&"blackberry"===F()||b.Y&&"windows_phone"===F()||b.X&&"kindle"===F())};function Xb(a,b){var c=".branch-banner-is-active { -webkit-transition: all 0.375s ease; transition: all 00.375s ease; }\n#branch-banner { width:100%; z-index: 99999; font-family: Helvetica Neue, Sans-serif; -webkit-font-smoothing: antialiased; -webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-transition: all 0.25s ease; transition: all 00.25s ease; }\n#branch-banner .button{ border: 1px solid "+(a.buttonBorderColor||("dark"===a.theme?"transparent":"#ccc"))+"; background: "+ (a.buttonBackgroundColor||"#fff")+"; color: "+(a.buttonFontColor||"#000")+"; cursor: pointer; margin-top: 0px; font-size: 14px; display: inline-block; margin-left: 5px; font-weight: 400; text-decoration: none; border-radius: 4px; padding: 6px 12px; transition: all .2s ease;}\n#branch-banner .button:hover { border: 1px solid "+(a.buttonBorderColorHover||("dark"===a.theme?"transparent":"#BABABA"))+"; background: "+(a.buttonBackgroundColorHover||"#E0E0E0")+"; color: "+(a.buttonFontColorHover||"#000")+ ";}\n#branch-banner .button:focus { outline: none; }\n#branch-banner * { margin-right: 4px; position: relative; line-height: 1.2em; }\n#branch-banner-close { font-weight: 400; cursor: pointer; float: left; z-index: 2;padding: 0 5px 0 5px; margin-right: 0; }\n#branch-banner .content { width:100%; overflow: hidden; height: 76px; background: rgba(255, 255, 255, 0.95); color: #333; "+("top"===a.position?"border-bottom":"border-top")+': 1px solid #ddd; }\n#branch-banner-close { color: #000; font-size: 24px; top: 14px; opacity: .5; transition: opacity .3s ease; }\n#branch-banner-close:hover { opacity: 1; }\n#branch-banner .title { font-size: 18px; font-weight:bold; color: #555; }\n#branch-banner .description { font-size: 12px; font-weight: normal; color: #777; max-height: 30px; overflow: hidden; }\n#branch-banner .icon { float: left; padding-bottom: 40px; margin-right: 10px; margin-left: 5px; }\n#branch-banner .icon img { width: 63px; height: 63px; margin-right: 0; }\n#branch-banner .reviews { font-size:13px; margin: 1px 0 3px 0; color: #777; }\n#branch-banner .reviews .star { display:inline-block; position: relative; margin-right:0; }\n#branch-banner .reviews .star span { display: inline-block; margin-right: 0; color: #555; position: absolute; top: 0; left: 0; }\n#branch-banner .reviews .review-count { font-size:10px; }\n#branch-banner .reviews .star .half { width: 50%; overflow: hidden; display: block; }\n#branch-banner .content .left { padding: 6px 5px 6px 5px; }\n#branch-banner .vertically-align-middle { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); }\n#branch-banner .details > * { display: block; }\n#branch-banner .content .left { height: 63px; }\n#branch-banner .content .right { float: right; height: 63px; margin-bottom: 50px; padding-top: 22px; z-index: 1; }\n#branch-banner .right > div { float: left; }\n#branch-banner-action { top: 17px; }\n#branch-banner .content:after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 1px; background: rgba(0, 0, 0, 0.2); }\n#branch-banner .theme-dark.content { background: rgba(51, 51, 51, 0.95); }\n#branch-banner .theme-dark #branch-banner-close{ color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, .15); }\n#branch-banner .theme-dark .details { text-shadow: 0 1px 1px rgba(0, 0, 0, .15); }\n#branch-banner .theme-dark .title { color: #fff; }\n#branch-banner .theme-dark .description { color: #fff; }\n#branch-banner .theme-dark .reviews { color: #888; }\n#branch-banner .theme-dark .reviews .star span{ color: #fff; }\n#branch-banner .theme-dark .reviews .review-count{ color: #fff; }\n', -d=E();"ios"!==d&&"ipad"!==d||!a.Z?"android"===d&&a.V?c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n#branch-banner #branch-banner-close,#branch-banner .theme-dark #branch-banner-close { height:17px; width: 17px; text-align: center; font-size: 15px; top: 24px; border-radius:14px; border:0; line-height:14px; color:#b1b1b3; background:#efefef; padding: 0; opacity: 1; }\n#branch-banner .button { top: 0; text-decoration:none; border-bottom: 3px solid #A4C639; padding: 0 10px; height: 24px; line-height: 24px; text-align: center; color: #fff; margin-top: 2px; font-weight: bold; background-color: #A4C639; border-radius: 5px; }\n#branch-banner .button:hover { border-bottom:3px solid #8c9c29; background-color: #c1d739; }\n": +d=F();"ios"!==d&&"ipad"!==d||!a.Z?"android"===d&&a.V?c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n#branch-banner #branch-banner-close,#branch-banner .theme-dark #branch-banner-close { height:17px; width: 17px; text-align: center; font-size: 15px; top: 24px; border-radius:14px; border:0; line-height:14px; color:#b1b1b3; background:#efefef; padding: 0; opacity: 1; }\n#branch-banner .button { top: 0; text-decoration:none; border-bottom: 3px solid #A4C639; padding: 0 10px; height: 24px; line-height: 24px; text-align: center; color: #fff; margin-top: 2px; font-weight: bold; background-color: #A4C639; border-radius: 5px; }\n#branch-banner .button:hover { border-bottom:3px solid #8c9c29; background-color: #c1d739; }\n": "blackberry"===d&&a.W?c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n": "windows_phone"===d&&a.Y?c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n": "kindle"===d&&a.X&&(c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n"): c+="#branch-banner { position: absolute; }\n#branch-banner .content .left .details .title { font-size: 12px; }\n#branch-mobile-action { white-space: nowrap; }\n#branch-banner .content .left .details .description { font-size: 11px; font-weight: normal; }\n@media only screen and (min-device-width: 320px) and (max-device-width: 350px) { #branch-banner .content .right { max-width: 120px; } }\n@media only screen and (min-device-width: 351px) and (max-device-width: 400px) and (orientation: landscape) { #branch-banner .content .right { max-width: 150px; } }\n@media only screen and (min-device-width: 401px) and (max-device-width: 480px) and (orientation: landscape) { #branch-banner .content .right { max-width: 180px; } }\n"; -c+=a.ma;a.M&&(c+="body { margin: 0; }\n",d=document.createElement("style"),d.type="text/css",d.id="branch-iframe-css",I(d),d.innerHTML="body { -webkit-transition: all 0.375s ease; transition: all 00.375s ease; }\n#branch-banner-iframe { box-shadow: 0 0 5px rgba(0, 0, 0, .35); width: 1px; min-width:100%; left: 0; right: 0; border: 0; height: 76px; z-index: 99999; -webkit-transition: all 0.25s ease; transition: all 00.25s ease; }\n#branch-banner-iframe { position: "+(("top"!==a.position||a.qa?"fixed": -"absolute")+"; }\n"),(document.head||document.getElementsByTagName("head")[0]).appendChild(d));d=document.createElement("style");d.type="text/css";d.id="branch-css";d.innerHTML=c;I(d);c=a.M?b.contentWindow.document:document;(c=c.head||c.getElementsByTagName("head")[0])&&"function"===typeof c.appendChild&&c.appendChild(d);"top"===a.position?b.style.top="-76px":"bottom"===a.position&&(b.style.bottom="-76px")};function M(a,b){try{var c=q(a.get(b?"branch_session_first":"branch_session",b))||null;return Va(c)}catch(d){return null}}function Ea(a,b,c){c&&b.referring_link&&xa&&(b.referringLinkExpiry=(new Date).getTime()+sa);b=Ua(b);a.set("branch_session",h(b));c&&a.set("branch_session_first",h(b),!0)}function Wb(a,b){if(b){var c=M(a)||{};b=h(Ua(C(c,b)));a.set("branch_session",b)}} -function Yb(a,b,c){function d(f,m){return Ua(C(q(f),m,c))}var e=a.get("branch_session",!1)||{};a.set("branch_session",h(d(e,b)));e=a.get("branch_session_first",!0)||{};a.set("branch_session_first",h(d(e,b)),!0)};function Zb(a,b,c){var d=document.createElement("iframe");d.src="about:blank";d.style.overflow="hidden";d.scrolling="no";d.id="branch-banner-iframe";d.className="branch-animation";I(d);d.onload=function(){var e=E(),f=d.contentDocument||d.contentWindow.document;f.head=f.createElement("head");f.body=f.createElement("body");f.body.className="ios"===e||"ipad"===e?"branch-banner-ios":"android"===e?"branch-banner-android":"branch-banner-other";$b(a,b,f);c(d)};document.body.appendChild(d)} -function $b(a,b,c){c=c||document;var d=c.createElement("div");d.id="branch-banner";d.className="branch-animation";if(a.I||a.T){if(a.I){var e="";for(var f=0;5>f;f++)e+='\u2606', +c+=a.oa;a.M&&(c+="body { margin: 0; }\n",d=document.createElement("style"),d.type="text/css",d.id="branch-iframe-css",J(d),d.innerHTML="body { -webkit-transition: all 0.375s ease; transition: all 00.375s ease; }\n#branch-banner-iframe { box-shadow: 0 0 5px rgba(0, 0, 0, .35); width: 1px; min-width:100%; left: 0; right: 0; border: 0; height: 76px; z-index: 99999; -webkit-transition: all 0.25s ease; transition: all 00.25s ease; }\n#branch-banner-iframe { position: "+(("top"!==a.position||a.ta?"fixed": +"absolute")+"; }\n"),(document.head||document.getElementsByTagName("head")[0]).appendChild(d));d=document.createElement("style");d.type="text/css";d.id="branch-css";d.innerHTML=c;J(d);c=a.M?b.contentWindow.document:document;(c=c.head||c.getElementsByTagName("head")[0])&&"function"===typeof c.appendChild&&c.appendChild(d);"top"===a.position?b.style.top="-76px":"bottom"===a.position&&(b.style.bottom="-76px")};function N(a,b){try{var c=v(a.get(b?"branch_session_first":"branch_session",b))||null;return Wa(c)}catch(d){return null}}function Fa(a,b,c){c&&b.referring_link&&ya&&(b.referringLinkExpiry=(new Date).getTime()+sa);b=Va(b);a.set("branch_session",h(b));c&&a.set("branch_session_first",h(b),!0)}function Yb(a,b){if(b){var c=N(a)||{};b=h(Va(E(c,b)));a.set("branch_session",b)}} +function Zb(a,b,c){function d(f,m){return Va(E(v(f),m,c))}var e=a.get("branch_session",!1)||{};a.set("branch_session",h(d(e,b)));e=a.get("branch_session_first",!0)||{};a.set("branch_session_first",h(d(e,b)),!0)};function $b(a,b,c){var d=document.createElement("iframe");d.src="about:blank";d.style.overflow="hidden";d.scrolling="no";d.id="branch-banner-iframe";d.className="branch-animation";J(d);d.onload=function(){var e=F(),f=d.contentDocument||d.contentWindow.document;f.head=f.createElement("head");f.body=f.createElement("body");f.body.className="ios"===e||"ipad"===e?"branch-banner-ios":"android"===e?"branch-banner-android":"branch-banner-other";ac(a,b,f);c(d)};document.body.appendChild(d)} +function ac(a,b,c){c=c||document;var d=c.createElement("div");d.id="branch-banner";d.className="branch-animation";if(a.I||a.T){if(a.I){var e="";for(var f=0;5>f;f++)e+='\u2606', a.I>f&&(e+=f+1>a.I&&a.I%1?'\u2605': '\u2605 '),e+="";e=''+e+""}else e="";e='
'+e+(a.T?''+a.T+"":"")+"
"}else e= -"";d.innerHTML='
'+b+'
'+(a.na?"":'
×
')+'
Application icon
'+a.title+"
"+e+'
'+a.description+"
";c.body.appendChild(d);return d} -function ac(a,b,c){b='");a.M?Zb(a,b,c):(a=$b(a,b,document),c(a))};function bc(a,b,c,d){function e(g,u){"function"===typeof g&&(u=g,g={});g=g||{};"top"===b.position?f.style.top="-76px":"bottom"===b.position&&(f.style.bottom="-76px");"number"===typeof b.R?d.set("hideBanner",Rb(b.R),!0):d.set("hideBanner",!0,!0);g.da?("top"===b.position?document.body.style.marginTop=m:"bottom"===b.position&&(document.body.style.marginBottom=k),Qb("branch-banner-is-active"),L(f),L(document.getElementById("branch-css")),u()):(setTimeout(function(){L(f);L(document.getElementById("branch-css")); -u()},270),setTimeout(function(){"top"===b.position?document.body.style.marginTop=m:"bottom"===b.position&&(document.body.style.marginBottom=k);Qb("branch-banner-is-active")},20))}if(!Ub(d,b))return N(a,"willNotShowBanner"),null;N(a,"willShowBanner");var f,m=document.body.style.marginTop,k=document.body.style.marginBottom;ac(b,d,function(g){function u(){"top"===b.position?f.style.top="0":"bottom"===b.position&&(f.style.bottom="0");N(a,"didShowBanner")}f=g;Vb(b,f);c.channel=c.channel||"app banner"; -g=b.M?f.contentWindow.document:document;if(!["other","desktop"].includes(E())){b.open_app=b.sa;b.append_deeplink_path=b.ka;b.make_new_link=b.pa;b.deepview_type="banner";a.deepview(c,b);var l=g.getElementById("branch-mobile-action");l&&(l.onclick=function(r){r.preventDefault();a.deepviewCta()})}l=Sb("margin-top");var t=Sb("margin-bottom");Pb(document.body,"branch-banner-is-active");"top"===b.position?document.body.style.marginTop=Tb(l):"bottom"===b.position&&(document.body.style.marginBottom=Tb(t)); -if(l=g.getElementById("branch-banner-close"))l.onclick=function(r){r.preventDefault();N(a,"willCloseBanner");e({},function(){N(a,"didCloseBanner")})};if(g=g.getElementById("branch-banner-modal-background"))g.onclick=function(r){r.preventDefault();N(a,"willCloseBanner");e({},function(){N(a,"didCloseBanner")})};b.da?u():setTimeout(u,20)});return e};function cc(){function a(){if(b.length)b[0](function(){b.shift();a()})}var b=[];return function(c){b.push(c);1===b.length&&a()}};var dc={},O,ec,P,Q,fc,gc,hc=1;function ic(){O="top";ec="absolute";P="76px";fc=Q=!1}ic();var S=[],jc=!1,kc=window.innerHeight,lc=window.innerWidth;window.innerHeight((.|\s)*?)<\/script>/,qc=/