diff --git a/CHANGELOG.md b/CHANGELOG.md index e91c16a1..5fc23378 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ 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.79.0] - 2023-08-22 +- fix(SDK-2006): remove v1/logout call inside logout +- fix(SDK-2006): remove v1/profile call inside setIdentity + ## [2.78.0] - 2023-08-08 - feat(SDK-2049): send referring link data to pageview - fix(SDK-2016): Send raw identity to v1/open besides identity_id diff --git a/dist/build.js b/dist/build.js index fa54c241..d911b039 100644 --- a/dist/build.js +++ b/dist/build.js @@ -1072,7 +1072,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.78.0"}; +var config = {app_service_endpoint:"https://app.link", link_service_endpoint:"https://bnc.lt", api_endpoint:"https://api2.branch.io", version:"2.79.0"}; // Input 3 var safejson = {parse:function(a) { a = String(a); @@ -1157,7 +1157,7 @@ utils.cleanApplicationAndSessionStorage = function(a) { }; utils.httpMethod = {POST:"POST", GET:"GET"}; utils.messages = {missingParam:"API request $1 missing parameter $2", invalidType:"API request $1, parameter $2 is not $3", nonInit:"Branch SDK not initialized", initPending:"Branch SDK initialization pending and a Branch method was called outside of the queue order", initFailed:"Branch SDK initialization failed, so further methods cannot be called", existingInit:"Branch SDK already initialized", missingAppId:"Missing Branch app ID", callBranchInitFirst:"Branch.init must be called first", timeout:"Request timed out", -blockedByClient:"Request blocked by client, probably adblock", missingUrl:"Required argument: URL, is missing", trackingDisabled:"Requested operation cannot be completed since tracking is disabled", deepviewNotCalled:"Cannot call Deepview CTA, please call branch.deepview() first"}; +blockedByClient:"Request blocked by client, probably adblock", missingUrl:"Required argument: URL, is missing", trackingDisabled:"Requested operation cannot be completed since tracking is disabled", deepviewNotCalled:"Cannot call Deepview CTA, please call branch.deepview() first", missingIdentity:"setIdentity - required argument identity should have a non-null value"}; utils.bannerThemes = ["light", "dark"]; utils.getLocationSearch = function() { return utils.isIframeAndFromSameOrigin() ? window.top.location.search : window.location.search; @@ -1696,16 +1696,12 @@ resources.open = {destination:config.api_endpoint, endpoint:"/v1/open", method:u validationTypes.STRING), tracking_disabled:validator(!1, validationTypes.BOOLEAN), current_url:validator(!1, validationTypes.STRING), screen_height:validator(!1, validationTypes.NUMBER), screen_width:validator(!1, validationTypes.NUMBER), model:validator(!1, validationTypes.STRING), os_version:validator(!1, validationTypes.STRING)}}; resources._r = {destination:config.app_service_endpoint, endpoint:"/_r", method:utils.httpMethod.GET, jsonp:!0, params:{sdk:validator(!0, validationTypes.STRING), _t:validator(!1, validationTypes.STRING), branch_key:validator(!0, validationTypes.STRING)}}; resources.linkClick = {destination:"", endpoint:"", method:utils.httpMethod.GET, queryPart:{link_url:validator(!0, validationTypes.STRING)}, params:{click:validator(!0, validationTypes.STRING)}}; -resources.logout = {destination:config.api_endpoint, endpoint:"/v1/logout", method:utils.httpMethod.POST, params:defaults({session_id:validator(!0, validationTypes.STRING)})}; -resources.profile = {destination:config.api_endpoint, endpoint:"/v1/profile", method:utils.httpMethod.POST, params:defaults({identity_id:validator(!0, validationTypes.STRING), identity:validator(!0, validationTypes.STRING)})}; resources.link = {destination:config.api_endpoint, endpoint:"/v1/url", method:utils.httpMethod.POST, ref:"obj", params:defaults({alias:validator(!1, validationTypes.STRING), campaign:validator(!1, validationTypes.STRING), channel:validator(!1, validationTypes.STRING), data:validator(!1, validationTypes.STRING), feature:validator(!1, validationTypes.STRING), identity_id:validator(!0, validationTypes.STRING), stage:validator(!1, validationTypes.STRING), tags:validator(!1, validationTypes.ARRAY), type:validator(!1, validationTypes.NUMBER), source:validator(!1, validationTypes.STRING), instrumentation:validator(!1, validationTypes.STRING)})}; resources.qrCode = {destination:config.api_endpoint, endpoint:"/v1/qr-code", method:utils.httpMethod.POST, ref:"obj", params:defaults({alias:validator(!1, validationTypes.STRING), campaign:validator(!1, validationTypes.STRING), channel:validator(!1, validationTypes.STRING), data:validator(!1, validationTypes.STRING), qr_code_settings:validator(!1, validationTypes.STRING), feature:validator(!1, validationTypes.STRING), identity_id:validator(!0, validationTypes.STRING), stage:validator(!1, validationTypes.STRING), tags:validator(!1, validationTypes.ARRAY), type:validator(!1, validationTypes.NUMBER), source:validator(!1, validationTypes.STRING)})}; resources.deepview = {destination:config.api_endpoint, endpoint:"/v1/deepview", jsonp:!0, method:utils.httpMethod.POST, params:defaults({campaign:validator(!1, validationTypes.STRING), _t:validator(!1, validationTypes.STRING), channel:validator(!1, validationTypes.STRING), data:validator(!0, validationTypes.STRING), feature:validator(!1, validationTypes.STRING), link_click_id:validator(!1, validationTypes.STRING), open_app:validator(!1, validationTypes.BOOLEAN), append_deeplink_path:validator(!1, validationTypes.BOOLEAN), stage:validator(!1, validationTypes.STRING), tags:validator(!1, validationTypes.ARRAY), deepview_type:validator(!0, validationTypes.STRING), source:validator(!0, validationTypes.STRING)})}; -resources.event = {destination:config.api_endpoint, endpoint:"/v1/event", method:utils.httpMethod.POST, params:defaults({event:validator(!0, validationTypes.STRING), metadata:validator(!0, validationTypes.OBJECT), initial_referrer:validator(!1, validationTypes.STRING), tracking_disabled:validator(!1, validationTypes.BOOLEAN)})}; -resources.commerceEvent = {destination:config.api_endpoint, endpoint:"/v1/event", method:utils.httpMethod.POST, params:defaults({event:validator(!0, validationTypes.STRING), metadata:validator(!1, validationTypes.OBJECT), initial_referrer:validator(!1, validationTypes.STRING), commerce_data:validator(!0, validationTypes.OBJECT)})}; resources.logStandardEvent = {destination:config.api_endpoint, endpoint:"/v2/event/standard", method:utils.httpMethod.POST, params:{name:validator(!0, validationTypes.STRING), user_data:validator(!0, validationTypes.STRING), custom_data:validator(!1, validationTypes.STRING), event_data:validator(!1, validationTypes.STRING), content_items:validator(!1, validationTypes.STRING), customer_event_alias:validator(!1, validationTypes.STRING)}}; resources.logCustomEvent = {destination:config.api_endpoint, endpoint:"/v2/event/custom", method:utils.httpMethod.POST, params:{name:validator(!0, validationTypes.STRING), user_data:validator(!0, validationTypes.STRING), custom_data:validator(!1, validationTypes.STRING), event_data:validator(!1, validationTypes.STRING), content_items:validator(!1, validationTypes.STRING), customer_event_alias:validator(!1, validationTypes.STRING)}}; resources.pageview = {destination:config.api_endpoint, endpoint:"/v1/pageview", method:utils.httpMethod.POST, params:defaults({event:validator(!0, validationTypes.STRING), metadata:validator(!1, validationTypes.OBJECT), initial_referrer:validator(!1, validationTypes.STRING), tracking_disabled:validator(!1, validationTypes.BOOLEAN), branch_view_id:validator(!1, validationTypes.STRING), no_journeys:validator(!1, validationTypes.BOOLEAN), user_language:validator(!1, validationTypes.STRING), open_app:validator(!1, @@ -1893,7 +1889,6 @@ Server.prototype.getUrl = function(a, b) { return {error:k.message}; } } - "/v1/event" === a.endpoint && (g.metadata = safejson.stringify(g.metadata || {}), g.hasOwnProperty("commerce_data") && (g.commerce_data = safejson.stringify(g.commerce_data || {}))); ("/v1/pageview" === a.endpoint || "/v1/dismiss" === a.endpoint) && g.metadata && (g.metadata = safejson.stringify(g.metadata || {})); "/v1/open" === a.endpoint && (g.options = safejson.stringify(g.options || {})); return {data:this.serializeObject(g, ""), url:d.replace(/^\//, "")}; @@ -2977,32 +2972,19 @@ Branch.prototype.first = wrap(callback_params.CALLBACK_ERR_DATA, function(a) { a(null, utils.whiteListSessionData(session.get(this._storage, !0))); }); Branch.prototype.setIdentity = wrap(callback_params.CALLBACK_ERR_DATA, function(a, b) { - var c = this; - this._api(resources.profile, {identity:b}, function(d, e) { - d && a(d); - e = e || {}; - c.identity_id = e.identity_id ? e.identity_id.toString() : null; - c.sessionLink = e.link; - c.identity = b; - e.developer_identity = b; - e.referring_data_parsed = e.referring_data ? safejson.parse(e.referring_data) : null; - session.patch(c._storage, {identity:b, identity_id:c.identity_id}, !0); - a(null, e); - }); + if (b) { + var c = {identity_id:this.identity_id, session_id:this.session_id, link:this.sessionLink, developer_identity:b}; + this.identity = b; + session.patch(this._storage, {identity:b}, !0); + a(null, c); + } else { + a(Error(utils.message(utils.messages.missingIdentity))); + } }); Branch.prototype.logout = wrap(callback_params.CALLBACK_ERR, function(a) { - var b = this; - this._api(resources.logout, {}, function(c, d) { - c && a(c); - d = d || {}; - d = {data_parsed:null, data:null, referring_link:null, click_id:null, link_click_id:null, identity:null, session_id:d.session_id, identity_id:d.identity_id, link:d.link, device_fingerprint_id:b.device_fingerprint_id || null}; - b.sessionLink = d.link; - b.session_id = d.session_id; - b.identity_id = d.identity_id; - b.identity = null; - session.patch(b._storage, d, !0, !0); - a(null); - }); + this.identity = null; + session.patch(this._storage, {identity:null}, !0, !0); + a(null); }); Branch.prototype.getBrowserFingerprintId = wrap(callback_params.CALLBACK_ERR_DATA, function(a) { var b = session.get(this._storage, !0) || {}; @@ -3059,9 +3041,6 @@ Branch.prototype.link = wrap(callback_params.CALLBACK_ERR_DATA, function(a, b) { a(null, f && f.url); }); }); -Branch.prototype.sendSMS = function() { - console.warn("SMS feature has been deprecated. This is no-op."); -}; Branch.prototype.qrCode = wrap(callback_params.CALLBACK_ERR_DATA, function(a, b, c, d) { utils.cleanLinkData(b).qr_code_settings = safejson.stringify(utils.convertObjectValuesToString(c || {})); this._api(resources.qrCode, utils.cleanLinkData(b), function(e, f) { @@ -3116,27 +3095,6 @@ Branch.prototype.deepviewCta = wrap(callback_params.CALLBACK_ERR, function(a) { this._deepviewCta(); a(); }); -Branch.prototype.referrals = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.getCode = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.validateCode = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.applyCode = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.credits = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.creditHistory = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; -Branch.prototype.redeem = function() { - console.warn("Credits feature has been deprecated. This is no-op."); -}; Branch.prototype.addListener = function(a, b) { "function" === typeof a && void 0 === b && (b = a, a = null); b && this._listeners.push({listener:b, event:a || null}); @@ -3201,9 +3159,6 @@ Branch.prototype.closeBanner = wrap(0, function(a) { }); a(); }); -Branch.prototype.autoAppIndex = function() { - console.warn("autoAppIndex feature has been deprecated. This is no-op."); -}; Branch.prototype.trackCommerceEvent = wrap(callback_params.CALLBACK_ERR, function(a, b, c, d) { var e = this; e.renderQueue(function() { diff --git a/dist/build.min.js b/dist/build.min.js index 9f4f1ef4..7717b198 100644 --- a/dist/build.min.js +++ b/dist/build.min.js @@ -12,7 +12,7 @@ function ka(a,b){b.push('"',a.replace(ma,function(c){let d=la[c];d||(d="\\u"+(c. var wa={didClickJourneyClose:"Button(X)",didClickJourneyContinue:"Dismiss Journey text",didClickJourneyBackgroundDismiss:"Background Dismiss",didScrollJourneyBackgroundDismiss:"Background Dismiss"},y=!1,xa=!1,ya={"/v1/open":{link_identifier:"\\d+"},"/v1/pageview":{event:"pageview"},"/v1/dismiss":{event:"dismiss"},"/v1/url":{}},za=!1; function Aa(a,b){var c=document.createElement("a");c.href=a;a=c.origin;a.endsWith("/")&&(a=a.substring(0,a.length-1));if(!["https://api2.branch.io","https://app.link","https://bnc.lt"].includes(a))return!1;c=c.pathname;"/"!=c[0]&&(c="/"+c);c=ya[c];if(!c)return!0;if(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};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 K(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 qb={destination:"https://api2.branch.io",endpoint:"/v1/open",method:"POST",g:{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)}},rb={destination:"https://app.link",endpoint:"/_r",method:"GET",R:!0,g:{sdk:J(!0,1),_t:J(!1,1),branch_key:J(!0, -1)}},sb={destination:"https://api2.branch.io",endpoint:"/v1/logout",method:"POST",g:K({session_id:J(!0,1)})},tb={destination:"https://api2.branch.io",endpoint:"/v1/profile",method:"POST",g:K({identity_id:J(!0,1),identity:J(!0,1)})},ub={destination:"https://api2.branch.io",endpoint:"/v1/url",method:"POST",ta:"obj",g:K({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",g:K({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",R:!0,method:"POST",g:K({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)})};K({event:J(!0,1),metadata:J(!0,0),initial_referrer:J(!1,1),tracking_disabled:J(!1,4)}); -var xb={destination:"https://api2.branch.io",endpoint:"/v1/event",method:"POST",g:K({event:J(!0,1),metadata:J(!1,0),initial_referrer:J(!1,1),commerce_data:J(!0,0)})},yb={destination:"https://api2.branch.io",endpoint:"/v2/event/standard",method:"POST",g:{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:"/v2/event/custom",method:"POST",g:{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)}},Ab={destination:"https://api2.branch.io",endpoint:"/v1/pageview",method:"POST",g:K({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)})},Bb={destination:"https://api2.branch.io",endpoint:"/v1/dismiss",method:"POST",g:K({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)})},Cb={destination:"https://api2.branch.io",endpoint:"/v1/cpid",method:"POST",g:{user_data:J(!0,1)}},Db={destination:"https://api2.branch.io",endpoint:"/v1/cpid/latd",method:"POST",g:{user_data:J(!0,1)}};function Eb(){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 Nb(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"), +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",R:!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",sa:"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",sa:"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",R:!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)})},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 Ob(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(r){f(Error(r.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 r=l.response;else if(m)r=l.responseText;else try{r=q(l.responseText)}catch(t){r= -{}}f(null,r,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(r){e.set("use_jsonp",!0),Nb(a,b,c,d,f)}} -function Pb(a,b,c,d,e){function f(){d.get("use_jsonp")||b.R?Nb(a,l,c,b.method,m):Ob(a,l,u,b.method,d,m,W,n)}function m(p,G,D){"function"===typeof a.ga&&a.ga(l,b.method,r,p,D,G);p&&0=new Date(a):!a;var c=b.P;"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 Wb(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 Ub(a,b){a=a.get("hideBanner",!0);if(b.ta&&navigator&&Number(navigator.doNotTrack))return!1;try{"string"===typeof a&&(a=q(a))}catch(d){a=!1}a="number"===typeof a?new Date>=new Date(a):!a;var c=b.P;"number"===typeof c&&(c=!1);return!document.getElementById("branch-banner")&&!document.getElementById("branch-banner-iframe")&&(a||c)&&(b.U&&"android"===E()||b.ua&&"ipad"===E()||b.Y&&"ios"===E()||b.V&&"blackberry"===E()||b.X&&"windows_phone"===E()||b.W&&"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: "+ (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": -"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"): +d=E();"ios"!==d&&"ipad"!==d||!a.Y?"android"===d&&a.U?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.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": +"windows_phone"===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": +"kindle"===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"): 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.la;a.K&&(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.K?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=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 Yb(a,b){if(b){var c=N(a)||{};b=h(Ua(C(c,b)));a.set("branch_session",b)}} -function Zb(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 $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";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";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.H||a.S){if(a.H){var e="";for(var f=0;5>f;f++)e+='\u2606', +c+=a.la;a.L&&(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.pa?"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.L?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.H||a.S){if(a.H){var e="";for(var f=0;5>f;f++)e+='\u2606', a.H>f&&(e+=f+1>a.H&&a.H%1?'\u2605': '\u2605 '),e+="";e=''+e+""}else e="";e='
'+e+(a.S?''+a.S+"":"")+"
"}else e= -"";d.innerHTML='
'+b+'
'+(a.na?"":'
×
')+'
Application icon
'+a.title+"
"+e+'
'+a.description+"
";c.body.appendChild(d);return d} -function bc(a,b,c){b='");a.K?$b(a,b,c):(a=ac(a,b,document),c(a))};function cc(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.P?d.set("hideBanner",Sb(b.P),!0):d.set("hideBanner",!0,!0);g.da?("top"===b.position?document.body.style.marginTop=m:"bottom"===b.position&&(document.body.style.marginBottom=k),Rb("branch-banner-is-active"),M(f),M(document.getElementById("branch-css")),u()):(setTimeout(function(){M(f);M(document.getElementById("branch-css")); -u()},270),setTimeout(function(){"top"===b.position?document.body.style.marginTop=m:"bottom"===b.position&&(document.body.style.marginBottom=k);Rb("branch-banner-is-active")},20))}if(!Vb(d,b))return O(a,"willNotShowBanner"),null;O(a,"willShowBanner");var f,m=document.body.style.marginTop,k=document.body.style.marginBottom;bc(b,d,function(g){function u(){"top"===b.position?f.style.top="0":"bottom"===b.position&&(f.style.bottom="0");O(a,"didShowBanner")}f=g;Wb(b,f);c.channel=c.channel||"app banner"; -g=b.K?f.contentWindow.document:document;if(E()){b.open_app=b.sa;b.append_deeplink_path=b.ja;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(t){t.preventDefault();a.deepviewCta()})}l=Tb("margin-top");var r=Tb("margin-bottom");Qb(document.body,"branch-banner-is-active");"top"===b.position?document.body.style.marginTop=Ub(l):"bottom"===b.position&&(document.body.style.marginBottom=Ub(r));if(l=g.getElementById("branch-banner-close"))l.onclick= -function(t){t.preventDefault();O(a,"willCloseBanner");e({},function(){O(a,"didCloseBanner")})};if(g=g.getElementById("branch-banner-modal-background"))g.onclick=function(t){t.preventDefault();O(a,"willCloseBanner");e({},function(){O(a,"didCloseBanner")})};b.da?u():setTimeout(u,20)});return e};function dc(){function a(){if(b.length)b[0](function(){b.shift();a()})}var b=[];return function(c){b.push(c);1===b.length&&a()}};var ec={},P,fc,Q,gc,hc,ic,jc=1;function kc(){P="top";fc="absolute";Q="76px";hc=gc=!1}kc();var S=[],lc=!1,mc=window.innerHeight,nc=window.innerWidth;window.innerHeight((.|\s)*?)<\/script>/,sc=/