PageSourceSearch

https://www.bankingdive.com/selfservice/event-listings/contact

html bankingdive.com collected 2026-10-02 02:31:09 UTC 97,196 bytes, 2,096 lines download raw bytes

1
2
3
4
5
6
7
8
9
10
11<!DOCTYPE html>
12<html class="no-js" dir="ltr" lang="en" prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb#">
13    <head>
14        <meta charset="utf-8">
15        <meta http-equiv="x-ua-compatible" content="ie=edge">
16        <meta name="viewport" content="width=device-width, initial-scale=1.0">
17        
18        
19
20        
21
22        
23        
24        
25        
26            <title>List your event | Banking Dive</title>
27        
28
29        
30            
31                <meta name="description" content="Banking news"/>
32            
33        
34
35        
36
37        
38
39        
40            <meta property="fb:pages" content="510756622789753">
41        
42
43        
44            
45            
45<script>
46                window.dataLayer = window.dataLayer || [];
47                function gtag(){dataLayer.push(arguments);}
48                gtag('consent','default',{
49                    'ad_storage':'denied',
50                    'analytics_storage':'denied',
51                    'ad_user_data':'denied',
52                    'ad_personalization':'denied',
53                    'personalization_storage':'denied',
54                    'functionality_storage':'granted',
55                    'security_storage':'granted',
56                    'wait_for_update': 500
57                });
58                gtag("set", "ads_data_redaction", true);
59            </script>
59
60            
61            
61<script src="https://cmp.osano.com/AzqdtLT8Mqkut2TZ/991974d1-3bca-4b6d-93e4-fc7f0c35945c/osano.js"></script>
61
62            <style>
63                .osano-cm-widget{display: none;}
64            </style>
65            
65<script>
66                // Notify GTM when analytics consent is granted
67                // This ensures page_view tag re-fires with proper attribution data (source/medium)
68                // if it's initially triggered before analytics consent has been granted
69                Osano.cm.addEventListener("osano-cm-analytics", () => {
70                    gtag('event', 'analytics_consent_granted');
71                });
72                
73                window.Osano.cm.addEventListener("osano-cm-script-blocked", function (item) {
74                    console.log("Script blocked: " + item);
75                });
76                window.Osano.cm.addEventListener("osano-cm-cookie-blocked", function (item) {
77                    console.log("Cookie blocked: " + item);
78                });
79            </script>
79
80        
81
82
83        
84
85
86
87<script type="module" src="/static/js/dist/darkModeFaviconToggle.bundle.js?162315011026" ></script>
87
88
89
90<!-- ====== FAVICONS ======= -->
91<link rel="icon" type="image/x-icon" sizes="any" href="/favicon.ico?v=3" />
92<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=3">
93<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=3">
94<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=3">
95<link rel="manifest" href="/site.webmanifest?v=3">
96<link rel="mask-icon" href="/safari-pinned-tab.svg?v=3" color="#5bbad5">
97<meta name="msapplication-TileImage" content="/mstile-150x150.png?v=3">
98<meta name="msapplication-TileColor" content="#603cba">
99<meta name="theme-color" content="#ffffff">
100
101        <link rel="alternate" type="application/rss+xml" title="Banking Dive - Latest News Feed" href="https://www.bankingdive.com/feeds/news/"/>
102        
103        
104            <meta property="og:title" content="" />
105            <meta property="og:description" content="" />
106            <meta property="og:image" content="https://d12v9rtnomnebu.cloudfront.net/divesite/header_image_logos/banking_dive_feed_header.jpg" />
107        
108
109        
110
111        
112        
113
114        <link rel="stylesheet" href="/static/css/dive_app.css?062315011026">
115
116        
117
118<script type="text/javascript" src="/static/js/ad_blocker_recovery.js?252015011026" defer></script>
118
119
120<!-- These are the 2 necessary scripts for the ad recovery message to work -->
121    
121<script data-osano="MARKETING" async src="https://fundingchoicesmessages.google.com/i/pub-8553262192892817?ers=1" nonce="RORABhIXgMhQdZXbks8fZQ"></script>
vendor: 1 bytes, line 121
121
122<script nonce="RORABhIXgMhQdZXbks8fZQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
122
123
124<!-- If the ad recovery message is blocked, this script shows a backup error message asking users to allow ads -->
125<script>(function(){/*
126
127    Copyright The Closure Library Authors.
128    SPDX-License-Identifier: Apache-2.0
129   */
130   'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}
131   var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d}
132   function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<<
133   4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])?
134   G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)};
135   var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[n
135once]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b=
136   function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display=
137   "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a,
138   e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f,
139   255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)};
140   var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this);
141
142   window.__h82AlnkH6D91__("WyJwdWItODU1MzI2MjE5Mjg5MjgxNyIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04NTUzMjYyMTkyODkyODE3Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVc0lBMXlKVmRQQWNGaXJQX1lGUTdENkpIZVNZUGV6bWNOM216TmJmYWhldlNobXpBVHkzVzlPLU5LV3MyNkx5cWVXRUx3YnRhZzN1MnZEWHVkZnFFSkVRXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFVoRGZtbFAtR2RTZUhBa1lVY2VmWTFQYXh1cDNFdmhndlJDNVM4bms3S2t1TElaUXBFQ05VZTIySUNjcGx4eF9oeVlveHJTdy1iU3FjUkhKZWwyWU1NalFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFgzMm02dWJvVVVwaXJ1b1VQMmhkY2R1S2U5S0pzaDlGRDloMDlWOTlYTkpyZkVTRW5HNzh4Vm0yUDZXdjBDNmkwMXZ4Ui11V25ZVVdlWEI3dmNCd1c5cFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFh0cXRhOEVpaV9LUVI4VHNLaDFVUGJ5TFlnNU1ocDFqdVNFemltQVFFeDFjRDJxalJhTjNDM21hSkt1VkVqdGZ5bTZjSXg5emVaLU5IazZMbTE5QjB1ZGdcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZzFOVE15TmpJeE9USTRPVEk0TVRjXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04NTUzMjYyMTkyODkyODE3LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4V0QtdnVGQVVZRE9STnItSmY2SnJGSGhYYU1QNlo5NG1CTjFyQ2g5M1FvdVNLSmtJcFBlLW1Uc2NpdHNWOEZ0aUdIdzBFZ1QtOEMzbHpFblJMczduZ0pQQVx1MDAzZFx1MDAzZCJd");
143</script>
143
144
145        
146
147<script src="/static/js/jquery_360.min.js?252015011026"></script>
147
148
149        
150
151<script>
152    
153    // waitForTriggerHandler() is library for queuing up javascript to be stored and then executed when a trigger
154    // function is called. You can push() any number of functions which will be stored unless and until trigger()
155    // is called. Once trigger() is called any future functions that you push() in will be executed immediately.
156    // It is safe to call .trigger() multiple times. Any arguments passed to .trigger() will also be passed along
157    // to the associated function
158
159    function waitForTriggerHandler() {
160        var function_queue = [];
161        var trigger_arguments = [];
162        this._triggered = false;
163
164        this.push = function(fn) {
165            if (this._triggered) {
166                // just run it immediately if handler has already been triggered
167                fn.apply(null, trigger_arguments);
168            }
169            else {
170                // otherwise add to the queue to run later
171                function_queue.push(fn);
172            }
173        };
174
175        this.trigger = function() {
176            // any arguments passed to trigger(foo, bar, baz) will also be passed along to functions in the queue
177
178            // first convert any arguments to an array
179            trigger_arguments = Array.prototype.slice.call(arguments);
180            while (function_queue.length){
181                // for each function in the queue, pop it off and then execute it while passing in any
182                // args that may have been passed to trigger().
183                function_queue.pop().apply(null, trigger_arguments);
184                // The "null" above is for the value of "this".
185                // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#Parameters
186            }
187            this._triggered = true;
188        }
189
190    }
191    
192    // set up waitToLoadAds handler
193    window.waitToLoadAds = new waitForTriggerHandler();
194    // We set up the triggers for this below, they depend on whether we're loading lytics on the page
195</script>
195
196
197
198
199    
199<script type="text/javascript">
200        
201        window.googletag = window.googletag || {};
202        googletag.cmd = googletag.cmd || [];
203
204        // initialize callback (source: https://learn.lytics.com/product-docs/lytics-javascript-tag/receiving-data-from-lytics)
205        !function(){"use strict";var o=window.jstag||(window.jstag={}),r=[];function n(e){o[e]=function(){for(var n=arguments.length,t=new Array(n),i=0;i<n;i++)t[i]=arguments[i];r.push([e,t])}}n("send"),n("mock"),n("identify"),n("pageView"),n("unblock"),n("getid"),n("setid"),n("loadEntity"),n("getEntity"),n("on"),n("once"),n("call"),o.loadScript=function(n,t,i){var e=document.createElement("script");e.async=!0,e.src=n,e.onload=t,e.onerror=i;var o=document.getElementsByTagName("script")[0],r=o&&o.parentNode||document.head||document.body,c=o||r.lastChild;return null!=c?r.insertBefore(e,c):r.appendChild(e),this},o.init=function n(t){return this.config=t,this.loadScript(t.src,function(){if(o.init===n)throw new Error("Load error!");o.init(o.config),function(){for(var n=0;n<r.length;n++){var t=r[n][0],i=r[n][1];o[t].apply(o,i)}r=void 0}()}),this}}();
206
207
208        // custom init + lytics default install tag from https://activate.getlytics.com/connect?aid=2751
209        // see https://learn.lytics.com/understanding/product-docs/lytics-javascript-tag/configuration#configuration-options
210        
211            var lyticsCid = '44fda7674f94228540d8fba6786f9770';
212            console.log('You are using the Lytics Prod account');
213        
214
215        
216
217        jstag.init({
218            src: `https://c.lytics.io/api/tag/${lyticsCid}/latest.min.js`,
219            pageAnalysis: {
220                dataLayerPull: {
221                    disabled: true
222                }
223            }
224        });
225        jstag.pageView();
226
227        
228        (function(){
229            var sailthru_cookie, sailthru_user_id;
230            function read_cookie(cookieName) {
231              var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
232              var sMatch = (' '+document.cookie).match(re);
233              if (cookieName && sMatch) return unescape(sMatch[1]);
234              return '';
235            }
236            sailthru_cookie = read_cookie('sailthru_hid');
237            if (sailthru_cookie.length > 56) {
238              sailthru_user_id = sailthru_cookie.slice(32,56);
239              jstag.send({ st_profile_id: sailthru_user_id });
240            }
241        })();
242
243        
244        
245        
246        
247        jstag.call('entityReady', () => waitToLoadAds.trigger());
248        setTimeout(() => waitToLoadAds.trigger(), 1000);  // also trigger lytics if it's taking too long
249
250        
251        
252        waitToLoadAds.push(function (lytics_data) {
253            // lytics_data won't be defined if lytics failed to load correctly. In that case
254            // we don't need to set any segments.
255            if (lytics_data && lytics_data.segments) {
256                googletag.cmd.push(function() {
257                    googletag.pubads().setTargeting("LyticsSegments", lytics_data.segments);
258                });
259            }
260        });
261
262        function getUID(id) {
263            window.dataLayer.push({'user_id': id});
264        };
265        jstag.getid(getUID);
266
267
268    </script>
268
269
270
271
272        
273        
273<script src="/jsi18n/"></script>
273
274
275        
276
277        
278            
279
280
281<script>
282    // Initialize dataLayer empty array for GTM events
283    window.dataLayer = window.dataLayer || [];
284    window.dataLayer.push({
285        'site': 'Banking Dive',
286    });
287    // wrapper function to push GTM events to dataLayer
288    pushGTMEvent = (eventObject) => {
289        // if window.datalayer is not defined, then set to an empty array
290        window.dataLayer.push(eventObject);
291    };
292</script>
292
293<!-- Google Tag Manager -->
294<script>
vendor: 327 bytes, lines 294-298
294(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
295new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
296j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
297'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
298})(window,document,'script','dataLayer','
298GTM-55G8WRR
vendor: 3 bytes, line 298
298');
298</script>
298
299<!-- End Google Tag Manager -->
300
301<script>
302    let eventParams = {};
303    
304    
305    const gtmEventObject  = {
306        event: 'page.content',
307        'page.content': {
308            v:11, // seer version
309            ...eventParams
310        }
311    };
312    window.pushGTMEvent(gtmEventObject);
313    window.lyticsLookup = {"any_agriculture_dive_subs": "aa", "any_automotive_dive_subs": "ab", "any_banking_dive_subs": "ac", "any_biopharma_dive_subs": "ad", "any_cstore_dive_subs": "ae", "any_cfo_dive_subs": "af", "cfo_dive_tech_valid_subs": "ag", "any_cfo_balance_subs": "ah", "any_cio_dive_subs": "ai", "any_construction_dive_subs": "aj", "any_cybersecurity_dive_subs": "ak", "any_higher_ed_dive_subs": "al", "any_k12_dive_subs": "am", "any_facilities_dive_subs": "an", "any_fashion_dive_subs": "ao", "any_food_dive_subs": "ap", "any_grocery_dive_subs": "aq", "any_healthcare_dive_subs": "ar", "any_hotel_dive_subs": "as", "any_hr_dive_subs": "at", "any_legal_dive_subs": "au", "any_manufacturing_dive_subs": "av", "any_marketing_dive_subs": "aw", "any_medtech_dive_subs": "ax", "any_mobile_marketer_subs": "ay", "any_multifamily_dive_subs": "az", "any_packaging_dive_subs": "a0", "any_payments_dive_subs": "a1", "any_pharmavoice_subs": "a2", "any_restaurant_dive_subs": "a3", "any_retail_dive_subs": "a4", "any_smart_cities_dive_subs": "a5", "any_social_media_today_subs": "a6", "any_supplychain_dive_subs": "a7", "any_transport_dive_subs": "a8", "any_utility_dive_subs": "a9", "any_waste_dive_subs": "ba", "lt_15_million_company_revenue": "bb", "lt_20_million_company_revenue": "bc", "gt_100m_company_revenue": "bd", "gt_500m_company_revenue": "be", "250k_to_at_least_5m_company_revenue": "bf", "5m_to_20m_company_revenue": "bg", "20m_5000m_company_revenue": "bh", "all_cfos": "bi", "retail_holiday_edition_valid_subscribers": "bj", "banking_dive_valid_subscribers": "bk", "biopharma_dive_valid_subscribers": "bl", "cfo_dive_valid_subscribers": "bm", "cio_dive_valid_subscribers": "bn", "construction_dive_valid_subscribers": "bo", "education_dive_higher_ed_valid_subscribers": "bp", "education_dive_k12_valid_subscribers": "bq", "food_dive_valid_subscribers": "br", "grocery_dive_valid_subscribers": "bs", "healthcare_dive_valid_subscribers": "bt", "hr_dive_valid_subscribers": "bu", "hr_dive_talent_valid_subscribers": "bv", "marketing_dive_valid_subscribers": "bw", "medtech_dive_valid_subscribers": "bx", "mobile_marketer_valid_subscribers": "by", "restaurant_dive_valid_subscribers": "bz", "retail_dive_valid_subscribers": "b0", "retail_dive_dtc_valid_subscribers": "b1", "smart_cities_dive_valid_subscribers": "b2", "social_media_today_valid_subscribers": "b3", "supply_chain_dive_valid_subscribers": "b4", "transport_dive_valid_subscribers": "b5", "utility_dive_valid_subscribers": "b6", "waste_dive_valid_subscribers": "b7", "all_target_readers": "b8", "automotive_dive_high_quality_target_readers": "b9", "banking_dive_high_quality_target_readers": "ca", "biopharma_dive_target_readers": "cb", "cstore_dive_high_quality_target_readers": "cc", "cfo_dive_high_quality_target_readers_": "cd", "cio_dive_high_quality_target_readers": "ce", "construction_dive_high_quality_target_readers": "cf", "cybersecurity_dive_high_quality_target_readers": "cg", "facilities_dive_high_quality_target_readers": "ch", "fashion_dive_high_quality_target_readers": "ci", "food_dive_high_quality_target_readers": "cj", "grocery_dive_high_quality_target_readers": "ck", "healthcare_dive_target_readers": "cl", "higher_ed_high_quality_target_readers": "cm", "hotel_dive_high_quality_target_readers": "cn", "hr_dive_high_quality_target_readers": "co", "hr_dive_learning_high_quality_target_readers": "cp", "hr_dive_talent_high_quality_target_readers": "cq", "k12_high_quality_target_readers": "cr", "legal_dive_high_quality_target_readers": "cs", "manufacturing_dive_high_quality_target_readers": "ct", "marekting_dive_high_quality_target_readers": "cu", "medtech_high_quality_target_readers": "cv", "mobile_marketer_high_quality_target_readers": "cw", "multifamily_dive_high_quality_target_readers": "cx", "packaging_dive_high_quality_target_readers": "cy", "payments_dive_high_quality_target_readers": "cz", "pharmavoice_high_quality_target_readers": "c0", "restaurant_dive_high_quality_target_readers": "c1", "retail_dive_high_quality_target_readers": "c2", "smart_cities_dive_high_quality_target_readers": "c3", "socialmediatoday_target_readers": "c4", "supply_chain_dive_high_quality_target_readers": "c5", "transport_dive_high_quality_target_readers": "c6", "utility_dive_high_quality_target_readers": "c7", "waste_dive_high_quality_target_readers": "c8", "banking_dive_fintech_valid_subscribers": "c9", "biopharma_dive_emerging_biotech_valid_subscribers": "da", "biopharma_dive_manufacturing_valid_subscribers": "db", "biopharma_dive_marketing_valid_subscribers": "dc", "construction_dive_tech_valid_subscribers": "dd", "education_dive_k12_curriculum_valid_subscribers": "de", "food_dive_ingredients_valid_subscribers": "df", "healthcare_dive_it_valid_subscribers": "dg", "healthcare_dive_payer_valid_subscribers": "dh", "hr_dive_compensation_benefits_valid_subscribers": "di", "hr_dive_compliance_valid_subscribers": "dj", "hr_dive_diversity_inclusion_valid_subscribers": "dk", "hr_dive_learning_valid_subscribers": "dl", "hr_dive_recruiting_valid_subscribers": "dm", "marketing_dive_agencies_valid_subscribers": "dn", "marketing_dive_mobile_val
313id_subscribers": "do", "retail_dive_marketing_valid_subscribers": "dp", "retail_dive_mobile_commerce_valid_subscribers": "dq", "retail_dive_operations_valid_subscribers": "dr", "retail_dive_tech_valid_subscribers": "ds", "supply_chain_dive_operations_valid_subscribers": "dt", "supply_chain_dive_procurement_valid_subscribers": "du", "utility_dive_demand_response_valid_subscribers": "dv", "utility_dive_solar_valid_subscribers": "dw", "utility_dive_storage_valid_subscribers": "dx", "waste_dive_recycling_valid_subscribers": "dy", "all_cio_job_level": "dz", "all_cso_ciso_job_level": "d0", "all_cto_job_level": "d1", "all_users_on_a_primary_list_in_sailthru": "d2", "any_administration_job_function": "d3", "any_analyst_job_level": "d4", "any_associate_job_level": "d5", "any_bank_finance_company_type": "d6", "any_biz_dev_sales_job_function": "d7", "any_clevel_job_level": "d8", "any_construction_company_type": "d9", "any_customer_relations_job_function": "ea", "any_cx_job_function": "eb", "any_director_vp_job_level": "ec", "any_education_company_type": "ed", "any_finance_job_function": "ee", "any_food_and_bev_company_type": "ef", "any_food_service_company_type": "eg", "any_hr_job_function": "eh", "any_manager_job_level": "ei", "any_manufacturing_company_type": "ej", "any_marketing_job_function": "ek", "any_media_company_type": "el", "any_operations_analysis_job_function": "em", "any_operations_job_function": "en", "any_product_job_function": "eo", "any_retail_company_type": "ep", "any_supply_chain_job_function": "eq", "any_tech_company_type": "er", "any_telecom_company_type": "es", "any_transportation_company_type": "et", "any_transportation_job_function": "eu", "any_utility_company_type": "ev", "any_ux_job_function": "ew", "any_waste_recycling_company_type": "ex", "company_size_1_249": "ey", "company_size_1000_4999": "ez", "company_size_1000_plus": "e0", "company_size_250_499": "e1", "company_size_5000_9999": "e2", "seh_k12_at_risk_users_in_2023_churn_campaign": "e3", "seh_k12_at_risk_users_who_clicked_2023_churn_campagin": "e4", "square_food_bev_audience": "e5", "square_restaurant_audience": "e6", "square_retail_audience": "e7", "any_cx_dive_subs": "e8", "any_esg_dive_subs": "e9", "cfo_balance_high_quality_target_readers": "fa", "cx_dive_high_quality_target_readers": "fb", "esg_dive_high_quality_target_readers": "fc", "informauploadsnov2022": "fd", "ladders_uploads_2021": "fe", "ladders_utm_campaign_tracking": "ff", "agriculture_dive_high_quality_target_readers": "fg", "all_marketing_related_audience": "fh", "tech_job_function": "fi", "construction_dive_infrastru
313cture_valid_subscribers": "fj", "construction_dive_labor_safety_valid_subscribers": "fk", "supply_chain_dive_logistics_valid_subscribers": "fl", "payers_on_healthcare": "fm", "providers_on_healthcare": "fn", "wardsauto_valid_subscribers": "fo", "wardsauto_dealer_valid_subscribers": "fp", "any_wardsauto_subs": "fq", "wardsauto_high_quality_target_readers": "fr", "wardsauto_high_quality_target_readers_automakers": "fs", "wardsauto_high_quality_target_readers_dealers": "ft", "wardsauto_high_quality_target_readers_suppliers": "fu", "channel_dive_valid_subscribers": "fv", "any_channel_dive_subs": "fw", "channel_dive_high_quality_target_readers": "fx", "cstore_retail_subs": "fy", "cstore_grocery_subs": "fz", "healthcare_dive_high_quality_target_readers_providers": "f0", "healthcare_dive_high_quality_target_readers_payers": "f1", "healthcare_dive_high_quality_target_readers_health_it": "f2", "2026_outlooks_autorecommended_content_audience": "f3"}
314</script>
314
315
316
317
318<script type="module" src="/static/js/dist/lyticsHelper.bundle.js?162315011026" ></script>
318
319
320
321        
322
323        <!-- HTMX for dynamic content loading -->
324        
325
326<script src="/static/js/htmx_204.min.js?252015011026"></script>
326
327
328
329        
330        
331        
332
333        
334            
335
336<script type="text/javascript" src="/static/js/mailcheck.min.js?252015011026" defer></script>
vendor: 1 bytes, line 336
336
337<script type="text/javascript" src="/static/js/dive_mailcheck.js?252015011026" defer></script>
337
338
339        
340
341        
342        
342<script src="/static/js/app.js?252015011026" defer></script>
342
343
344        
345            
345<script type="text/javascript">
346                var divecounter_settings = {};
347                
348                    divecounter_settings.showSignupAd = true;
349                
350                
351                
352                
353            </script>
353
354        
355        
355<script type="text/javascript" src="/static/js/divecounter.js?252015011026"></script>
355
356
357        
358            
358<script type="text/javascript">
359            // Special unbounce signup thing for google traffic. Test with ?test_unbounce in the URL
360            // Note: divecounter must already be loaded. Only enabled on pages that would normally have signup ads
361            // Note: showSignupAd is always off if prestitial is enabled!
362            if ((typeof divecounter !== "undefined") && ($(window).width() > 640)) {
363            var test_unbounce = (window.location.href.indexOf("?test_unbounce")>=0);
364            var force_unbounce = (window.location.href.indexOf("signupbounce=1")>=0) ||
365                                    (window.location.href.indexOf("utm_campaign=Linked-HR")>=0) ||
366                                    (window.location.href.indexOf("utm_source=outbrain")>=0);
367            if (test_unbounce ||
368                force_unbounce ||
369                (document.referrer.match(/^https?:\/\/(www\.google\.|news\.google\.|t\.co|twitter\.com|www\.facebook\.com)/i) &&
370                divecounter.getOption('showSignupAd') && divecounter.canShow(1,1)) ) {
371                // dyanmically load ouibounce.js only on pages where its needed
372                $.getScript("/static/js/ouibounce.min.js?252015011026", function(){
373                    // Once ouibounce.js loads, call the script
374                    // We're reusing divecounter's modal instead of OuiBounce's modal code (that's why we pass it 'false')
375                    var _ouibounce = ouibounce(false, {
376                    aggressive: test_unbounce, // ignore cookie in test mode
377                    cookieName: '_viewedOuiBounce', // underscored cookies should be ignored by Varnish
378                    callback: function() {
379                        divecounter_open_ad();
380                    }
381                    });
382                });
383            } // end should show unbounce
384            } // end divecounter defined
385            </script>
385
386        
387
388        
389            
390<script type="text/javascript">
391    function read_cookie(cookieName) {
392        var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
393        var sMatch = (' '+document.cookie).match(re);
394        if (cookieName && sMatch) return unescape(sMatch[1]);
395        return '';
396    }
397
398    var script = document.createElement('script');
399    script.type = 'text/javascript';
400    script.async = true;
401    script.addEventListener('load', function(e) {
402        // we only pass the template this context variable on newsposts
403        let informaData = false;
404        
405        if (window.IIRISTracker) {
406            var sailthru_id = read_cookie('sailthru_hid');
407            if (sailthru_id.length > 56) {
408              sailthru_id = sailthru_id.slice(32,56);
409            }
410
411            var notProduction = 'False' === 'True';
412            var domain = 'www.bankingdive.com'.split('.')[1];
413            // on non-prod environment, there is specific collector domain to send the data to.
414            var cDomain = notProduction ? 'com-informa-prod1.mini.snplow.net' : 'c.' + domain + '.com' // removed .com previous line
415            var cfg = {
416                config: {
417                    td: {},
418                    snowplow: {
419                        context: {}
420                    }
421                }
422            };
423            cfg.config.idsource = 'sailthruid';
424            cfg.config.snowplow.appId = domain;
425            cfg.config.snowplow.cDomain = cDomain;
426            cfg.config.td.lob = 'it';
427            cfg.config.td.domain = domain;
428            cfg.config.snowplow.contentTagEnabled = !!informaData
429            cfg.config.snowplow.context = informaData
430            window.IIRISTracker.initConfig(cfg);
431            window.IIRISTracker.setTrackingUID(sailthru_id);
432            var irisEvt = new Event('trackerLoaded');
433            window.dispatchEvent(irisEvt);
434        } else {
435            window.addEventListener('trackerLoaded', function(evt) {
436                if(window.IIRISTracker) {
437                    window.IIRISTracker.setTrackingUID(sailthru_id);
438                }
439            });
440        }
441    });
442    script.src = 'https://static.iris.informa.com/widgets/v3.0/iris-t.js';
443    document.getElementsByTagName('head')[0].appendChild(script);
444</script>
444
445
446        
447
448        
449        
450
451        
452
453        
454        
454<script type="text/javascript">
455            jQuery.browser = {};
456            (function () {
457                jQuery.browser.msie = false;
458                jQuery.browser.version = 0;
459                if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
460                    jQuery.browser.msie = true;
461                    jQuery.browser.version = RegExp.$1;
462                }
463            })();
464        </script>
464
465        <!-- for modal signup form -->
466
467        
467<script type="text/javascript" src="/static/js/jquery.simplemodal.divefork.min.js?252015011026" defer></script>
467
468
469        
470
471        <style>
472
473            /* dynamic style overrides based on DB go here*/
474            
475        </style>
476
477        
478    <meta name="robots" content="noindex" />
479    
480
481<link rel="preload" href="/static/js/dist/EventListings.bundle.js?162315011026" as="script" crossorigin>
482<link rel="preload" href="/static/css/EventListings.bundle.css?162315011026" as="style" onload="this.rel='stylesheet'">
483
484    
485
486
487
488
489
490    <link rel="preload" href="/static/css/dive_pressrelease_app.css?062315011026" as="style" onload="this.onload=null; this.rel='stylesheet';">
491
492
493
494
495        
496
497<script type="module" src="/static/js/dist/signupReferrer.bundle.js?162315011026" ></script>
497
498
499
500        
501            
502
503<script type="module" src="/static/js/dist/searchTracking.bundle.js?162315011026" ></script>
503
504
505            
506
507<script type="module" src="/static/js/dist/navRelatedQuestionsTracking.bundle.js?162315011026" ></script>
507
508
509        
510
511        
512        
513
514        
515        
516            
517
518
519
520
521
522
523    
523<script type="text/javascript" src="/static/js/prestitial.js?252015011026"></script>
523
524
525
526
527
528
529    
529<script data-osano="MARKETING" async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
529
530
531
532
533
534
535
536
537
538
539
540    <!-- DoubleVerify Page Tag - START -->
541    
541<script data-osano="MARKETING" async src="https://pub.doubleverify.com/dvtag/19913272/DV424940/pub.js"></script>
541
542    
542<script>
543        window.onDvtagReady = function(callback, timeout = 750) {
544            window.dvtag = window.dvtag || {};
545            dvtag.cmd = dvtag.cmd || [];
546            dvtag.queueAdRequest = dvtag.queueAdRequest || function() {};
547            const opt = {
548                callback,
549                timeout,
550                timestamp: new Date().getTime()
551            };
552            dvtag.cmd.push(function() {
553                dvtag.queueAdRequest(opt);
554            });
555            setTimeout(function() {
556                const cb = opt.callback;
557                opt.callback = null;
558                if (cb) cb();
559            }, timeout);
560        };
561    </script>
561
562    <!-- DoubleVerify Page Tag - END -->
563
564
565
566<script type="text/javascript" src="/static/js/dist/adTemplates.bundle.js?162315011026" defer></script>
vendor: 1 bytes, line 566
566
567<script>
568    const desktopWidth = 1024;
569    
570    window.dfp_visibility = window.innerWidth >= desktopWidth ? 'desktop' : 'mobile';
571
572    const dfpDisplayConfiguration = {
573        "prestitialEnabled": true,
574        "leaderboardEnabled": true,
575        "sidebarAdsEnabled": true,
576        "visibility": window.dfp_visibility
577    };
578
579    
580    var googletag = googletag || {};
581    googletag.cmd = googletag.cmd || [];
582    googletag.cmd.push(function () {
583        
584
585        
586        
587
588        
589
590        if ((typeof divecounter !== "undefined") && (divecounter.getMarketingData().is_subscriber)) {
591            googletag.pubads().setTargeting("is_subscriber", "yes");
592        }
593
594        const site = window.location.host
595        googletag.pubads().setTargeting("site", site);
596
597        const first_path = window.location.pathname.split( '/' )[1];
598        googletag.pubads().setTargeting("first_path", first_path);
599
600        
601        
602
603        // Set ad targeting on the trendline to show the ads designated for it
604        
605        
606        const isTopicPage = window.location.pathname.indexOf('/topic/') !== -1;
607        if(isTopicPage) {
608            googletag.pubads().setTargeting('is_topics_page', 'true');
609        }
610
611        
612        const cookies = document.cookie.split("; ");
613        const utmMedium = cookies.find(cookie => cookie.startsWith("utmMedium="));
614        const utmMediumValue = utmMedium ? utmMedium.split("=")[1] : null;
615        const ppc = utmMediumValue && utmMediumValue.toUpperCase() === "CPC" ? "1" : "0";
616        googletag.pubads().setTargeting("ppc", ppc);
617
618    });
619
620    googletag.cmd.push(function () {
621        googletag.pubads().setCentering(true);
622        googletag.pubads().collapseEmptyDivs(false); // Whether to collapse the slots even before the ads are fetched.
623        googletag.setConfig({ singleRequest: true });
624        window.onDvtagReady?.(); // Notify DoubleVerify page tag that slots are defined.
625        googletag.enableServices();
626    });
627</script>
627
628
629
630
631
632<script>window.fallbackAds = '[{\u0022adType\u0022: \u0022editorial_native_ad\u0022, \u0022link\u0022: \u0022/trendline/artificial\u002Dintelligence/418/?utm_source\u003DBD\u0026utm_medium\u003DNativeFB\u0026utm_campaign\u003DTrendlineFB\u0022, \u0022label\u0022: \u0022Trendline\u0022, \u0022headline\u0022: \u0022The growing use of AI in banking\u0022, \u0022ctaText\u0022: \u0022Access now\u0022, \u0022description\u0022: \u0022Banks must decide whether to forge AI tools in\u002Dhouse or partner with outside firms. AI\u005Cu2019s importance can\u005Cu2019t be understated, but legacy tech may also constrain the budget for banks looking to innovate.\u0022, \u0022image\u0022: \u0022https://imgproxy.divecdn.com/e1Rg7V1GzSyiHTZnn0SMaU4I_JXjotdI_3mkYjWbRSY/g:ce/rs:fit:640:361/Z3M6Ly9kaXZlc2l0ZS1zdG9yYWdlL2RpdmVpbWFnZS9BSV9wcm9jZXNzb3IuanBn.webp\u0022, \u0022attribution\u0022: \u0022\u0022}]'</script>
632
633
634
635<script type="module" src="/static/js/dist/onBoardDiagnostics.bundle.js?162315011026" ></script>
635
636
637
638
639
640    
641
642<script type="module" src="/static/js/dist/engAnalytics.bundle.js?162315011026" ></script>
642
643
644
645
646
647        
648
649        
650        <!-- NEW RELIC SYNTHETICS CANARY -->
651    </head>
652
653
654    <body class="">
655        <!-- Accessibility skip-nav link -->
656        <a href="#skip-link-target" class="button button--loud skip-nav-link" tabindex="1">Skip to main content</a>
657
658        
659            <!-- Google Tag Manager (noscript) -->
660                <noscript><iframe data-osano="ESSENTIAL" src="https://www.googletagmanager.com/ns.html?id=GTM-55G8WRR" height="0" width="0" style="display:none;visibility:hidden">
661                </iframe></noscript>
662            <!-- End Google Tag Manager (noscript) -->
663        
664
665        
666            
667
668
669    
670        
671        <div id="prestitial-init" style="display: none;" class="prestitial-init"></div>
672        <div id="prestitial-oop" style="display: none;"></div>
673        <div id="prestitial-outer" style="display: none;" class="prestitial content-overlay">
674            <section class="site-menu" aria-label="Site menu">
675                <div class="site-menu-inner">
676                    
677                        <img src="https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_black.svg" alt="Banking Dive" class="pub-logo">
678                    
679                </div>
680            </section>
681            <section class="paychek-page-wrapper row">
682                <div class="paychek-button large-4 large-push-8 columns">
683                    <div>
684                        CONTINUE TO SITE ➞
685                    </div>
686                </div>
687                <div class="paychek large-8 large-pull-4 columns">
688                    
689                    <div id="paychekgoeshere"></div>
690                    
690<script type="text/javascript">
691                      if (typeof prestitialAds !== 'undefined' && prestitialAds.pageIsPrestitialEligible()) {
692                        
693                          prestitialAds.showOverlay();
694                        
695                      }
696                    </script>
696
697                    
697<script type="text/javascript">
698                        
699                        if (typeof prestitialAds !== 'undefined' && prestitialAds.pageIsPrestitialEligible()) {
700                          // Initialize but don't show yet - wait to see if OOP loads
701                          prestitialAds.initialize(7);
702                          
703                          prestitialAds.setPrestitialPossibleCookie();
704                          const prestitial_ad_unit_path = '/3618/bankingdive/bankingdiveprestitial';
705
706                          
707                          let oopStatus = 'pending';
708                          let standardStatus = 'pending';
709                          let resolved = false;
710
711                          function resolvePrestitial() {
712                            if (resolved) return;
713
714                            if (oopStatus === 'loaded') {
715                              resolved = true;
716                              prestitialAds.showOOPPrestitial();
717                              // Wait for OOP ad content to exist before hiding overlay
718                              prestitialAds.waitForOOPAdContent(function() {
719                                $('div#prestitial-init').hide(); // hide the all white overlay
720                                // Wait for Airtory to close (either by user or timeout)
721                                // before closing OOP wrapper and restoring the page scroll.
722                                prestitialAds.watchForOOPAdClose(function() {
723                                  prestitialAds.closePrestitial();
724                                });
725                              });
726                            } else if (oopStatus === 'empty' && standardStatus === 'loaded') {
727                              resolved = true;
728                              prestitialAds.showStandardPrestitial();
729                              $.modal.close();
730                              $('div#prestitial-init').hide(); // hide the all white overlay
731                            } else if (oopStatus === 'empty' && standardStatus === 'empty') {
732                              resolved = true;
733                              prestitialAds.closePrestitial();
734                            }
735                            // else: one or both slots are still pending, wait for the other to report.
736                          }
737
738                          googletag.cmd.push(function () {
739                            googletag.pubads().addEventListener('slotRenderEnded', function (event) {
740                              
741                              if (event.slot.getAdUnitPath() == prestitial_ad_unit_path) {
742                                const slotElementId = event.slot.getSlotElementId();
743
744                                if (slotElementId === 'prestitial-oop') {
745                                  oopStatus = event.isEmpty ? 'empty' : 'loaded';
746                                  resolvePrestitial();
747                                } else if (slotElementId === 'paychekgoeshere') {
748                                  standardStatus = (event.isEmpty || prestitialAds.testingNoAd()) ? 'empty' : 'loaded';
749                                  resolvePrestitial();
750                                }
751                              }
752                            });
753
754                            // Set the _prestitialViewed cookie after there has been a prestitial impression
755                            googletag.pubads().addEventListener('impressionViewable', function (event) {
756                              if (event.slot.getAdUnitPath() == prestitial_ad_unit_path) {
757                                prestitialAds.setCookie(
758                                  "_prestitialViewed",
759                                  (new Date()).getTime(),
760                                  prestitialAds.daysBetweenPrestitial
761                                );
762                              }
763                            });
764                          });
765
766                          
767                          if (prestitialAds.testingNoAd()) {
768                            
769                          } else {
770                            
771                            
772                            if (prestitialAds.screenMeetsSizeReqs()) {
773                                googletag.cmd.push(function() {
774                                  googletag.defineSlot(
775                                    prestitial_ad_unit_path,
776                                    [[500, 300], [640, 480]],
777                                    'paychekgoeshere'
778                                  ).addService(googletag.pubads());
779
780                                  googletag.defineOutOfPageSlot(
781                                    prestitial_ad_unit_path,
782                                    'prestitial-oop'
783                                  ).addService(googletag.pubads());
784                                });
785                            }
786                            
787                            waitToLoadAds.push(function() {
788                              
789                              googletag.cmd.push(function () {
790                                
791                                // Both slots must be displayed (requested) so GAM has a chance to
792                                // fill either one; resolvePrestitial() needs both slotRenderEnded
793                                // events to decide which ad (if any) to actually show.
794                                window.onDvtagReady?.(() => googletag.display('paychekgoeshere'));
795                                window.onDvtagReady?.(() => googletag.display('prestitial-oop'));
796                              });
797                            });
798                          }
799
800                          
801                          setTimeout(
802                            function () {
803                              if (prestitialAds.overrideTimeout()) {
804                                
805                                return;
806                              }
807
808                              if (!resolved && standardStatus === 'loaded') {
809                                
810                                oopStatus = 'empty';
811                                resolvePrestitial();
812                              }
813
814                              if (!resolved) {
815                                
816                                resolved = true;
817                                if (!prestitialAds.prestitialAdIsClosed()) {
818                                  prestitialAds.closePrestitial();
819                                }
820                                return;
821                              }
822
823                              if (standardStatus === 'loaded' && oopStatus !== 'loaded') {
824                                
825                                setTimeout(
826                                  function () {
827                                    // if the prestitial is already hidden, then don't hide it again.
828                                    if (!prestitialAds.prestitialAdIsClosed()) {
829                                      prestitialAds.closePrestitial();
830                                    }
831                                  },
832                                  prestitialAds.timeoutSeconds()
833                                );
834                              }
835                              
836                            },
837                            
838                            2900
839                          );
840                          prestitialAds.sentPrestitialEligibleEvent();
841                        } else if (typeof prestitialAds !== 'undefined' && !prestitialAds.pageIsPrestitialEligible()){
842                          
843                          prestitialAds.closePrestitial();
844                        }
845                    </script>
845
846                </div>
847            </section>
848        </div>
849    
850
851
852        
853
854        
855            
856                
857
858<div id="signup-inter" class="modal_dialog" style="display:none;">
859    
860        
861        <form id="signup-inter-form"
862              class="form-basic"
863              name="signup-inter-form"
864              action="/signup/"
865              method="POST">
866            
867            <input type="hidden" name="signup_box_location" value="interstitial">
868            <input type="hidden" name="signup_initial_url_path" value="">
869            <h1>
870                
871                    
872                        Don't miss tomorrow's banking industry news
873                    
874                
875            </h1>
876            <p class="interstitial-text">
877                
878                    
879                        Let Banking Dive's free newsletter keep you informed, straight from your inbox.
880                    
881                
882            </p>
883            <p class="form-error__message" id="interstitial-error"></p>
884            <div id="form-interstitial">
885                <input type="email" name="email" placeholder="Work email address" class="email" maxlength="320" required id="id_42826_email">
886                
887                <div id="newsletter-list-section">
888                    <div id="id_42826_site_newsletters" class="list-no-bullets"><div>
889    <label for="id_42826_site_newsletters_0"><input type="checkbox" name="site_newsletters" value="760" class="list-no-bullets" id="id_42826_site_newsletters_0">
890 Daily Dive <span class="secondary-label">M-F</span></label>
891
892</div><div>
893    <label for="id_42826_site_newsletters_1"><input type="checkbox" name="site_newsletters" value="3172" class="list-no-bullets" id="id_42826_site_newsletters_1">
894 Fintech Weekly <span class="secondary-label">Every Wednesday</span></label>
895
896</div>
897</div>
898                    
899                </div>
900                <div id="interstitial-consent-container">
901                    <input name="user_consent" value="1" id="id_user_consent" type="checkbox">
902                    <span>
903    By signing up to receive our newsletter, you agree to our
904    <a href="https://www.informatechtarget.com/terms-of-use/" target="_blank">Terms of Use</a> and
905    <a href="https://www.informatechtarget.com/privacy-policy/" target="_blank">Privacy Policy</a>. You can unsubscribe at anytime.
906</span>
907
908                </div>
909            </div>
910            <span class="captcha-container">
911                <div class="g-recaptcha" data-sitekey="6LfnFggUAAAAAKaDTgN6vqjZtnNENIqa--TCG9F4"></div>
912            </span>
913            <input id="signup-inter-submit"
914                   class="email_submit submit button"
915                   type="submit"
916                   data-role="none"
917                   value="Subscribe today">
918        </form>
919    
920</div>
921
922            
923        
924
925        
926        
927
928        
929            
930        
931
932        <!-- leaderboard -->
933        
934            
935            
936                
937                <div class="leaderboard-wrap">
938                    
939    <div class="hide-small show-large">
940
941
942<div id='dfp-leaderboard-desktop' style="min-height: 90px">
943    
943<script>
944        if (window.dfp_visibility === 'desktop') {
945            googletag.cmd.push(function() {
946                googletag.defineSlot(
947                    '/3618/bankingdive/bankingdiveleaderboard',
948                    [[970, 180], [728, 90], [970, 90]],
949                    'dfp-leaderboard-desktop'
950                ).addService(googletag.pubads());
951            });
952        }
953        waitToLoadAds.push(function() {
954            googletag.cmd.push(function() {
955                if (window.dfp_visibility === 'desktop') {
956                    window.onDvtagReady?.(() => googletag.display('dfp-leaderboard-desktop'));
957                }
958            })
959        });
960    </script>
960
961</div>
962</div>
963
964                </div>
965                
965<script>
966                    googletag.cmd.push(function() {
967                        googletag.pubads().addEventListener('slotRenderEnded', function (event) {
968                            
969                            if (event.slot.getAdUnitPath() === '/3618/bankingdive/bankingdiveleaderboard' && !event.isEmpty) {
970                                $(window).blur(function () {
971                                    if (document.activeElement === $('#dfp-leaderboard- iframe')[0]) {
972                                        try {
973                                            localStorage.setItem('leaderboard_signup_path', document.location.pathname);
974                                        } catch (e) {
975                                            // local storage could not be available due to privacy settings or something
976                                        }
977                                    }
978                                });
979                            }
980                        });
981                    })
982                </script>
982
983                
984            
985        
986
987        <!-- ITT cross pub nav -->
988        
989
990
991<!-- Nav that lists the site's related publications including itt sites  -->
992
993<div class="itt-cross-nav">
994  <div class="itt-cross-nav-inner">
995    <div class="desktop-section-wrapper">
996      <a class="itt-brand analytics t-ittbanner-logo" href="https://www.informatechtarget.com/">
997        <img class="itt-logo" src="https://d12v9rtnomnebu.cloudfront.net/logo/ITechTarget-Orbit-W_rgb.png" alt="Informa Tech Target Logo" height="16">
998        <span class="itt-brand-name nav-item">Informa TechTarget</span>
999        <span class="nav-divider nav-item">|</span>
1000      </a>
1001      <ul class="itt-pubs list-no-bullets">
1002        
1003          <li>
1004            <a href="https://www.cfodive.com/"
1005              class="nav-item-link analytics t-ittbanner-related-cfo-dive">CFO Dive</a>
1006          </li>
1007        
1008          <li>
1009            <a href="https://www.paymentsdive.com/"
1010              class="nav-item-link analytics t-ittbanner-related-payments-dive">Payments Dive</a>
1011          </li>
1012        
1013      </ul>
1014    </div>
1015    <div>
1016      <a href="https://www.informatechtarget.com/our-brands/" class="desktop-cta nav-item-link analytics t-ittbanner-brands">
1017        <span>Explore our brands</span>
1018        <img class="external-link-logo" src="https://d12v9rtnomnebu.cloudfront.net/logo/link-external-wht.svg" alt="Informa TechTarget Brands" height="12">
1019      </a>
1020      <a href="https://www.informatechtarget.com/" class="mobile-cta nav-item-link analytics t-ittbanner-mobile">An Informa TechTarget Publication</a>
1021    </div>
1022  </div>
1023</div>
1024
1025
1026
1027    
1028        <div class="page-container">
1029            
1030            
1031                
1032                    
1033
1034
1035
1036
1037
1038<header role="banner">
1039    <nav id="top" class="site-menu" aria-label="Site menu">
1040        <div class="site-menu-inner">
1041            <!-- logo -->
1042            <div class="pub-logo-wrapper">
1043                <a href="/" class="analytics t-dash-navigation">
1044                    
1045                        <img class="pub-logo" src="https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_black.svg" alt="Banking Dive" height="28">
1046                    
1047                </a>
1048            </div>
1049            <!-- desktop menu, not visible on mobile/tablet -->
1050            <div class="menu-content-wrapper">
1051                <ul class="desktop-menu-main">
1052                    
1053                      <li>
1054                          <a href="/deep-dive/" class="nav-menu-item analytics t-deepdive-navigation">Deep Dive</a>
1055                      </li>
1056                    
1057                    
1058                        <li>
1059                            <a href="/opinion/" class="nav-menu-item analytics t-opinion-navigation">Opinion</a>
1060                        </li>
1061                    
1062                    
1063                    
1064                        <li>
1065                            <a href="/library/" class="nav-menu-item analytics t-library-navigation">Library</a>
1066                        </li>
1067                    
1068                    
1069                        <li>
1070                            <a href="/events/" class="nav-menu-item analytics t-events-navigation">Events</a>
1071                        </li>
1072                    
1073                    
1074                        <li>
1075                            <a href="/press-release/" class="nav-menu-item analytics t-press-releases-navigation">Press Releases</a>
1076                        </li>
1077                    
1078                    
1079                    
1080                    
1081                    <li class="topics top-nav-dropdown-item">
1082                        <button class="nav-menu-item topics-dropdown-item">
1083                            Topics
1084                            <span class="dropdown-toggle-arrow"></span>
1085                        </button>
1086                    </li>
1087                </ul>
1088                <!-- mobile menu toggle icon, not visible on desktop -->
1089                <a href="/signup/?signup_location=header" rel="nofollow" class="nav-menu-item nav-signup-button mobile-nav-signup-button analytics t-signup-navigation button">
1090                    Sign up
1091                </a>
1092                <button class="mobile-menu-toggle">
1093                    
1094                    
1095                        <img src="/static/img/menu_icons/menu_search.svg?252015011026" alt="menu" loading="lazy">
1096                    
1097                </button>
1098                <!-- newsletter and search, only shown on desktop -->
1099                <ul class="desktop-menu-sub list-no-bullets">
1100                    <li>
1101                        <button class="search-toggle search-button-front analytics t-search-navigation-top">
1102                            
1103                            
1104                                <img src="/static/img/menu_icons/ai_search_black.svg?252015011026" alt="search" width="16" height="16" loading="lazy">
1105                            
1106                            
1107                                <span class="sub-link">Search</span>
1108                            
1109                        </button>
1110                    </li>
1111                    <li>
1112
1113                        <a href="/signup/?signup_location=header" rel="nofollow" class="nav-menu-item nav-signup-button desktop-nav-signup-button analytics t-signup-navigation button">
1114                            <img src="/static/img/email_icons/mail.svg?252015011026" width="16" height="11" loading="lazy" alt="">
1115                            Sign up
1116                        </a>
1117                    </li>
1118                </ul>
1119
1120            </div>
1121        </div>
1122    </nav>
1123</header>
1124
1125
1126
1127<div
1128    class="menu-search menu-search--semantic js-search-hide"
1129    data-related-questions-url="/search/related-questions/"
1130    data-search-url="/search/"
1131>
1132    <div class="menu-search-inner-wrapper menu-search-panel" role="region" aria-label="Search panel">
1133        <form action="/search/" method="GET" data-ajax="false" data-search-track data-search-tracking-url="/search/tracking/" class="menu-search-form">
1134            <label for="search-desktop">
1135                <span class="screen-reader-text search">Search</span>
1136            </label>
1137            <div class="menu-search-input-wrap">
1138                <input id="search-desktop" type="search" name="q" placeholder="Ask a question..." data-role="none" autocomplete="off">
1139                <button type="button" class="close menu-search-close" aria-label="Close search">
1140                    <img src="/static/img/menu_icons/close.svg?252015011026" width="16" height="16" alt="" loading="lazy">
1141                </button>
1142                <button type="submit" value="" data-role="none" class="search-button-front menu-search-submit analytics t-search-navigation-drawer" aria-label="Search">
1143                    <img src="/static/img/menu_icons/ai_search.svg?252015011026" alt="" height="16" width="16" loading="lazy">
1144                </button>
1145            </div>
1146        </form>
1147        <section class="menu-search-paa" aria-label="People also ask">
1148            <div class="menu-search-paa__header">
1149                <h2 class="dash-header">People also ask</h2>
1150            </div>
1151            <ul class="menu-search-paa__list js-menu-search-related-questions">
1152                <li class="menu-search-paa__item menu-search-paa__item--loading">Loading questions...</li>
1153            </ul>
1154        </section>
1155    </div>
1156</div>
1157
1158
1159
1160<nav class="topics menu-bar" aria-label="Menu bar">
1161    <ul class="list-no-bullets">
1162        
1163            
1164            <li>
1165                <a class="analytics t-topic-navigation-commercial" href="/topic/commercial/">Commercial</a>
1166            </li>
1167        
1168            
1169            <li>
1170                <a class="analytics t-topic-navigation-retail" href="/topic/retail/">Retail</a>
1171            </li>
1172        
1173            
1174            <li>
1175                <a class="analytics t-topic-navigation-credit-unions" href="/topic/credit-unions/">Credit Unions</a>
1176            </li>
1177        
1178            
1179            <li>
1180                <a class="analytics t-topic-navigation-payments" href="/topic/payments/">Payments</a>
1181            </li>
1182        
1183            
1184            <li>
1185                <a class="analytics t-topic-navigation-regulations-policy" href="/topic/regulations-policy/">Regulations &amp; Policy</a>
1186            </li>
1187        
1188            
1189            <li>
1190                <a class="analytics t-topic-navigation-technology" href="/topic/technology/">Technology</a>
1191            </li>
1192        
1193            
1194            <li>
1195                <a class="analytics t-topic-navigation-fintech" href="/topic/fintech/">Fintech</a>
1196            </li>
1197        
1198    </ul>
1199</nav>
1200
1201
1202
1203<script type="module" src="/static/js/dist/navSignupHelper.bundle.js?162315011026" ></script>
1203
1204
1205
1206<script>
1207    window.siteName = 'Banking Dive';
1208</script>
1208
1209
1210                
1211            
1212
1213            
1214            
1215            <div class="search-overlay"></div>
1216            <div class="page-wrapper ">
1217
1218                <div class="page-inner-wrapper" id="skip-link-target">
1219
1220                
1221                
1222
1223    
1223<script>
1224    window.eventListings = {
1225        status: 'None',
1226        stripePublicKey: 'pk_live_662jQSEvA5SsAj0WthctkPjl',
1227        eventListingContentPolicyUrl: 'https://www.industrydive.com/event\u002Dpromotion\u002Dpolicy',
1228        eventListingContactEmail: '[email protected]',
1229        eventListingPriceInDollars: 1500,
1230        eventListingPriceInPennies: 150000,
1231        site: JSON.parse('{\u0022id\u0022: 24, \u0022name\u0022: \u0022Banking Dive\u0022, \u0022tag\u0022: \u0022banking\u0022, \u0022unique_monthly_visitors\u0022: \u0022128,500\u0022}'),
1232        eventTypes: JSON.parse('[{\u0022value\u0022: \u0022webinar\u0022, \u0022label\u0022: \u0022Webinar\u0022}, {\u0022value\u0022: \u0022virtual_event\u0022, \u0022label\u0022: \u0022Virtual Event\u0022}, {\u0022value\u0022: \u0022conference\u0022, \u0022label\u0022: \u0022Conference\u0022}, {\u0022value\u0022: \u0022tradeshow\u0022, \u0022label\u0022: \u0022Tradeshow\u0022}, {\u0022value\u0022: \u0022forum\u0022, \u0022label\u0022: \u0022Forum\u0022}, {\u0022value\u0022: \u0022round_table\u0022, \u0022label\u0022: \u0022Round table\u0022}]'),
1233    };
1234    </script>
1234
1235    <div class="row column">
1236        <div id="app-mountpoint">
1237        </div>
1238    </div>
1239    
1240
1241<script type="module" src="/static/js/dist/EventListings.bundle.js?162315011026" ></script>
1241
1242
1243
1244
1245
1246                
1247
1248                
1249
1250                </div> <!-- ends page-inner-wrapper -->
1251
1252                <section class="pre-footer">
1253                    
1254                </section>
1255
1256                
1257                    
1258
1259
1260
1261
1262
1263<hr class="footer-hr">
1264<footer>
1265    <div class="custom-article-footer">
1266        <div class="row columns">
1267            <div class="footer-grid">
1268                <div class="footer-links">
1269                    <img class="pub-logo-footer" src="https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_black.svg" alt="Banking Dive Logo" height="28" loading="lazy"/>
1270                    
1271                    
1272
1273
1274<ul class="social-icon-list social-icon-list__footer">
1275    
1276        <li>
1277            <a href="https://www.linkedin.com/company/banking-dive/about/"
1278               aria-label="Industry Dive LinkedIn"
1279               class="social-icon-footer analytics t-sitefooter-linkedin">
1280                <img src="/static/img/social_icons/article_page/linkedin.svg?252015011026" alt="">
1281            </a>
1282        </li>
1283    
1284    
1285        <li>
1286            <a href="https://www.facebook.com/Banking-Dive-510756622789753"
1287               aria-label="Industry Dive Facebook"
1288               class="social-icon-footer analytics t-sitefooter-facebook">
1289                <img src="/static/img/social_icons/article_page/facebook.svg?252015011026"  alt="">
1290            </a>
1291        </li>
1292    
1293    
1294        <li>
1295            <a href="https://twitter.com/bankingdive"
1296               aria-label="Industry Dive X/Twitter"
1297               class="social-icon-footer analytics t-sitefooter-twitter">
1298                <img src="/static/img/social_icons/article_page/x.svg?252015011026" alt="">
1299            </a>
1300        </li>
1301    
1302    
1303    
1304    <li>
1305        <a href="https://www.bankingdive.com/feeds/news/"
1306           aria-label="Industry Dive RSS feed"
1307           class="social-icon-footer analytics t-sitefooter-rss">
1308            <img src="/static/img/social_icons/article_page/rss.svg?252015011026" alt="">
1309        </a>
1310    </li>
1311</ul>
1312
1313                </div>
1314                <div class="link-wrapper">
1315                    <div class="footer-links">
1316                        <h4 class="uppercase-heading-01">Explore</h4>
1317                        <ul class="list-no-bullets">
1318                            <li>
1319                                <a href="/about/" class="analytics t-about-sitefooter">About</a>
1320                            </li>
1321                            
1322                                <li>
1323                                    <a href="/editors/" class="analytics t-editors-sitefooter">Editorial Team</a>
1324                                </li>
1325                            
1326                            <li>
1327                                <a href="/contact/" class="analytics t-feedback-sitefooter">Contact Us</a>
1328                            </li>
1329                            
1330                                <li>
1331                                    <a href="/signup/?signup_location=footer-list&amp;signup_path=/selfservice/event-listings/contact"
1332                                       rel="nofollow" class="analytics t-signup-sitefooter">Newsletter</a>
1333                                </li>
1334                                
1335                                    <li>
1336                                        <a href="/selfservice/article-licensing/submit/"
1337                                           rel="nofollow" class="analytics t-licensing-sitefooter">Purchase Licensing Rights</a>
1338                                    </li>
1339                                
1340                            
1341                            
1342                            <li>
1343                                <a class="analytics t-pr-sitefooter-all" href="/press-release/">Press Releases</a>
1344                            </li>
1345                            
1346                            
1347                            
1348                            
1349                            
1350                            <li>
1351                                <a href="/what-we-are-reading/" class="analytics t-wwr-sitefooter">What We're Reading</a>
1352                            </li>
1353                            
1354                            
1355                            
1356                            
1357                        </ul>
1358                    </div>
1359                    <div class="second-column">
1360                        <div class="footer-links">
1361                            <h4 class="uppercase-heading-01">Reach our audience</h4>
1362                            <ul class="list-no-bullets">
1363                                
1364                                    <li>
1365                                        <a href="/advertise/"
1366                                           class="analytics t-advertising-sitefooter">Advertising</a>
1367                                    </li>
1368                                
1369                                
1370                                    <li>
1371                                        <a class="analytics t-pr-sitefooter-all"
1372                                           href="/press-release/get-started/">Post a press release</a>
1373                                    </li>
1374                                
1375                                
1376                                <li>
1377                                    <a class="analytics t-pr-sitefooter-all" href="/opinion/submit-opinion/">Submit an opinion piece</a>
1378                                </li>
1379                                
1380                                
1381                                    <li>
1382                                        <a class="analytics t-events-sitefooter-start" href="/selfservice/event-listings/contact">Promote an event</a>
1383                                    </li>
1384                                
1385                                
1386                            </ul>
1387                        </div>
1388                        <div class="footer-links">
1389                            
1390                                
1391                                    <h4 class="uppercase-heading-01">Related Publications</h4>
1392                                    <ul class="list-no-bullets">
1393                                        
1394                                            <li>
1395                                                <a href="https://www.cfodive.com/"
1396                                                   class="analytics t-sitefooter-related-cfo-dive">CFO Dive</a>
1397                                            </li>
1398                                        
1399                                            <li>
1400                                                <a href="https://www.paymentsdive.com/"
1401                                                   class="analytics t-sitefooter-related-payments-dive">Payments Dive</a>
1402                                            </li>
1403                                        
1404                                    </ul>
1405                                
1406                            
1407                        </div>
1408                    </div>
1409                </div>
1410            </div>
1411        </div>
1412    </div>
1413</footer>
1414<hr class="footer-hr">
1415<div class="baseline-footer-wrapper">
1416    <div class="baseline-footer-logo">
1417        <a href="https://www.informatechtarget.com">
1418            <img src="/static/img/ITechTarget-Logo.png?252015011026" alt="Informa TechTarget" loading="lazy" />
1419        </a>
1420    </div>
1421    <div class="baseline-footer-content">
1422        <div>
1423            
1424            This website is owned and operated by
1425            <a href="https://www.informatechtarget.com/" rel="noopener noreferrer">Informa TechTarget</a>,
1426            a global network that informs, influences and connects the world's technology buyers and sellers.
1427            
1428        </div>
1429        <br>
1430        <div class="informa-legal-notice">
1431            
1432
1433<div class="baseline-footer">
1434    &copy; 2025 TechTarget, Inc. or its subsidiaries. All rights reserved. An Informa PLC company.
1435    <br>
1436    <a href="https://www.informatechtarget.com/privacy-policy/">Privacy policy</a>
1437    | <a href="https://www.informatechtarget.com/terms-of-use/">Terms of use</a>
1438    | <a href="https://www.industrydive.com/takedown-policy/">Take down policy</a>
1439    | <a href="#" onclick="Osano.cm.showDrawer('osano-cm-dom-info-dialog-open')">Cookie Preferences / Do Not Sell</a>
1440</div>
1441
1442        </div>
1443    </div>
1444</div>
1445
1446                
1447
1448            </div>
1449        </div>
1450
1451        
1452
1453        <!-- mobile menu, not visible on desktop, must go AFTER footer -->
1454        
1455            
1456
1457
1458 <nav class="mobile-menu">
1459    <div class="mm-top-bar">
1460        <div class="mm-search">
1461            <form class="mm-search__form" action="/search/" method="GET" data-ajax="false" data-search-track data-search-tracking-url="/search/tracking/">
1462                <label for="search-mobile" class="screen-reader-text">Search</label>
1463                <input
1464                    id="search-mobile"
1465                    class="mm-search__input"
1466                    type="search"
1467                    name="q"
1468                    placeholder="Ask a question..."
1469                    data-role="none"
1470                    autocomplete="off"
1471                >
1472                <button
1473                    type="button"
1474                    class="mm-search__clear js-mm-search-clear"
1475                    aria-label="Clear search"
1476                    hidden
1477                >
1478                    <img src="/static/img/components/forms/x-circle.svg?252015011026" width="16" height="16" alt="">
1479                </button>
1480            </form>
1481        </div>
1482        
1483        
1484            <button type="button" class="mm-top-bar__close js-mm-close" aria-label="Close menu">
1485                <img src="/static/img/menu_icons/close.svg?252015011026" width="16" height="16" alt="">
1486            </button>
1487        
1488    </div>
1489    
1490        
1491
1492
1493
1494
1495<ul class="mm-list list-no-bullets">
1496    <li>
1497        <a href="/" class="analytics t-dash-navigation-mobile">
1498            <span>Home</span>
1499        </a>
1500    </li>
1501    <li class="mm-accordion">
1502        <button>
1503            <span>Topics</span>
1504            <span class="accordion-toggle-arrow">
1505                <img src="/static/img/menu_icons/chevron_down.svg?252015011026" width="16" height="9" alt="down arrow" loading="lazy">
1506            </span>
1507        </button>
1508        <ul class="list-no-bullets">
1509            
1510                
1511                <li>
1512                    <a class="analytics t-topic-navigation-mobile-commercial" href="/topic/commercial/">Commercial</a>
1513                </li>
1514            
1515                
1516                <li>
1517                    <a class="analytics t-topic-navigation-mobile-retail" href="/topic/retail/">Retail</a>
1518                </li>
1519            
1520                
1521                <li>
1522                    <a class="analytics t-topic-navigation-mobile-credit-unions" href="/topic/credit-unions/">Credit Unions</a>
1523                </li>
1524            
1525                
1526                <li>
1527                    <a class="analytics t-topic-navigation-mobile-payments" href="/topic/payments/">Payments</a>
1528                </li>
1529            
1530                
1531                <li>
1532                    <a class="analytics t-topic-navigation-mobile-regulations-policy" href="/topic/regulations-policy/">Regulations &amp; Policy</a>
1533                </li>
1534            
1535                
1536                <li>
1537                    <a class="analytics t-topic-navigation-mobile-technology" href="/topic/technology/">Technology</a>
1538                </li>
1539            
1540                
1541                <li>
1542                    <a class="analytics t-topic-navigation-mobile-fintech" href="/topic/fintech/">Fintech</a>
1543                </li>
1544            
1545        </ul>
1546    </li>
1547
1548    <li>
1549        <a href="/deep-dive/" class="analytics t-deepdive-navigation-mobile">
1550            <span>Deep Dive</span>
1551        </a>
1552    </li>
1553
1554
1555    <li>
1556        <a href="/opinion/" class="analytics t-opinion-navigation-mobile">
1557            <span>Opinion</span>
1558        </a>
1559    </li>
1560
1561
1562
1563    <li>
1564        <a href="/library/" class="analytics t-library-navigation-mobile">
1565            <span>Library</span>
1566        </a>
1567    </li>
1568
1569
1570    <li>
1571        <a href="/events/" class="analytics t-events-navigation-mobile">
1572            <span>Events</span>
1573        </a>
1574    </li>
1575
1576
1577    <li>
1578        <a href="/press-release/" class="analytics t-press-releases-navigation-mobile">
1579            <span>Press Releases</span>
1580        </a>
1581    </li>
1582
1583
1584
1585
1586</ul>
1587
1588
1589    
1590    
1591        
1592        <section class="signup mm-signup">
1593            <div class="row">
1594                
1595
1596
1597
1598
1599
1600
1601 
1602    
1603    
1604        
1605            <div class="large-9 medium-10 medium-centered columns">
1606                <h3 class="display-heading-03 display-heading-03--loud">Get Banking Dive in your inbox</h3>
1607                <p class="subhead">The free newsletter covering the top industry headlines</p>
1608        
1609            <form class="form js-form-email-validate" name="signup" action="/signup/" method="POST">
1610                
1611
1612                <label for="id_34cb60_email" class="email-input js-email-input">
1613                    <span class="screen-reader-text">Email:</span>
1614                    <input type="email" name="email" placeholder="Work email address" class="email" maxlength="320" required id="id_34cb60_email">
1615                </label>
1616
1617                <span class="captcha-container">
1618                    <div class="g-recaptcha"  data-sitekey="6LfnFggUAAAAAKaDTgN6vqjZtnNENIqa--TCG9F4" ></div>
1619                </span>
1620
1621                <input type="hidden" name="signup_box_location" value="integrated_menu">
1622                <input type="hidden" name="signup_initial_url_path" value="/selfservice/event-listings/contact">
1623                <input type="hidden" name="signup_internal_referrer">
1624                <input type="hidden" name="signup_external_referrer">
1625                <input type="hidden" name="referral_url">
1626
1627                
1628                    <input type="hidden" name="js_enabled" value="0" id="id_34cb60_js_enabled">
1629                
1630
1631                
1632                <ul class="signup-list list-no-bullets">
1633                
1634                    
1635                    
1636                        <li>
1637                            <label><span class="screen-reader-text">Select Newsletter:</span></label>
1638                            <input id="newsletter-integrated_menu-checkbox-760"
1639                                   type="checkbox"
1640                                   name="site_newsletters"
1641                                   value="760"
1642                                   class="checkbox"
1643                                   
1644                                   />
1645                            <label for="newsletter-integrated_menu-checkbox-760">
1646                                <span class="newsletter-title">Daily Dive</span>
1647                                
1648                                    <span class="secondary-label">M-F</span>
1649                                
1650                            </label>
1651                        </li>
1652                    
1653                        <li>
1654                            <label><span class="screen-reader-text">Select Newsletter:</span></label>
1655                            <input id="newsletter-integrated_menu-checkbox-3172"
1656                                   type="checkbox"
1657                                   name="site_newsletters"
1658                                   value="3172"
1659                                   class="checkbox"
1660                                   
1661                                   />
1662                            <label for="newsletter-integrated_menu-checkbox-3172">
1663                                <span class="newsletter-title">Fintech Weekly</span>
1664                                
1665                                    <span class="secondary-label">Every Wednesday</span>
1666                                
1667                            </label>
1668                        </li>
1669                    
1670                    
1671                
1672                    <li>
1673                        <label><span class="screen-reader-text">Select user consent:</span></label>
1674                        <input type="checkbox" name="user_consent" id="id_user_consent-integrated_menu" value="1" class="checkbox"/>
1675                        <label for="id_user_consent-integrated_menu">
1676                            <span class="signup-user-consent_box">
1677                                <span>
1678    By signing up to receive our newsletter, you agree to our
1679    <a href="https://www.informatechtarget.com/terms-of-use/" target="_blank">Terms of Use</a> and
1680    <a href="https://www.informatechtarget.com/privacy-policy/" target="_blank">Privacy Policy</a>. You can unsubscribe at anytime.
1681</span>
1682
1683                            </span>
1684                        </label>
1685                    </li>
1686                </ul>
1687                
1688                    <button class="button button--medium signup-button" type="submit" value="Sign up">Sign up</button>
1689                
1690                
1691
1692<script type="module" src="/static/js/dist/sendEmailToLytics.bundle.js?162315011026" ></script>
1692
1693
1694                
1695                <label class="error email_error" style="display:none;">A valid email address is required.</label>
1696                <label class="error newsletter-error" style="display:none;">Please select at least one newsletter.</label>
1697            </form>
1698        </div>
1699        
1700
1701        
1702        
1703    
1704
1705            </div>
1706        </section>
1707    
1708    
1709</nav>
1710
1711        
1712    
1713        
1714        
1715        
1716        
1717            
1718<style>
1719  /* Keep this hidden until we need to show the v2 challenge. */
1720  .captcha-container { display: none; }
1721</style>
1722<script>
1723  (function () {
1724    // v3-first, v2-fallback: score on submit via /signup/recaptcha-v3-score/; show checkbox challenge if score is low or v3 fails.
1725
1726    // Shared config: site keys and constants that are the same for every form on the page.
1727    // Set once; subsequent calls (e.g. from _signupform.html on landing pages) are no-ops.
1728    if (!window._signupRecaptchaSharedConfig) {
1729      window._signupRecaptchaSharedConfig = {
1730        v2ContainerSelector: '.captcha-container',
1731        v2ElementSelector: '.g-recaptcha',
1732        submitAction: 'signup_submit',
1733        scoreThreshold: 0.5,
1734        v2SiteKey: '6LfnFggUAAAAAKaDTgN6vqjZtnNENIqa\u002D\u002DTCG9F4',
1735        v3SiteKey: '6Lc\u002DlpYsAAAAAMhweO3XD1__w\u002DvHSSOVRRpARwEM'
1736      };
1737    }
1738
1739    // Register per-form unique configs (only the params that differ per form).
1740    window._signupRecaptchaConfigs = window._signupRecaptchaConfigs || [];
1741    
1742      // Multi-form mode: loop over the list supplied by the context processor.
1743      
1744      window._signupRecaptchaConfigs.push({
1745        key: 'generic_signup',
1746        formSelector: 'form.js\u002Dform\u002Demail\u002Dvalidate[name\u003D\u0022signup\u0022]'
1747      });
1748      
1749      window._signupRecaptchaConfigs.push({
1750        key: 'signup_interstitial',
1751        formSelector: '#signup\u002Dinter\u002Dform'
1752      });
1753      
1754    
1755
1756    // If we've already initialized once, skip doing it again.
1757    if (window._signupRecaptchaBootstrapped) {
1758      return;
1759    }
1760    window._signupRecaptchaBootstrapped = true;
1761
1762    // Strip odd characters so this is safe for dataset keys/callback names.
1763    function safeKey(str) {
1764      return String(str || 'default').replace(/[^a-zA-Z0-9_]/g, '');
1765    }
1766
1767    // Load only the v3 script — it covers both v3 scoring and v2 widget rendering.
1768    // Avoid the plain api.js, which auto-renders all .g-recaptcha elements on load.
1769    function loadRecaptchaScripts(v3SiteKey) {
1770      if (!document.getElementById('signup-recaptcha-v3-script')) {
1771        var v3Script = document.createElement('script');
1772        v3Script.id = 'signup-recaptcha-v3-script';
1773        v3Script.src = 'https://www.google.com/recaptcha/api.js?render=' + encodeURIComponent(v3SiteKey);
1774        document.head.appendChild(v3Script);
1775      }
1776    }
1777
1778    // Get a v3 token, then let our backend verify and score it.
1779    function runV3AndScore(v3SiteKey, actionName) {
1780      return grecaptcha.execute(v3SiteKey, { action: actionName })
1781        .then(function(token) {
1782          return fetch('/signup/recaptcha-v3-score/', {
1783            method: 'POST',
1784            headers: { 'Content-Type': 'application/json' },
1785            body: JSON.stringify({ token: token, action: actionName })
1786          });
1787        })
1788        .then(function(res) { return res.json(); });
1789    }
1790
1791    // Wire recaptcha behavior to each form, merging shared constants with the per-form unique config.
1792    function wireConfig(formConfig, configIndex) {
1793      var shared = window._signupRecaptchaSharedConfig;
1794      var config = {
1795        key: formConfig.key,
1796        formSelector: formConfig.formSelector,
1797        v2ContainerSelector: shared.v2ContainerSelector,
1798        v2ElementSelector: shared.v2ElementSelector,
1799        submitAction: shared.submitAction,
1800        scoreThreshold: shared.scoreThreshold,
1801        v2SiteKey: shared.v2SiteKey,
1802        v3SiteKey: shared.v3SiteKey
1803      };
1804      var forms = document.querySelectorAll(config.formSelector);
1805      forms.forEach(function(form, formIndex) {
1806        // Keep track of whether this form is wired/passed/already waiting on v2.
1807        var key = safeKey(config.key + '_' + configIndex + '_' + formIndex);
1808        var wiredFlag = 'recaptchaWired' + key;
1809        var passedFlag = 'recaptchaPassed' + key;
1810        var awaitingFlag = 'awaitingV2Challenge' + key;
1811
1812        if (form.dataset[wiredFlag] === 'true') {
1813          return;
1814        }
1815        form.dataset[wiredFlag] = 'true';
1816
1817        var recaptchaElement = form.querySelector(config.v2ElementSelector);
1818        var widgetId = null;
1819        var v2WatcherInterval = null;
1820
1821        // Read the v2 response via widgetId, falling back to this form's textarea.
1822        function getV2Response() {
1823          var response = '';
1824          try {
1825            response = widgetId !== null ? grecaptcha.getResponse(widgetId) : '';
1826          } catch (e) {
1827            response = '';
1828          }
1829          if (!response) {
1830            var textarea = form.querySelector('textarea[name="g-recaptcha-response"]');
1831            if (textarea && textarea.value) {
1832              response = textarea.value;
1833            }
1834          }
1835          return response;
1836        }
1837
1838        // Once verified, mark the form so the submit handler lets it pass.
1839        function submitVerifiedForm() {
1840          if (form.dataset[passedFlag] === 'true') {
1841            return;
1842          }
1843          form.dataset[passedFlag] = 'true';
1844          if (form.closest('.inline-signup')) {
1845            form.dispatchEvent(new CustomEvent('recaptcha:verified', { bubbles: false }));
1846            var inlineContainer = form.querySelector(config.v2ContainerSelector);
1847            if (inlineContainer) inlineContainer.style.display = 'none';
1848          }
1849          form.submit();
1850        }
1851
1852        // Show the v2 challenge and poll until we see a response token.
1853        function beginV2Challenge() {
1854          form.dataset[awaitingFlag] = 'true';
1855          var container = form.querySelector(config.v2ContainerSelector);
1856          if (container) container.style.display = 'block';
1857
1858          // Render the v2 widget on first challenge, not on page load.
1859          if (widgetId === null && recaptchaElement) {
1860            try {
1861              widgetId = grecaptcha.render(recaptchaElement, {
1862                sitekey: config.v2SiteKey,
1863                callback: submitVerifiedForm
1864              });
1865            } catch (e) {}
1866          }
1867
1868          if (v2WatcherInterval) {
1869            clearInterval(v2WatcherInterval);
1870          }
1871          v2WatcherInterval = setInterval(function() {
1872            if (form.dataset[passedFlag] === 'true') {
1873              clearInterval(v2WatcherInterval);
1874              return;
1875            }
1876            var response = getV2Response();
1877            if (response) {
1878              clearInterval(v2WatcherInterval);
1879              submitVerifiedForm();
1880            }
1881          }, 250);
1882        }
1883
1884        // Main flow: validation first, then v3 score check, then v2 fallback if needed.
1885        form.addEventListener('submit', function(event) {
1886          if (form.dataset[passedFlag] === 'true') {
1887            return;
1888          }
1889
1890          // If a prior handler (e.g. email/checkbox validation) already stopped submission, bail out.
1891          if (event.defaultPrevented) {
1892            return;
1893          }
1894
1895          event.preventDefault();
1896
1897          if (form.dataset[awaitingFlag] === 'true') {
1898            if (getV2Response()) {
1899              submitVerifiedForm();
1900            } else {
1901              beginV2Challenge();
1902            }
1903            return;
1904          }
1905
1906          grecaptcha.ready(function() {
1907            runV3AndScore(config.v3SiteKey, config.submitAction)
1908              .then(function(data) {
1909                var score = Number(data && data.score);
1910                var recaptchaSuccess = Boolean(data && (data.recaptcha_success || data.success));
1911                var scorePass = !Number.isNaN(score) && score > config.scoreThreshold;
1912
1913                if (recaptchaSuccess && scorePass) {
1914                  submitVerifiedForm();
1915                  return;
1916                }
1917                beginV2Challenge();
1918              })
1919              .catch(function() {
1920                // If v3 fails (network/API), still let real users complete v2.
1921                beginV2Challenge();
1922              });
1923          });
1924        });
1925      });
1926    }
1927
1928    // Wire everything once grecaptcha is available.
1929    function setupAllConfigs() {
1930      if (typeof grecaptcha === 'undefined') {
1931        return false;
1932      }
1933      window._signupRecaptchaConfigs.forEach(function(formConfig, index) {
1934        wireConfig(formConfig, index);
1935      });
1936      return true;
1937    }
1938
1939    document.addEventListener('DOMContentLoaded', function() {
1940      var v3SiteKey = window._signupRecaptchaSharedConfig.v3SiteKey;
1941      if (v3SiteKey) {
1942        loadRecaptchaScripts(v3SiteKey);
1943      }
1944
1945      if (setupAllConfigs()) {
1946        return;
1947      }
1948
1949      // Retry briefly while external recaptcha scripts finish loading.
1950      var attempts = 0;
1951      var interval = setInterval(function() {
1952        attempts += 1;
1953        if (typeof grecaptcha !== 'undefined') {
1954          clearInterval(interval);
1955          setupAllConfigs();
1956        } else if (attempts > 50) {
1957          clearInterval(interval);
1958        }
1959      }, 100);
1960    });
1961  })();
1962</script>
1962
1963
1964        
1965        
1966        <!-- Track signups for Facebook Conversions API -->
1967        
1968
1969<script type="module" src="/static/js/dist/signupValidation.bundle.js?162315011026" ></script>
1969
1970
1971        
1972
1973<script type="module" src="/static/js/dist/gtmEvents.bundle.js?162315011026" ></script>
1973
1974
1975        <!-- Convert straight quotes to curly -->
1976        
1977
1978<script type="module" src="/static/js/dist/smartQuotes.bundle.js?162315011026" ></script>
1978
1979
1980        <!-- HTMX press release analytics -->
1981        
1982            
1983
1984<script type="module" src="/static/js/dist/htmxPressReleaseAnalytics.bundle.js?162315011026" ></script>
1984
1985
1986        
1987
1988        
1989
1990        
1991
1992
1993        
1994
1995        
1995<script>
1996            // Set cookie if we're on mobile app. Expire if we're not. This affects
1997            // which template is used to display the site to the user.
1998            $(document).ready(function() {
1999                // Get integer value of mobileapp param from URL and default to 0 if it doesn't exist
2000                var mobileapp = '';
2001
2002                // Set cookie if mobileapp is 1 or 2 or expire cookie if mobileapp == 0
2003                if (mobileapp == '0') {
2004                    document.cookie = 'mobileapp=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
2005                } else if (mobileapp == '1' || mobileapp == '2') {
2006                    document.cookie = 'mobileapp=' + mobileapp + '; path=/;';
2007                }
2008
2009                // There's no need to immediately load or preload print.css since it's not needed on page
2010                // load. Therefore, load it when the document is ready
2011                var stylesheet=document.createElement("link");
2012                stylesheet.setAttribute("rel", "stylesheet");
2013                stylesheet.setAttribute("type", "text/css");
2014                stylesheet.setAttribute("media", "print");
2015                if (window.location.pathname.includes('trendline')) {
2016                    stylesheet.setAttribute("href", "/static/css/print_trendline.css?012315011026");
2017                }
2018                else {
2019                    stylesheet.setAttribute("href", "/static/css/print.css?012315011026");
2020                }
2021                document.getElementsByTagName("head")[0].appendChild(stylesheet);
2022            });
2023        </script>
2023
2024
2025
2026        
2027
2028        
2029            <!-- Sailthru Horizon -->
2030
2031
2032<!-- 
2032<script type="text/javascript" src="https://ak.sail-horizon.com/horizon/v1.js"></script>
2032 -->
2033
2034<script data-osano="MARKETING" src="https://ak.sail-horizon.com/spm/spm.v1.min.js"></script>
vendor: 1 bytes, line 2034
2034
2035<script type="text/javascript">
2036    $(function() {
2037        // Sailthru Personalization Engine Setup
2038        var sailthru_setup = {
2039            customerId: '12ab35a80530ffa5450add9c09f5de04',
2040            domain: 'horizon.bankingdive.com',
2041            spider: false
2042        };
2043        
2044        if (window.Sailthru) {
2045            Sailthru.init(sailthru_setup);
2046        }
2047    });
2048</script>
2048
2049
2050
2051        
2052        
2053          
2054            
2055
2056
2057<script type="module" src="/static/js/dist/mobileFooterAd.bundle.js?162315011026" ></script>
2057
2058
2059<div class="mobile-footer-ad" id="mobile-footer-ad" role="complementary" aria-label="Advertisement">
2060    <div class="mobile-footer-ad__slot" id="dfp-mobilefooter-mobile"></div>
2061</div>
2062
2063<script data-osano="ESSENTIAL">
2064    window.googletag = window.googletag || { cmd: [] };
2065
2066    googletag.cmd.push(function () {
2067        // GPT serves the largest mapped size that fits, so 300x50 only
2068        // wins below 320px and nothing is requested at 768px and up.
2069        var mobileFooterMapping = googletag.sizeMapping()
2070            .addSize([768, 0], [])
2071            .addSize([320, 0], [[320, 50], [300, 50]])
2072            .addSize([0, 0], [[300, 50]])
2073            .build();
2074
2075        googletag.defineSlot(
2076            '/3618/bankingdive/bankingdivemobile_leaderboard',
2077            [[320, 50], [300, 50]],
2078            'dfp-mobilefooter-mobile'
2079        )
2080            .defineSizeMapping(mobileFooterMapping)
2081            .addService(googletag.pubads());
2082    });
2083
2084    waitToLoadAds.push(function () {
2085        googletag.cmd.push(function () {
2086            if (window.dfp_visibility === 'mobile') {
2087                window.onDvtagReady?.(() => googletag.display('dfp-mobilefooter-mobile'));
2088            }
2089        });
2090    });
2091</script>
2091
2092
2093          
2094        
2095    </body>
2096</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.