Help
RSS
API
Feed
Maltego
Contact
Domain > www.fisherfuneral.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2023-08-20
34.204.162.106
(
ClassC
)
2024-11-06
34.224.186.158
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 06 Nov 2024 02:44:29 GMTContent-Type: text/html; charsetutf-8Content-Length: 147Connection: keep-aliveSet-Cookie: AWSALBSXb7+roZtiXnAq+wgAOvLxd8KmNKoEe7hXG4VAdhzpQwCz461K188CiTsNKxiN0p8xbbN6d2vlp1SXuf4SAwJi8g/RY9spz8mAKYAukMvK5iRorkS+tlT7VyBqmk; ExpiresWed, 13 Nov 2024 02:44:29 GMT; Path/Set-Cookie: AWSALBCORSSXb7+roZtiXnAq+wgAOvLxd8KmNKoEe7hXG4VAdhzpQwCz461K188CiTsNKxiN0p8xbbN6d2vlp1SXuf4SAwJi8g/RY9spz8mAKYAukMvK5iRorkS+tlT7VyBqmk; ExpiresWed, 13 Nov 2024 02:44:29 GMT; Path/; SameSiteNoneCache-Control: private, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400Location: https://www.fisherfuneral.com/Server: Microsoft-IIS/10.0X-Powered-By: ASP.NET html>head>title>Object moved/title>/head>body>h2>Object moved to a hrefhttps://www.fisherfuneral.com/>here/a>./h2>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 06 Nov 2024 02:44:29 GMTContent-Type: text/html; charsetutf-8Content-Length: 198980Connection: keep-aliveSet-Cookie: AWSALBXuOfNEZnOCdP0JtfPl3/MDW0kDFObc8jEXoL1QQCE32SoWl/n3wQztvwOjLOHNloVnQ9be7c2sk32jy4ewbvrKc8NS4GpZ3/Vkx8AlR/08nVG5d7o207wKMXwtLh; ExpiresWed, 13 Nov 2024 02:44:29 GMT; Path/Set-Cookie: AWSALBCORSXuOfNEZnOCdP0JtfPl3/MDW0kDFObc8jEXoL1QQCE32SoWl/n3wQztvwOjLOHNloVnQ9be7c2sk32jy4ewbvrKc8NS4GpZ3/Vkx8AlR/08nVG5d7o207wKMXwtLh; ExpiresWed, 13 Nov 2024 02:44:29 GMT; Path/; SameSiteNone; SecureCache-Control: public, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400, max-age30Expires: Wed, 06 Nov 2024 02:44:59 GMTLast-Modified: Wed, 06 Nov 2024 02:44:29 GMTVary: *Server: Microsoft-IIS/10.0X-AspNetMvc-Version: 5.2X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NET !DOCTYPE html>html xmlnshttps://www.w3.org/1999/xhtml dirltr langen-US xmlns:fbhttps://www.facebook.com/2008/fbml classdahlia>head> meta charsetutf-8 /> meta nameformat-detection contenttelephoneno /> meta http-equivX-UA-Compatible contentIEedge>script typetext/javascript>window.NREUM||(NREUM{});NREUM.info {beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286,transactionName:MV1QZkFVChJUAENdDAgXf2RwGzEMVxFWVwwlV1xGQVsIDVARGH0NAl1K,queueTime:0,applicationTime:36,agent:,atts:}/script>script typetext/javascript>(window.NREUM||(NREUM{})).init{privacy:{cookies_enabled:true},ajax:{deny_list:bam.nr-data.net},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM{})).loader_config{agentID:1286138370,accountID:3087713,trustKey:3080060,xpid:VwYPVlFSCxABVllUBgIPVFwH,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286};;/*! For license information please see nr-loader-spa-1.271.0.min.js.LICENSE.txt */(()>{var e,t,r{8122:(e,t,r)>{use strict;r.d(t,{a:()>i});var nr(944);function i(e,t){try{if(!e||object!typeof e)return(0,n.R)(3);if(!t||object!typeof t)return(0,n.R)(4);const rObject.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o0Object.keys(r).length?e:r;for(let a in o)if(void 0!ea)try{if(nullea){ranull;continue}Array.isArray(ea)&&Array.isArray(ta)?raArray.from(new Set(...ea,...ta)):objecttypeof ea&&objecttypeof ta?rai(ea,ta):raea}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)>{use strict;r.d(t,{Vp:()>c,fn:()>s,x1:()>u});var nr(384),ir(8122);const o{beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a{};function s(e){try{const tc(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(All info objects require an agent identifier!);if(!ae)throw new Error(Info for .concat(e, was never set));return ae}function u(e,t){if(!e)throw new Error(All info objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.infoae)}},9417:(e,t,r)>{use strict;r.d(t,{D0:()>h,gD:()>g,xN:()>p});var nr(993);const ie>{if(!e||string!typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var or(2614),ar(944),sr(384),cr(8122);const udata-nr-mask,d()>{const e{mask_selector:*,block_selector:data-nr-block,mask_input_options:{color:!1,date:!1,datetime-local:!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:,generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},user_actions:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector.concat(t,,).concat(u):t||nullt?e.mask_selectoru:(0,a.R)(5,t)},get block_class(){returnnr-block},get ignore_class(){returnnr-ignore},get mask_text_class(){returnnr-mask},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+,.concat(t):!t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&objecttypeof t?e.mask_input_options{...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0}},l{},fAll configuration objects require an agent identifier!;function h(e){if(!e)throw new Error(f);if(!le)throw new Error(Configuration for .concat(e, was never set));return le}function p(e,t){if(!e)throw new Error(f);le(0,c.a)(t,d());const r(0,s.nY)(e);r&&(r.initle)}function g(e,t){if(!e)throw new Error(f);var rh(e);if(r){for(var nt.split(.),i0;in.length-1;i++)if(object!typeof(rrni))return;rrnn.length-1}return r}},5603:(e,t,r)>{use strict;r.d(t,{a:()>c,o:()>s});var nr(384),ir(8122);const o{accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a{};function s(e){if(!e)throw new Error(All loader-config objects require an agent identifier!);if(!ae)throw new Error(LoaderConfig for .concat(e, was never set));return ae}function c(e,t){if(!e)throw new Error(All loader-config objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.loader_configae)}},3371:(e,t,r)>{use strict;r.d(t,{V:()>f,f:()>l});var nr(8122),ir(384),or(6154),ar(9324);let s0;const c{buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u{customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d{};function l(e){if(!e)throw new Error(All runtime objects require an agent identifier!);if(!de)throw new Error(Runtime for .concat(e, was never set));return de}function f(e,t){if(!e)throw new Error(All runtime objects require an agent identifier!);de{...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(de,harvestCount)||Object.defineProperty(de,harvestCount,{get:()>++s});const r(0,i.nY)(e);r&&(r.runtimede)}},9324:(e,t,r)>{use strict;r.d(t,{F3:()>i,Xs:()>o,Yq:()>a,xv:()>n});const n1.271.0,iPROD,oCDN,a2.0.0-alpha.12},6154:(e,t,r)>{use strict;r.d(t,{A4:()>s,OF:()>d,RI:()>i,WN:()>h,bv:()>o,gm:()>a,lR:()>f,m:()>u,mw:()>c,sb:()>l});var nr(1863);const iundefined!typeof window&&!!window.document,oundefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),ai?window:undefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),scompletea?.document?.readyState,cBoolean(hiddena?.document?.visibilityState),u+a?.location,d/iPad|iPhone|iPod/.test(a.navigator?.userAgent),ld&&undefinedtypeof SharedWorker,f(()>{const ea.navigator?.userAgent?.match(/Firefox/\s(\d+\.\d+)/);return Array.isArray(e)&&e.length>2?+e1:0})(),hDate.now()-(0,n.t)()},7295:(e,t,r)>{use strict;r.d(t,{Xv:()>a,gX:()>i,iW:()>o});var n;function i(e){if(!e||o(e))return!1;if(0n.length)return!0;for(var t0;tn.length;t++){var rnt;if(*r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0e.hostname}function a(e){if(n,e&&e.length)for(var t0;te.length;t++){let ret;if(!r)continue;0r.indexOf(http://)?rr.substring(7):0r.indexOf(https://)&&(rr.substring(8));const ir.indexOf(/);let o,a;i>0?(or.substring(0,i),ar.substring(i)):(or,a);letso.split(:);n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)t.length-e.length}function c(e,t){return 0e.indexOf(/)&&(ee.substring(1)),0t.indexOf(/)&&(tt.substring(1)),e||et}},1687:(e,t,r)>{use strict;r.d(t,{Ak:()>c,Ze:()>l,x3:()>u});var nr(7836),ir(3606),or(860),ar(2646);const s{};function c(e,t){const r{staged:!1,priority:o.Pt||0};d(e),se.get(t)||se.set(t,r)}function u(e,t){e&&se&&(se.get(t)&&se.delete(t),h(e,t,!1),se.size&&f(e))}function d(e){if(!e)throw new Error(agentIdentifier required);se||(senew Map)}function l(e,tfeature,r!1){if(d(e),!e||!se.get(t)||r)return h(e,t);se.get(t).staged!0,f(e)}function f(e){const tArray.from(se);t.every(((e,t)>t.staged))&&(t.sort(((e,t)>e1.priority-t1.priority)),t.forEach(((t)>{se.delete(t),h(e,t)})))}function h(e,t,r!0){const oe?n.ee.get(e):n.ee,si.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const eo.backlogt,rst;if(r){for(let t0;e&&te.length;++t)p(et,r);Object.entries(r).forEach(((e,t)>{Object.values(t||{}).forEach((t>{t0?.on&&t0?.context()instanceof a.y&&t0.on(e,t1)}))}))}}o.isolatedBacklog||delete st,o.backlogtnull,o.emit(drain-+t,)}}function p(e,t){var re1;Object.values(tr||{}).forEach((t>{var re0;if(t0r){var nt1,ie3,oe2;n.apply(i,o)}}))}},7836:(e,t,r)>{use strict;r.d(t,{P:()>c,ee:()>u});var nr(384),ir(8990),or(3371),ar(2646),sr(5607);const cnr@context:.concat(s.W),ufunction e(t,r){var n{},s{},d{},l!1;try{l16r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f{on:p,addEventListener:p,removeEventListener:function(e,t){var rne;if(!r)return;for(var i0;ir.length;i++)rit&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!o&&(o!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var ah(n),cg(e),dc.length,l0;ld;l++)cl.apply(a,r);var pv()se;p&&p.push(f,e,r,a);return a},get:m,listeners:g,context:h,buffer:function(e,t){const rv();if(tt||feature,f.aborted)return;Object.entries(e||{}).forEach(((e,n)>{snt,t in r||(rt)}))},abort:function(){f._aborted!0,Object.keys(f.backlog).forEach((e>{delete f.backloge}))},isBuffering:function(e){return!!v()se},debugId:r,backlog:l?{}:t&&objecttypeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,aborted,{get:()>{let ef._aborted||!1;return e||(t&&(et.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()>new a.y(c))):new a.y(c)}function p(e,t){neg(e).concat(t)}function g(e){return ne||}function m(t){return dtdt||e(f,t)}function v(){return f.backlog}}(void 0,globalEE),d(0,n.Zm)();d.ee||(d.eeu)},2646:(e,t,r)>{use strict;r.d(t,{y:()>n});class n{constructor(e){this.contextIde}}},9908:(e,t,r)>{use strict;r.d(t,{d:()>n,p:()>i});var nr(7836).ee.get(handle);function i(e,t,r,i,o){o?(o.buffer(e,i),o.emit(e,t,r)):(n.buffer(e,i),n.emit(e,t,r))}},3606:(e,t,r)>{use strict;r.d(t,{i:()>o});var nr(9908);o.ona;var io.handlers{};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(ofeature),e||(en.d);var atoto||{};(arar||).push(e,i)}},3878:(e,t,r)>{use strict;function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()>o,jT:()>n,sp:()>i})},5607:(e,t,r)>{use strict;r.d(t,{W:()>n});const n(0,r(9566).bz)()},9566:(e,t,r)>{use strict;r.d(t,{LA:()>s,ZF:()>c,bz:()>a,el:()>u});var nr(6154);const ixxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx;function o(e,t){return e?15&et:16*Math.random()|0}function a(){const en.gm?.crypto||n.gm?.msCrypto;let t,r0;return e&&e.getRandomValues&&(te.getRandomValues(new Uint8Array(30))),i.split().map((e>xe?o(t,r++).toString(16):ye?(3&o()|8).toString(16):e)).join()}function s(e){const tn.gm?.crypto||n.gm?.msCrypto;let r,i0;t&&t.getRandomValues&&(rt.getRandomValues(new Uint8Array(e)));const a;for(var s0;se;s++)a.push(o(r,i++).toString(16));return a.join()}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)>{use strict;r.d(t,{BB:()>a,H3:()>n,g:()>u,iL:()>c,tS:()>s,uh:()>i,wk:()>o});const nNRBA,iSESSION,o144e5,a18e5,s{STARTED:session-started,PAUSE:session-pause,RESET:session-reset,RESUME:session-resume,UPDATE:session-update},c{SAME_TAB:same-tab,CROSS_TAB:cross-tab},u{OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)>{use strict;function n(){return Math.floor(performance.now())}r.d(t,{t:()>n})},7485:(e,t,r)>{use strict;r.d(t,{D:()>i});var nr(6154);function i(e){if(0(e||).indexOf(data:))return{protocol:data};try{const tnew URL(e,location.href),r{port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(:)),sameOrigin:t.protocoln.gm?.location?.protocol&&t.hostn.gm?.location?.host};return r.port&&!r.port||(http:t.protocol&&(r.port80),https:t.protocol&&(r.port443)),r.pathname&&!r.pathname?r.pathname.startsWith(/)||(r.pathname/.concat(r.pathname)):r.pathname/,r}catch(e){return{}}}},944:(e,t,r)>{use strict;function n(e,t){functiontypeof console.debug&&console.debug(New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#.concat(e),t)}r.d(t,{R:()>n})},5284:(e,t,r)>{use strict;r.d(t,{t:()>c,B:()>s});var nr(7836),ir(6154);const onewrelic;const anew Set,s{};function c(e,t){const rn.ee.get(t);st??{},e&&objecttypeof e&&(a.has(t)||(r.emit(rumresp,e),ste,a.add(t),function(e{}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)>{use strict;r.d(t,{I:()>i});var nObject.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return et;var ir();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return eti,i}},6389:(e,t,r)>{use strict;function n(e,t500,r{}){const nr?.leading||!1;let i;return(...r)>{n&&void 0i&&(e.apply(this,r),isetTimeout((()>{iclearTimeout(i)}),t)),n||(clearTimeout(i),isetTimeout((()>{e.apply(this,r)}),t))}}function i(e){let t!1;return(...r)>{t||(t!0,e.apply(this,r))}}r.d(t,{J:()>i,s:()>n})},3304:(e,t,r)>{use strict;r.d(t,{A:()>o});var nr(7836);const i()>{const enew WeakSet;return(t,r)>{if(objecttypeof r&&null!r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??}catch(e){try{n.ee.emit(internal-error,e)}catch(e){}return}}},5289:(e,t,r)>{use strict;r.d(t,{GG:()>o,sB:()>a});var nr(3878);function i(){returnundefinedtypeof document||completedocument.readyState}function o(e,t){if(i())return e();(0,n.sp)(load,e,t)}function a(e){if(i())return e();(0,n.DD)(DOMContentLoaded,e)}},384:(e,t,r)>{use strict;r.d(t,{NT:()>o,US:()>d,Zm:()>a,bQ:()>c,dV:()>s,nY:()>u,pV:()>l});var nr(6154),ir(1863);const o{beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net};function a(){return n.gm.NREUM||(n.gm.NREUM{}),void 0n.gm.newrelic&&(n.gm.newrelicn.gm.NREUM),n.gm.NREUM}function s(){let ea();return e.o||(e.o{ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let ra();r.initializedAgents??{},t.initializedAt{ms:(0,i.t)(),date:new Date},r.initializedAgentset}function u(e){let ta();return t.initializedAgents?.e}function d(e,t){a()et}function l(){return function(){let ea();const te.info||{};e.info{beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let ea();const te.init||{};e.init{...t}}(),s(),function(){let ea();const te.loader_config||{};e.loader_config{...t}}(),a()}},2843:(e,t,r)>{use strict;r.d(t,{u:()>i});var nr(3878);function i(e,t!1,r,i){(0,n.DD)(visibilitychange,(function(){if(t)return void(hiddendocument.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)>{use strict;r.d(t,{u:()>f});var nr(7836),ir(3434),or(8990),ar(6154);const s{},ca.gm.XMLHttpRequest,uaddEventListener,dremoveEventListener,lnr@wrapped:.concat(n.P);function f(e){var tfunction(e){return(e||n.ee).get(events)}(e);if(st.debugId++)return t;st.debugId1;var r(0,i.YM)(t,!0);function f(e){r.inPlace(e,u,d,-,p)}function p(e,t){return e1}returngetPrototypeOfin Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+-start,(function(e,t){var ne1;if(null!n&&(functiontypeof n||objecttypeof n)){var i(0,o.I)(n,l,(function(){var e{object:function(){if(function!typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}typeof n;return e?r(e,fn-,null,e.name||anonymous):n}));this.wrappede1i}})),t.on(d+-start,(function(e){e1this.wrapped||e1})),t}function h(e,t,...r){let ne;for(;objecttypeof n&&!Object.prototype.hasOwnProperty.call(n,u);)nObject.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)>{use strict;r.d(t,{Jt:()>o,YM:()>c});var nr(7836),ir(5607);const onr@original:.concat(i.W);var aObject.prototype.hasOwnProperty,s!1;function c(e,t){return e||(en.ee),r.inPlacefunction(e,t,n,i,o){n||(n);const a-n.charAt(0);for(let s0;st.length;s++){const cts,uec;d(u)||(ecr(u,a?c+n:n,i,c,o))}},r.flago,r;function r(t,r,n,s,c){return d(t)?t:(r||(r),nrWrapperot,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return er},set:function(t){return ert,t}})})),t}catch(e){u(e,r)}for(var n in e)a.call(e,n)&&(tnen)}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{athis,o...arguments,dfunctiontypeof n?n(o,a):n||{}}catch(t){u(t,,o,a,s,d,e)}i(r+start,o,a,s,d,c);try{return lt.apply(a,o)}catch(e){throw i(r+err,o,a,e,d,c),e}finally{i(r+end,o,a,l,d,c)}}}function i(r,n,i,o){if(!s||t){var as;s!0;try{e.emit(r,n,i,t,o)}catch(t){u(t,r,n,i,e)}sa}}}function u(e,t){t||(tn.ee);try{t.emit(internal-error,e)}catch(e){}}function d(e){return!(e&&functiontypeof e&&e.apply&&!eo)}},9300:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.ajax},3333:(e,t,r)>{use strict;r.d(t,{TZ:()>n,Zp:()>i,mq:()>s,nf:()>a,qN:()>o});const nr(860).K.genericEvents,iauxclick,click,copy,keydown,paste,scrollend,ofocus,blur,a4,s1e3},6774:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.jserrors},993:(e,t,r)>{use strict;r.d(t,{ET:()>o,TZ:()>a,p_:()>i});var nr(860);const i{ERROR:ERROR,WARN:WARN,INFO:INFO,DEBUG:DEBUG,TRACE:TRACE},olog,an.K.logging},3785:(e,t,r)>{use strict;r.d(t,{R:()>c,b:()>u});var nr(9908),ir(1863),or(860),ar(3969),sr(993);function c(e,t,r{},cs.p_.INFO){(0,n.p)(a.xV,API/logging/.concat(c.toLowerCase(),/called),void 0,o.K.metrics,e),(0,n.p)(s.ET,(0,i.t)(),t,r,c,void 0,o.K.logging,e)}function u(e){returnstringtypeof e&&Object.values(s.p_).some((t>te.toUpperCase().trim()))}},3969:(e,t,r)>{use strict;r.d(t,{TZ:()>n,XG:()>s,rs:()>i,xV:()>a,z_:()>o});const nr(860).K.metrics,ism,ocm,astoreSupportabilityMetrics,sstoreEventMetrics},6630:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewEvent},782:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewTiming},6344:(e,t,r)>{use strict;r.d(t,{BB:()>d,G4:()>o,Qb:()>l,TZ:()>i,Ug:()>a,_s:()>s,bc:()>u,yP:()>c});var nr(2614);const ir(860).K.sessionReplay,o{RECORD:recordReplay,PAUSE:pauseReplay,REPLAY_RUNNING:replayRunning,ERROR_DURING_REPLAY:errorDuringReplay},a.12,s{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c{n.g.ERROR:15e3,n.g.FULL:3e5,n.g.OFF:0},u{RESET:{message:Session was reset,sm:Reset},IMPORT:{message:Recorder failed to import,sm:Import},TOO_MANY:{message:429: Too Many Requests,sm:Too-Many},TOO_BIG:{message:Payload was too large,sm:Too-Big},CROSS_TAB:{message:Session Entity was set to OFF on another tab,sm:Cross-Tab},ENTITLEMENTS:{message:Session Replay is not allowed and will not be started,sm:Entitlement}},d5e3,l{API:api}},5270:(e,t,r)>{use strict;r.d(t,{Aw:()>c,CT:()>u,SR:()>s});var nr(384),ir(9417),or(7767),ar(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0(0,i.gD)(e,session_trace.enabled)}function c(e){return!0(0,i.gD)(e,session_replay.preload)&&s(e)}function u(e,t){const rt.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)>{use strict;r.d(t,{He:()>i,Kp:()>s,Lc:()>u,Rz:()>d,TZ:()>n,bD:()>o,d3:()>a,jx:()>l,uP:()>c});const nr(860).K.sessionTrace,ibstResource,oresource,a-start,s-end,cfn+a,ufn+s,dpushState,l1e3},3962:(e,t,r)>{use strict;r.d(t,{AM:()>o,O2:()>s,Qu:()>c,TZ:()>a,ih:()>u,tC:()>i});var nr(860);const iclick,keydown,submit,oapi,an.K.softNav,s{INITIAL_PAGE_LOAD:,ROUTE_CHANGE:1,UNSPECIFIED:2},c{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u{IP:in progress,FIN:finished,CAN:cancelled}},7378:(e,t,r)>{use strict;r.d(t,{$p:()>x,BR:()>b,Kp:()>R,L3:()>y,Lc:()>c,NC:()>o,SG:()>d,TZ:()>i,U6:()>p,UT:()>m,d3:()>w,dT:()>f,e5:()>A,gx:()>v,l9:()>l,oW:()>h,op:()>g,rw:()>u,tH:()>E,uP:()>s,wW:()>T,xq:()>a});var nr(384);const ir(860).K.spa,oclick,submit,keypress,keydown,keyup,change,a999,sfn-start,cfn-end,ucb-start,dapi-ixn-,lremaining,finteraction,hspaNode,pjsonpNode,gfetch-start,mfetch-done,vfetch-body-,bjsonp-end,y(0,n.dV)().o.ST,w-start,R-end,x-body,Tcb+R,AjsTime,Efetch},4234:(e,t,r)>{use strict;r.d(t,{W:()>o});var nr(7836),ir(1687);class o{constructor(e,t){this.agentIdentifiere,this.een.ee.get(e),this.featureNamet,this.blocked!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)>{use strict;r.d(t,{V:()>o});var nr(9417),ir(6154);const oe>i.RI&&!0(0,n.gD)(e,privacy.cookies_enabled)},425:(e,t,r)>{use strict;r.d(t,{j:()>j});var nr(860),ir(2555),or(3371),ar(9908),sr(7836),cr(1687),ur(5289),dr(6154),lr(944),fr(3969),hr(384),pr(6344);const gsetErrorHandler,finished,addToTrace,addRelease,addPageAction,setCurrentRouteName,setPageViewName,setCustomAttribute,interaction,noticeError,setUserId,setApplicationVersion,start,p.G4.RECORD,p.G4.PAUSE,log,wrapLogger,msetErrorHandler,finished,addToTrace,addRelease;var vr(1863),br(2614),yr(993),wr(3785),Rr(2646),xr(3434);function T(e,t,r,n){if(object!typeof t||!t||string!typeof r||!r||function!typeof tr)return(0,l.R)(29);const ifunction(e){return(e||s.ee).get(logger)}(e),o(0,x.YM)(i),anew R.y(s.P);return a.leveln.level,a.customAttributesn.customAttributes,o.inPlace(t,r,wrap-logger-,a),i}function A(){const e(0,h.pV)();g.forEach((t>{et(...r)>function(t,...r){let n;return Object.values(e.initializedAgents).forEach((e>{e&&e.api?e.exposed&&e.apit&&n.push(e.apit(...r)):(0,l.R)(38,t)})),n.length>1?n:n0}(t,...r)}))}const E{};var Sr(9417),Nr(5603),Or(5284);const Ie>{const te.startsWith(http);e+/,r.pt?e:https://+e};let _!1;function j(e,t{},g,R){let{init:x,info:j,loader_config:P,runtime:C{},exposed:k!0}t;C.loaderTypeg;const L(0,h.pV)();j||(xL.init,jL.info,PL.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??{},d.bv&&(j.jsAttributes.isWorker!0),(0,i.x1)(e.agentIdentifier,j);const H(0,S.D0)(e.agentIdentifier),Dj.beacon,j.errorBeacon;_||(H.proxy.assets&&(I(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)(activatedFeatures,O.B),e.runSoftNavOverSpa&&!0H.soft_navigations.enabled&&H.feature_flags.includes(soft_nav)),C.denyList...H.ajax.deny_list||,...H.ajax.block_internal?D:,C.ptide.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ees.ee.get(e.agentIdentifier),void 0e.api&&(e.apifunction(e,t,h!1){t||(0,c.Ak)(e,api);const g{};var Rs.ee.get(e),xR.get(tracer);Eeb.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t>{Eet}));var Aapi-,SA+ixn-;function N(t,r,n,o){const a(0,i.Vp)(e);return nullr?delete a.jsAttributest:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,t:r}}),_(A,n,!0,o||nullr?session:void 0)(t,r)}function O(){}g.logfunction(e,{customAttributes:t{},level:ry.p_.INFO}{}){(0,a.p)(f.xV,API/log/called,void 0,n.K.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger(e,t,{customAttributes:r{},level:iy.p_.INFO}{})>{(0,a.p)(f.xV,API/wrapLogger/called,void 0,n.K.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e>{ge_(A,e,!0,api)})),g.addPageAction_(A,addPageAction,!0,n.K.genericEvents),g.setPageViewNamefunction(t,r){if(stringtypeof t)return/!t.charAt(0)&&(t/+t),(0,o.f)(e).customTransaction(r||http://custom.transaction)+t,_(A,setPageViewName,!0)()},g.setCustomAttributefunction(e,t,r!1){if(stringtypeof e){if(string,number,boolean.includes(typeof t)||nullt)return N(e,t,setCustomAttribute,r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserIdfunction(e){if(stringtypeof e||nulle)return N(enduser.id,e,setUserId,!0);(0,l.R)(41,typeof e)},g.setApplicationVersionfunction(e){if(stringtypeof e||nulle)return N(application.version,e,setApplicationVersion,!1);(0,l.R)(42,typeof e)},g.start()>{try{(0,a.p)(f.xV,API/start/called,void 0,n.K.metrics,R),R.emit(manual-start-all)}catch(e){(0,l.R)(23,e)}},gp.G4.RECORDfunction(){(0,a.p)(f.xV,API/recordReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.RECORD,,void 0,n.K.sessionReplay,R)},gp.G4.PAUSEfunction(){(0,a.p)(f.xV,API/pauseReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.PAUSE,,void 0,n.K.sessionReplay,R)},g.interactionfunction(e){return(new O).get(objecttypeof e?e:{})};const IO.prototype{createTracer:function(e,t){var r{},ithis,ofunctiontypeof t;return(0,a.p)(f.xV,API/createTracer/called,void 0,n.K.metrics,R),h||(0,a.p)(S+tracer,(0,v.t)(),e,r,i,n.K.spa,R),function(){if(x.emit((o?:no-)+fn-start,(0,v.t)(),i,o,r),o)try{return t.apply(this,arguments)}catch(e){const tstringtypeof e?new Error(e):e;throw x.emit(fn-err,arguments,this,t,r),t}finally{x.emit(fn-end,(0,v.t)(),r)}}}};function _(e,t,r,i){return function(){return(0,a.p)(f.xV,API/+t+/called,void 0,n.K.metrics,R),i&&(0,a.p)(e+t,(0,v.t)(),...arguments,r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})>{t(e),(0,c.Ze)(e,api)})).catch((e>{(0,l.R)(27,e),R.abort()}))}returnactionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get.forEach((e>{Ie_(S,e,void 0,h?n.K.softNav:n.K.spa)})),g.setCurrentRouteNameh?_(S,routeName,void 0,n.K.softNav):_(A,routeName,!0,n.K.spa),g.noticeErrorfunction(t,r){stringtypeof t&&(tnew Error(t)),(0,a.p)(f.xV,API/noticeError/called,void 0,n.K.metrics,R),(0,a.p)(err,t,(0,v.t)(),!1,r,!!Ee,void 0,n.K.jserrors,R)},d.RI?(0,u.GG)((()>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0e.exposed&&(e.exposedk),_!0}},8374:(e,t,r)>{r.nc(()>{try{return document?.currentScript?.nonce}catch(e){}return})()},860:(e,t,r)>{use strict;r.d(t,{K:()>n,P:()>i});const n{ajax:ajax,genericEvents:generic_events,jserrors:jserrors,logging:logging,metrics:metrics,pageAction:page_action,pageViewEvent:page_view_event,pageViewTiming:page_view_timing,sessionReplay:session_replay,sessionTrace:session_trace,softNav:soft_navigations,spa:spa},i{n.pageViewEvent:1,n.pageViewTiming:2,n.metrics:3,n.jserrors:4,n.spa:5,n.ajax:6,n.sessionTrace:7,n.softNav:8,n.sessionReplay:9,n.logging:10,n.genericEvents:11}}},n{};function i(e){var tne;if(void 0!t)return t.exports;var one{exports:{}};return re(o,o.exports,i),o.exports}i.mr,i.d(e,t)>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:tr})},i.f{},i.ee>Promise.all(Object.keys(i.f).reduce(((t,r)>(i.fr(e,t),t)),)),i.ue>({212:nr-spa-compressor,249:nr-spa-recorder,478:nr-spa}e+-1.271.0.min.js),i.o(e,t)>Object.prototype.hasOwnProperty.call(e,t),e{},tNRBA-1.271.0.PROD:,i.l(r,n,o,a)>{if(er)er.push(n);else{var s,c;if(void 0!o)for(var udocument.getElementsByTagName(script),d0;du.length;d++){var lud;if(l.getAttribute(src)r||l.getAttribute(data-webpack)t+o){sl;break}}if(!s){c!0;var f{478:sha512-Ju42UKn3bed+LffSzRHB8eYie0+biqRzN7k8HHw2TRTLGeoFxsvOa56QdvzNHoF3m0+rq5TyW6FCkg7QyLWd9g,249:sha512-MF9h/cTFIEQE9X72v8MxkXraxwTipoKap/TxXV5L5lsTx9c5YgSNfyFlEXl1lktyx7CAGvwFbSGNK0SJj4mlDw,212:sha512-OIG474PJEDkknZqm52iQ9BencLstvJ6kSCLi+ZxjbMB15iAx3XyQwzc1zmr6Fz+aWuEnZD/s3zqe8O09v3nLvg};(sdocument.createElement(script)).charsetutf-8,s.timeout120,i.nc&&s.setAttribute(nonce,i.nc),s.setAttribute(data-webpack,t+o),s.srcr,0!s.src.indexOf(window.location.origin+/)&&(s.crossOriginanonymous),fa&&(s.integrityfa)}ern;var h(t,n)>{s.onerrors.onloadnull,clearTimeout(p);var ier;if(delete er,s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e>e(n))),t)return t(n)},psetTimeout(h.bind(null,void 0,{type:timeout,target:s}),12e4);s.onerrorh.bind(null,s.onerror),s.onloadh.bind(null,s.onload),c&&document.head.appendChild(s)}},i.re>{undefined!typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:Module}),Object.defineProperty(e,__esModule,{value:!0})},i.phttps://js-agent.newrelic.com/,(()>{var e{38:0,788:0};i.f.j(t,r)>{var ni.o(e,t)?et:void 0;if(0!n)if(n)r.push(n2);else{var onew Promise(((r,i)>netr,i));r.push(n2o);var ai.p+i.u(t),snew Error;i.l(a,(r>{if(i.o(e,t)&&(0!(net)&&(etvoid 0),n)){var or&&(loadr.type?missing:r.type),ar&&r.target&&r.target.src;s.messageLoading chunk +t+ failed.\n(+o+: +a+),s.nameChunkLoadError,s.typeo,s.requesta,n1(s)}}),chunk-+t,t)}};var t(t,r)>{var n,o,a,s,cr,u0;if(a.some((t>0!et))){for(n in s)i.o(s,n)&&(i.mnsn);if(c)c(i)}for(t&&t(r);ua.length;u++)oau,i.o(e,o)&&eo&&eo0(),eo0},rselfwebpackChunk:NRBA-1.271.0.PRODselfwebpackChunk:NRBA-1.271.0.PROD||;r.forEach(t.bind(null,0)),r.pusht.bind(null,r.push.bind(r))})(),(()>{use strict;i(8374);var ei(944),ti(6344),ri(9566);class n{agentIdentifier;constructor(e(0,r.LA)(16)){this.agentIdentifiere}#e(t,...r){if(functiontypeof this.api?.t)return this.apit(...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(addPageAction,e,t)}setPageViewName(e,t){return this.#e(setPageViewName,e,t)}setCustomAttribute(e,t,r){return this.#e(setCustomAttribute,e,t,r)}noticeError(e,t){return this.#e(noticeError,e,t)}setUserId(e){return this.#e(setUserId,e)}setApplicationVersion(e){return this.#e(setApplicationVersion,e)}setErrorHandler(e){return this.#e(setErrorHandler,e)}finished(e){return this.#e(finished,e)}addRelease(e,t){return this.#e(addRelease,e,t)}start(e){return this.#e(start,e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(addToTrace,e)}setCurrentRouteName(e){return this.#e(setCurrentRouteName,e)}interaction(){return this.#e(interaction)}log(e,t){return this.#e(log,e,t)}wrapLogger(e,t,r){return this.#e(wrapLogger,e,t,r)}}var oi(860),ai(9417);const sObject.values(o.K);function c(e){const t{};return s.forEach((r>{trfunction(e,t){return!0(0,a.gD)(t,.concat(e,.enabled))}(r,e)})),t}var ui(425);var di(1687),li(4234),fi(5289),hi(6154),pi(5270),gi(7767),mi(6389);class v extends l.W{constructor(e,t,r!0){super(e.agentIdentifier,t),this.autor,this.abortHandlervoid 0,this.featAggregatevoid 0,this.onAggregateImportedvoid 0,!1e.initthis.featureName.autoStart&&(this.auto!1),this.auto?(0,d.Ak)(e.agentIdentifier,t):this.ee.on(manual-start-all,(0,m.J)((()>{(0,d.Ak)(e.agentIdentifier,this.featureName),this.auto!0,this.importAggregator(e)})))}importAggregator(t,r{}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImportednew Promise((e>{ne}));const aasync()>{let a;try{if((0,g.V)(this.agentIdentifier)){const{setupAgentSession:e}await i.e(478).then(i.bind(i,6526));ae(this.agentIdentifier)}}catch(t){(0,e.R)(20,t),this.ee.emit(internal-error,t),this.featureNameo.K.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregatori.e(478).then(i.bind(i,5987));const{Aggregator:e}await t.sharedAggregator;t.sharedAggregatornew e}if(!this.#t(this.featureName,a))return(0,d.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}await i.e(478).then(i.bind(i,6103)),{Aggregate:o}await e(this.featureName,aggregate);this.featAggregatenew o(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,d.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};h.RI?(0,f.GG)((()>a()),!0):a()}#t(e,t){switch(e){case o.K.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case o.K.sessionTrace:return!!t;default:return!0}}}var bi(6630);class y extends v{static featureNameb.T;constructor(e,t!0){super(e,b.T,t),this.importAggregator(e)}}var wi(384);var Ri(9908),xi(2843),Ti(3878),Ai(782),Ei(1863);class S extends v{static featureNameA.T;constructor(e,t!0){super(e,A.T,t),h.RI&&((0,x.u)((()>(0,R.p)(docHidden,(0,E.t)(),void 0,A.T,this.ee)),!0),(0,T.sp)(pagehide,(()>(0,R.p)(winPagehide,(0,E.t)(),void 0,A.T,this.ee))),this.importAggregator(e))}}var Ni(3969);class O extends v{static featureNameN.TZ;constructor(e,t!0){super(e,N.TZ,t),this.importAggregator(e)}}var Ii(6774),_i(3304);class j{constructor(e,t,r,n,i){this.nameUncaughtError,this.messagestringtypeof e?e:(0,_.A)(e),this.sourceURLt,this.liner,this.columnn,this.__newrelici}}function P(e){return L(e)?e:new j(void 0!e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function C(e){const tUnhandled Promise Rejection;if(!e?.reason)return;if(L(e.reason))try{return e.reason.messaget+: +e.reason.message,P(e.reason)}catch(t){return P(e.reason)}const rP(e.reason);return r.messaget+: +r?.message,r}function k(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const tnew j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.nameSyntaxError.name,t}return L(e.error)?e.error:P(e)}function L(e){return e instanceof Error&&!!e.stack}class H extends v{static featureNameI.T;#r!1;constructor(e,r!0){super(e,I.T,r);try{this.removeOnAbortnew AbortController}catch(e){}this.ee.on(internal-error,(e>{this.abortHandler&&(0,R.p)(ierr,P(e),(0,E.t)(),!0,{},this.#r,void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.#re})),h.gm.addEventListener(unhandledrejection,(e>{this.abortHandler&&(0,R.p)(err,C(e),(0,E.t)(),!1,{unhandledPromiseRejection:1},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),h.gm.addEventListener(error,(e>{this.abortHandler&&(0,R.p)(err,k(e),(0,E.t)(),!1,{},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var Di(8990);let M1;const Knr@id;function U(e){const ttypeof e;return!e||object!t&&function!t?-1:eh.gm?0:(0,D.I)(e,K,(function(){return M++}))}function V(e){if(stringtypeof e&&e.length)return e.length;if(objecttypeof e){if(undefined!typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if(undefined!typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!(undefined!typeof FormData&&e instanceof FormData))try{return(0,_.A)(e).length}catch(e){return}}}var Gi(8139),Fi(7836),Bi(3434);const W{},zopen,send;function q(t){var rt||F.ee;const nfunction(e){return(e||F.ee).get(xhr)}(r);if(Wn.debugId++)return n;Wn.debugId1,(0,G.u)(r);var i(0,B.YM)(n),oh.gm.XMLHttpRequest,ah.gm.MutationObserver,sh.gm.Promise,ch.gm.setInterval,ureadystatechange,donload,onerror,onabort,onloadstart,onloadend,onprogress,ontimeout,l,fh.gm.XMLHttpRequestfunction(t){const rnew o(t),an.context(r);try{n.emit(new-xhr,r,a),r.addEventListener(u,(sa,function(){var ethis;e.readyState>3&&!s.resolved&&(s.resolved!0,n.emit(xhr-resolved,,e)),i.inPlace(e,d,fn-,y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(internal-error,t)}catch(e){}}var s;return r};function p(e,t){i.inPlace(t,onreadystatechange,fn-,y)}if(function(e,t){for(var r in e)trer}(o,f),f.prototypeo.prototype,i.inPlace(f.prototype,z,-xhr-,y),n.on(send-xhr-start,(function(e,t){p(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m-m,v.datam))}(t)})),n.on(open-xhr-start,p),a){var gs&&s.resolve();if(!c&&!s){var m1,vdocument.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(fn-end,(function(e){e0&&e0.typeu||b()}));function b(){for(var e0;el.length;e++)p(0,le);l.length&&(l)}function y(e,t){return t}return n}var Zfetch-,YZ+body-,XarrayBuffer,blob,json,text,formData,Jh.gm.Request,Qh.gm.Response,eeprototype;const te{};function re(e){const tfunction(e){return(e||F.ee).get(fetch)}(e);if(!(J&&Q&&h.gm.fetch))return t;if(tet.debugId++)return t;function r(e,r,n){var ier;functiontypeof i&&(erfunction(){var e,r...arguments,o{};t.emit(n+before-start,r,o),oF.P&&oF.P.dt&&(eoF.P.dt);var ai.apply(this,r);return t.emit(n+start,r,e,a),a.then((function(e){return t.emit(n+end,null,e,a),e}),(function(e){throw t.emit(n+end,e,a),e}))})}return tet.debugId1,X.forEach((e>{r(Jee,e,Y),r(Qee,e,Y)})),r(h.gm,fetch,Z),t.on(Z+end,(function(e,r){var nthis;if(r){var ir.headers.get(content-length);null!i&&(n.rxSizei),t.emit(Z+done,null,r,n)}else t.emit(Z+done,e,n)})),t}var nei(7485),iei(5603);class oe{constructor(e){this.agentIdentifiere}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t(0,ie.o)(this.agentIdentifier);if(!t)return null;var n(t.accountID||).toString()||null,i(t.agentID||).toString()||null,o(t.trustKey||).toString()||null;if(!n||!i)return null;var a(0,r.ZF)(),s(0,r.el)(),cDate.now(),u{spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeaderthis.generateTraceContextParentHeader(a,s),u.traceContextStateHeaderthis.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeaderthis.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return00-+t+-+e+-01}generateTraceContextStateHeader(e,t,r,n,i){return i+@nr0-1-+r+-+n+-+e+----+t}generateTraceHeader(e,t,r,n,i,o){if(!(functiontypeof h.gm?.btoa))return null;var a{v:0,1,d:{ty:Browser,ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!o&&(a.d.tko),btoa((0,_.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t!1,r{};if((0,a.gD)(this.agentIdentifier,distributed_tracing)&&(r(0,a.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t!0;else if(r.allowed_origins instanceof Array)for(var n0;nr.allowed_origins.length;n++){var i(0,ne.D)(r.allowed_originsn);if(e.hostnamei.hostname&&e.protocoli.protocol&&e.porti.port){t!0;break}}return t}isDtEnabled(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.enabled}excludeNewrelicHeader(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!1!e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.cors_use_tracecontext_headers}}var aei(9300),sei(7295),ceload,error,abort,timeout,uece.length,de(0,w.dV)().o.REQ,le(0,w.dV)().o.XHR;class fe extends v{static featureNameae.T;constructor(e,t!0){super(e,ae.T,t),this.dtnew oe(e.agentIdentifier),this.handler(e,t,r,n)>(0,R.p)(e,t,r,n,this.ee);try{const e{xmlhttprequest:xhr,fetch:fetch,beacon:beacon};h.gm?.performance?.getEntriesByType(resource).forEach((t>{if(t.initiatorType in e&&0!t.responseStatus){const r{status:t.responseStatus},n{rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};he(r,t.name),this.handler(xhr,r,n,t.startTime,t.responseEnd,et.initiatorType,void 0,o.K.ajax)}}))}catch(e){}re(this.ee),q(this.ee),function(e,t,r,n){function i(e){var tthis;t.totalCbs0,t.called0,t.cbTime0,t.endx,t.ended!1,t.xhrGuids{},t.lastSizenull,t.loadCaptureCalled!1,t.paramsthis.params||{},t.metricsthis.metrics||{},e.addEventListener(load,(function(r){A(t,e)}),(0,T.jT)(!1)),h.lR||e.addEventListener(progress,(function(e){t.lastSizee.loaded}),(0,T.jT)(!1))}function a(e){this.params{method:e0},he(this,e1),this.metrics{}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader(X-NewRelic-ID,e.loader_config.xpid);var in.generateTracePayload(this.parsedOrigin);if(i){var o!1;i.newrelicHeader&&(r.setRequestHeader(newrelic,i.newrelicHeader),o!0),i.traceContextParentHeader&&(r.setRequestHeader(traceparent,i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader(tracestate,i.traceContextStateHeader),o!0),o&&(this.dti)}}function c(e,r){var nthis.metrics,ie0,othis;if(n&&i){var aV(i);a&&(n.txSizea)}this.startTime(0,E.t)(),this.bodyi,this.listenerfunction(e){try{abort!e.type||o.loadCaptureCalled||(o.params.aborted!0),(load!e.type||o.calledo.totalCbs&&(o.onloadCalled||function!typeof r.onload)&&functiontypeof o.end)&&o.end(r)}catch(e){try{t.emit(internal-error,e)}catch(e){}}};for(var s0;sue;s++)r.addEventListener(ces,this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+e,t?this.onloadCalled!0:this.called+1,this.called!this.totalCbs||!this.onloadCalled&&functiontypeof r.onload||function!typeof this.end||this.end(r)}function d(e,t){var r+U(e)+!!t;this.xhrGuids&&!this.xhrGuidsr&&(this.xhrGuidsr!0,this.totalCbs+1)}function l(e,t){var r+U(e)+!!t;this.xhrGuids&&this.xhrGuidsr&&(delete this.xhrGuidsr,this.totalCbs-1)}function f(){this.endTime(0,E.t)()}function p(e,r){r instanceof le&&loade0&&t.emit(xhr-load-added,e1,e2,r)}function g(e,r){r instanceof le&&loade0&&t.emit(xhr-load-removed,e1,e2,r)}function m(e,t,r){t instanceof le&&(onloadr&&(this.onload!0),(load(e0&&e0.type)||this.onload)&&(this.xhrCbStart(0,E.t)()))}function v(e,r){this.xhrCbStart&&t.emit(xhr-cb-time,(0,E.t)()-this.xhrCbStart,this.onload,r,r)}function b(e){var t,re1||{};if(stringtypeof e0?0(te0).length&&h.RI&&(t+h.gm.location.href):e0&&e0.url?te0.url:h.gm?.URL&&e0&&e0instanceof URL?te0.href:functiontypeof e0.toString&&(te0.toString()),stringtypeof t&&0!t.length){t&&(this.parsedOrigin(0,ne.D)(t),this.sameOriginthis.parsedOrigin.sameOrigin);var in.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e0&&e0.headers)s(e0.headers,i)&&(this.dti);else{var o{};for(var a in r)oara;o.headersnew Headers(r.headers||{}),s(o.headers,i)&&(this.dti),e.length>1?e1o:e.push(o)}}function s(e,t){var r!1;return t.newrelicHeader&&(e.set(newrelic,t.newrelicHeader),r!0),t.traceContextParentHeader&&(e.set(traceparent,t.traceContextParentHeader),t.traceContextStateHeader&&e.set(tracestate,t.traceContextStateHeader),r!0),r}}function y(e,t){this.params{},this.metrics{},this.startTime(0,E.t)(),this.dtt,e.length>1&&(this.targete0),e.length>2&&(this.optse1);var r,nthis.opts||{},ithis.target;stringtypeof i?ri:objecttypeof i&&i instanceof de?ri.url:h.gm?.URL&&objecttypeof i&&i instanceof URL&&(ri.href),he(this,r);var o(+(i&&i instanceof de&&i.method||n.method||GET)).toUpperCase();this.params.methodo,this.bodyn.body,this.txSizeV(n.body)||0}function w(e,t){if(this.endTime(0,E.t)(),this.params||(this.params{}),(0,se.iW)(this.params))return;let n;this.params.statust?t.status:0,stringtypeof this.rxSize&&this.rxSize.length>0&&(n+this.rxSize);const i{txSize:this.txSize,rxSize:n,duration:(0,E.t)()-this.startTime};r(xhr,this.params,i,this.startTime,this.endTime,fetch,this,o.K.ajax)}function x(e){const tthis.params,nthis.metrics;if(!this.ended){this.ended!0;for(let t0;tue;t++)e.removeEventListener(cet,this.listener,!1);t.aborted||(0,se.iW)(t)||(n.duration(0,E.t)()-this.startTime,this.loadCazptureCalled||4!e.readyState?nullt.status&&(t.status0):A(this,e),n.cbTimethis.cbTime,r(xhr,t,n,this.startTime,this.endTime,xhr,this,o.K.ajax))}}function A(e,r){e.params.statusr.status;var nfunction(e,t){var re.responseType;returnjsonr&&null!t?t:arraybufferr||blobr||jsonr?V(e.response):textr||r||void 0r?V(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSizen),e.sameOrigin){var ir.getResponseHeader(X-NewRelic-App-Data);i&&((0,R.p)(N.rs,Ajax/CrossApplicationTracing/Header/Seen,void 0,o.K.metrics,t),e.params.cati.split(, ).pop())}e.loadCaptureCalled!0}t.on(new-xhr,i),t.on(open-xhr-start,a),t.on(open-xhr-end,s),t.on(send-xhr-start,c),t.on(xhr-cb-time,u),t.on(xhr-load-added,d),t.on(xhr-load-removed,l),t.on(xhr-resolved,f),t.on(addEventListener-end,p),t.on(removeEventListener-end,g),t.on(fn-end,v),t.on(fetch-before-start,b),t.on(fetch-start,y),t.on(fn-start,m),t.on(fetch-done,w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function he(e,t){var r(0,ne.D)(t),ne.params||e;n.hostnamer.hostname,n.portr.port,n.protocolr.protocol,n.hostr.hostname+:+r.port,n.pathnamer.pathname,e.parsedOriginr,e.sameOriginr.sameOrigin}const pe{},gepushState,replaceState;function me(e){const tfunction(e){return(e||F.ee).get(history)}(e);return!h.RI||pet.debugId++||(pet.debugId1,(0,B.YM)(t).inPlace(window.history,ge,-)),t}var vei(3738);const{He:be,bD:ye,d3:we,Kp:Re,TZ:xe,Lc:Te,uP:Ae,Rz:Ee}ve;class Se extends v{static featureNamexe;constructor(e,t!0){super(e,xe,t);if(!(0,g.V)(this.agentIdentifier))return void this.deregisterDrain();const rthis.ee;let n;me(r),this.eventsEE(0,G.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart(0,E.t)()})),this.eventsEE.on(Te,(function(e,t){(0,R.p)(bst,e0,t,this.bstStart,(0,E.t)(),void 0,o.K.sessionTrace,r)})),r.on(Ee+we,(function(e){this.time(0,E.t)(),this.startPathlocation.pathname+location.hash})),r.on(Ee+Re,(function(e){(0,R.p)(bstHist,location.pathname+location.hash,this.startPath,this.time,void 0,o.K.sessionTrace,r)}));try{nnew PerformanceObserver((e>{const te.getEntries();(0,R.p)(be,t,void 0,o.K.sessionTrace,r)})),n.observe({type:ye,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Nei(2614);class Oe extends v{static featureNamet.TZ;#i;#o;constructor(e,r!0){let n;super(e,t.TZ,r),this.replayRunning!1,this.#oe;try{nJSON.parse(localStorage.getItem(.concat(Ne.H3,_).concat(Ne.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()>this.#a())),this.#s(n)?(this.#in?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(err,(e>{this.replayRunning&&(this.errorNoticed!0,(0,R.p)(t.G4.ERROR_DURING_REPLAY,e,void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.replayRunninge}))}#s(e){return e&&(e.sessionReplayModeNe.g.FULL||e.sessionReplayModeNe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u!1;async#c(e){if(!this.#u){this.#u!0;try{const{Recorder:t}await Promise.all(i.e(478),i.e(249)).then(i.bind(i,2496));this.recorder??new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!Ne.g.FULL&&this.featAggregate.initializeRecording(Ne.g.FULL,!0):(this.#iNe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!Ne.g.FULL&&(this.recorder.parent.modeNe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording))}}var Iei(3962);class _e extends v{static featureNameIe.TZ;constructor(e,t!0){if(super(e,Ie.TZ,t),!h.RI||!(0,w.dV)().o.MO)return;const rme(this.ee),n(0,G.u)(this.ee),i()>(0,R.p)(newURL,(0,E.t)(),+window.location,void 0,this.featureName,this.ee);r.on(pushState-end,i),r.on(replaceState-end,i);try{this.removeOnAbortnew AbortController}catch(e){}(0,T.sp)(popstate,(e>(0,R.p)(newURL,e.timeStamp,+window.location,void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let o!1;const anew((0,w.dV)().o.MO)(((e,t)>{o||(o!0,requestAnimationFrame((()>{(0,R.p)(newDom,(0,E.t)(),void 0,this.featureName,this.ee),o!1})))})),s(0,m.s)((e>{(0,R.p)(newUIEvent,e,void 0,this.featureName,this.ee),a.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});n.on(fn-start,((e)>{Ie.tC.includes(e?.type)&&s(e)}));for(let e of Ie.tC)document.addEventListener(e,(()>{}));this.abortHandlerfunction(){this.removeOnAbort?.abort(),a.disconnect(),this.abortHandlervoid 0},this.importAggregator(e,{domObserver:a})}}var jei(7378);const Pe{},CeappendChild,insertBefore,replaceChild;function ke(e){const tfunction(e){return(e||F.ee).get(jsonp)}(e);if(!h.RI||Pet.debugId)return t;Pet.debugId!0;var r(0,B.YM)(t),n/?&(?:callback|cb)(^+)/,i/(.*)\.(^.+)/,o/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const re.match(o),nr1;return a(r3,tn)}return r.inPlace(Node.prototype,Ce,dom-),t.on(dom-start,(function(e){!function(e){if(!e||string!typeof e.nodeName||script!e.nodeName.toLowerCase())return;if(function!typeof e.addEventListener)return;var o(se.src,cs.match(n),c?c1:null);var s,c;if(!o)return;var ufunction(e){var te.match(i);if(t&&t.length>3)return{key:t2,parent:a(t1,window)};return{key:e,parent:window}}(o);if(function!typeof u.parentu.key)return;var d{};function l(){t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}function f(){t.emit(jsonp-error,,d),t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}r.inPlace(u.parent,u.key,cb-,d),e.addEventListener(load,l,(0,T.jT)(!1)),e.addEventListener(error,f,(0,T.jT)(!1)),t.emit(new-jsonp,e.src,d)}(e0)})),t}const Le{};function He(e){const tfunction(e){return(e||F.ee).get(promise)}(e);if(Let.debugId)return t;Let.debugId!0;var rt.context,n(0,B.YM)(t),ih.gm.Promise;return i&&function(){function e(r){var ot.context(),an(r,executor-,o,null,!1);const sReflect.construct(i,a,e);return t.context(s).getCtxfunction(){return o},s}h.gm.Promisee,Object.defineProperty(e,name,{value:Promise}),e.toStringfunction(){return i.toString()},Object.setPrototypeOf(e,i),all,race.forEach((function(r){const nir;erfunction(e){let i!1;...e||.forEach((e>{this.resolve(e).then(a(allr),a(!1))}));const on.apply(this,arguments);return o;function a(e){return function(){t.emit(propagate,null,!i,o,!1,!1),ii||!e}}}})),resolve,reject.forEach((function(r){const nir;erfunction(e){const rn.apply(this,arguments);return e!r&&t.emit(propagate,e,!0,r,!1,!1),r}})),e.prototypei.prototype;const oi.prototype.then;i.prototype.thenfunction(...e){var ithis,ar(i);a.promisei,e0n(e0,cb-,a,null,!1),e1n(e1,cb-,a,null,!1);const so.apply(this,e);return a.nextPromises,t.emit(propagate,i,!0,s,!1,!1),s},i.prototype.thenB.Jto,t.on(executor-start,(function(e){e0n(e0,resolve-,this,null,!1),e1n(e1,resolve-,this,null,!1)})),t.on(executor-err,(function(e,t,r){e1(r)})),t.on(cb-end,(function(e,r,n){t.emit(propagate,n,!0,this.nextPromise,!1,!1)})),t.on(propagate,(function(e,r,n){this.getCtx&&!r||(this.getCtxfunction(){if(e instanceof Promise)var rt.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De{},MesetTimeout,KesetInterval,UeclearTimeout,Ve-start,GeMe,setImmediate,Ke,Ue,clearImmediate;function Fe(e){const tfunction(e){return(e||F.ee).get(timer)}(e);if(Det.debugId++)return t;Det.debugId1;var r(0,B.YM)(t);return r.inPlace(h.gm,Ge.slice(0,2),Me+-),r.inPlace(h.gm,Ge.slice(2,3),Ke+-),r.inPlace(h.gm,Ge.slice(3),Ue+-),t.on(Ke+Ve,(function(e,t,n){e0r(e0,fn-,null,n)})),t.on(Me+Ve,(function(e,t,n){this.methodn,this.timerDurationisNaN(e1)?0:+e1,e0r(e0,fn-,this,n)})),t}const Be{};function We(e){const tfunction(e){return(e||F.ee).get(mutation)}(e);if(!h.RI||Bet.debugId)return t;Bet.debugId!0;var r(0,B.YM)(t),nh.gm.MutationObserver;return n&&(window.MutationObserverfunction(e){return this instanceof n?new n(r(e,fn-)):n.apply(this,arguments)},MutationObserver.prototypen.prototype),t}const{TZ:ze,d3:qe,Kp:Ze,$p:Ye,wW:Xe,e5:Je,tH:Qe,uP:$e,rw:et,Lc:tt}je;class rt extends v{static featureNameze;constructor(e,t!0){if(super(e,ze,t),!h.RI)return;try{this.removeOnAbortnew AbortController}catch(e){}let r,n0;const ithis.ee.get(tracer),oke(this.ee),aHe(this.ee),sFe(this.ee),cq(this.ee),uthis.ee.get(events),dre(this.ee),lme(this.ee),fWe(this.ee);function p(e,t){l.emit(newURL,+window.location,t)}function g(){n++,rwindow.location.hash,this$e(0,E.t)()}function m(){n--,window.location.hash!r&&p(0,!0);var e(0,E.t)();thisJe~~thisJe+e-this$e,thistte}function v(e,t){e.on(t,(function(){thist(0,E.t)()}))}this.ee.on($e,g),a.on(et,g),o.on(et,g),this.ee.on(tt,m),a.on(Xe,m),o.on(Xe,m),this.ee.on(fn-err,((...t)>{t2?.__newrelic?.e.agentIdentifier||(0,R.p)(function-err,...t,void 0,this.featureName,this.ee)})),this.ee.buffer($e,tt,xhr-resolved,this.featureName),u.buffer($e,this.featureName),s.buffer(setTimeout+Ze,clearTimeout+qe,$e,this.featureName),c.buffer($e,new-xhr,send-xhr+qe,this.featureName),d.buffer(Qe+qe,Qe+-done,Qe+Ye+qe,Qe+Ye+Ze,this.featureName),l.buffer(newURL,this.featureName),f.buffer($e,this.featureName),a.buffer(propagate,et,Xe,executor-err,resolve+qe,this.featureName),i.buffer($e,no-+$e,this.featureName),o.buffer(new-jsonp,cb-start,jsonp-error,jsonp-end,this.featureName),v(d,Qe+qe),v(d,Qe+-done),v(o,new-jsonp),v(o,jsonp-end),v(o,cb-start),l.on(pushState-end,p),l.on(replaceState-end,p),window.addEventListener(hashchange,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(load,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(popstate,(function(){p(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var nti(3333);class it extends v{static featureNament.TZ;constructor(e,t!0){super(e,nt.TZ,t);const re.init.page_action.enabled,e.init.user_actions.enabled;h.RI&&e.init.user_actions.enabled&&(nt.Zp.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)),!0))),nt.qN.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)))))),r.some((e>e))?this.importAggregator(e):this.deregisterDrain()}}var oti(993),ati(3785);class st extends v{static featureNameot.TZ;constructor(e,t!0){super(e,ot.TZ,t);const rthis.ee;this.ee.on(wrap-logger-end,(function(e){const{level:t,customAttributes:n}this;(0,at.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends n{constructor(t,r){super(r),h.gm?(this.features{},(0,w.bQ)(this.agentIdentifier,this),this.desiredFeaturesnew Set(t.features||),this.desiredFeatures.add(y),this.runSoftNavOverSpa...this.desiredFeatures.some((e>e.featureNameo.K.softNav)),(0,u.j)(this,t,t.loaderType||agent),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const tc(this.agentIdentifier),r...this.desiredFeatures;r.sort(((e,t)>o.Pe.featureName-o.Pt.featureName)),r.forEach((r>{if(!tr.featureName&&r.featureName!o.K.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureNameo.K.spa)return;if(!this.runSoftNavOverSpa&&r.featureNameo.K.softNav)return;const nfunction(e){switch(e){case o.K.ajax:returno.K.jserrors;case o.K.sessionTrace:returno.K.ajax,o.K.pageViewEvent;case o.K.sessionReplay:returno.K.sessionTrace;case o.K.pageViewTiming:returno.K.pageViewEvent;default:return}}(r.featureName).filter((e>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.featuresr.featureNamenew r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.featurese.abortHandler?.();const r(0,w.Zm)();delete r.initializedAgentsthis.agentIdentifier?.api,delete r.initializedAgentsthis.agentIdentifier?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:fe,y,S,Se,Oe,O,H,it,st,_e,rt,loaderType:spa})})()})();/script> link relpreconnect hrefhttps://cdnjs.cloudflare.com crossorigin> link reldns-prefetch hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link relpreconnect hrefhttps://www.google-analytics.com crossorigin> link relpreconnect hrefhttps://d1v2hfhsvnke6s.cloudfront.net crossorigin> link relpreconnect hrefhttps://s3.amazonaws.com crossorigin> link relpreconnect hrefhttps://ajax.googleapis.com crossorigin> link relpreconnect hrefhttps://www.google.com crossorigin> !-- Google Tag Manager --> script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PCDJ3WG); /script> !-- End Google Tag Manager -->!-- Google Tag Manager -->script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PLKZ973);/script>!-- End Google Tag Manager --> script typetext/javascript>var pushData (data) > { dataLayer.push(data);}var replaceUndefined (value) > { return value ? value : Null;}pushDeceasedInfo (days, age, type) > { pushData({ dInfo: { dDays: replaceUndefined(days), dAge: replaceUndefined(age), mType: replaceUndefined(type) } });}pushEventInfo (timeUntilFirst, timeUntilLast) > { pushData({ eventInfo: { timeUntilFirst: replaceUndefined(timeUntilFirst), timeUntilLast: replaceUndefined(timeUntilLast) } });}pushWallInfo (condolencesCount, photosCount, videosCount) > { pushData({ wall: { countCondolences: replaceUndefined(condolencesCount), countPhotos: replaceUndefined(photosCount), countVideos: replaceUndefined(videosCount) } });}pushSiteInfo (siteId, locationId, websiteType, brandName, version, userType, pageType, codeBase, fhName, floralNetwork) > { pushData({ siteInfo: { siteId: replaceUndefined(siteId), locationId: replaceUndefined(locationId), websiteType: replaceUndefined(websiteType), brandName: replaceUndefined(brandName), version: replaceUndefined(version), userType: replaceUndefined(userType), pageType: replaceUndefined(pageType), codeBase: replaceUndefined(codeBase), fhName: replaceUndefined(fhName), floralNetwork: replaceUndefined(floralNetwork) } });}pushAbTestInfo (templateId, templateVersion, storeTemplateVersion, obitEvents, serverId, testName) > { pushData({ abTestInfo: { templateId: replaceUndefined(templateId), templateVersion: replaceUndefined(templateVersion), storeTemplateVersion: replaceUndefined(storeTemplateVersion), obitEvents: replaceUndefined(obitEvents), serverId: replaceUndefined(serverId), testName: replaceUndefined(testName) } });}sendGTMInfo (category, action, label) > { dataLayer.push({ event: gaEvent, category: category, action: action, label: label });}pushPageInfo (tcoObitId, brandObitId, obitDays, productsOffered, backgroundImage, profilePhoto, obitLength, funeralHomeGeo, countObitVideos, countTreePurchases, countFreeTrees, countFlowerPurchases, countDonations, countCharityDonations, obitCDays, obitHours, obitCreatedHour, pin, flag, fbPost, wallPostActions, obitPublishDate, storeName, deathNotice, donations) > { pushData({ pageInfo: { tcoObitId: replaceUndefined(tcoObitId), brandObitId: replaceUndefined(brandObitId), obitDays: replaceUndefined(obitDays), productsOffered: replaceUndefined(productsOffered), backgroundImage: replaceUndefined(backgroundImage), profilePhoto: replaceUndefined(profilePhoto), obitLength: replaceUndefined(obitLength), funeralHomeGeo: replaceUndefined(funeralHomeGeo), countObitVideos: replaceUndefined(countObitVideos), countTreePurchases: replaceUndefined(countTreePurchases), countFreeTrees: replaceUndefined(countFreeTrees), countFlowerPurchases: replaceUndefined(countFlowerPurchases), countDonations: replaceUndefined(countDonations), countCharityDonations: replaceUndefined(countCharityDonations), obitCDays: replaceUndefined(obitCDays), obitHours: replaceUndefined(obitHours), obitCreatedHour: replaceUndefined(obitCreatedHour), ltPin: replaceUndefined(pin), ltFlag: replaceUndefined(flag), fbPost: replaceUndefined(fbPost), wallPostActions: replaceUndefined(wallPostActions), obitPublishDate: replaceUndefined(obitPublishDate), store: replaceUndefined(storeName), deathNotice: replaceUndefined(deathNotice), donations: replaceUndefined(donations) } });}window.getGAuuid () > { const uuidKeyCookie tcouuid; const regexCookie new RegExp(`(^| )${uuidKeyCookie}(^;+)`); const gaUUidCookieArr document.cookie.match(regexCookie); if (!gaUUidCookieArr) { const now new Date(); let uuid crypto in window && window.crypto.randomUUID && window.crypto.randomUUID(); if (!uuid) { uuid String(now.getTime().toString(32) + Math.random().toString(16)).replace(/\./g, -); } now.setTime(now.getTime() + 3600 * 1000);// 1 hour document.cookie `${uuidKeyCookie}${uuid};expires${now.toUTCString()};path/`; return uuid; } return gaUUidCookieArr2;};window.getGaCookieSession (googleTageId) > { const regexCookie new RegExp(`(^| )${googleTageId}(^;+)`); const gaCookie document.cookie.match(regexCookie); if (!gaCookie) { return; } const cdxArr gaCookie2.split(.); return (cdxArr && cdxArr2) ? cdxArr2 : ; } window.pushSessionInfo (sessionID) > { pushData({ sessionInfo: { sessionID } });}/script> script typetext/javascript> document.addEventListener(touchstart, {}, { passive: true }); WebFontConfig { google: { families: Lato:400,400italic,700,700italic,900,900italic,300,100,100italic,300italic }, custom: { families: Linearicons, Linearicons-Free , urls: https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/styles-custom.min.css, https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/style.min.css } }; var doRedirect (function(agent, addr) { //matches only smartphones if (/(Android.+Mobile)|iPhone|Opera\sMobi/i.test(agent)) { return function() { if (addr) { window.location (addr.indexOf(http://)) -1 ? (http:// + addr) : addr; } }; } return null; })(navigator.userAgent || navigator.vendor || window.opera, ); /script> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relshortcut icon hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/FisherFuneralHome/favicon.ico typeimage/x-icon> title>Fisher Funeral Home | Portsmouth, VA/title>meta namedescription contentFisher Funeral Home provides funeral, memorial, personalization, aftercare, pre-planning and cremation services in Portsmouth, VA. /> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: Fisher Funeral Home | Portsmouth, VA, url: https://www.fisherfuneral.com, logo: https://www.fisherfuneral.com/Content/Media/FisherFuneralHome/logosfishermain_debfebe501074417830085d2391902bc.png, contactPoint: { @type: ContactPoint, telephone: (757) 399-6366 } } sameAs: } } /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/common.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/tribute-pay-panel.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/lightbox.css typetext/css relstylesheet/>link href/DependencyHandler.axd/2ea18e93d7b4278a63e09a302acc095a.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/rotatingBanner/rotating-banner.css typetext/css relstylesheet/>link href/DependencyHandler.axd/8577586dc142bd1cbb54c69235ec0888.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/obituaries-homepage.css typetext/css relstylesheet/>link href/DependencyHandler.axd/feeefa511254c061e8ad7d0fbd7de833.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/shared.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/fonts.css typetext/css relstylesheet/>link href/DependencyHandler.axd/0c28e5df75513ba69612ad23749e7fe0.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/DynamicForms.css typetext/css relstylesheet/>link href/DependencyHandler.axd/679da333f9a713965154d43db16f6c39.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/lib/aos/dist/aos.css typetext/css relstylesheet/> script src/Scripts/client.js typetext/javascript>/script> script src/DependencyHandler.axd/0a599583b6638b129fac13f6a740f24b.513.js typetext/javascript>/script>script srchttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/lib/aos/dist/aos.js typetext/javascript>/script> script typetext/javascript> AC_FL_RunContent 0; $(html).addClass($.browser.name).addClass(version- + $.browser.versionNumber); if ($.browser.name msie) { $(#msie-banner).css(display, block); setTimeout(function(){$(#msie-banner).fadeOut(1000);}, 5000); } FrazerMaps.Init({ apiKey: AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow }); /script> script typetext/javascript> $(function () { if (typeof DynamicForms ! undefined) { DynamicForms.setDomainId(content$empty_root$$_p__nhibernate$_v__guid$_7cfe10f384e64176a28e66966fbe77c4); } }); /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Dahlia/Fisher/css/site.css relstylesheet typetext/css /> script idsubscribe-form typetext/html> form data-typedynamic data-domainid7cfe10f384e64176a28e66966fbe77c4 classobituary-subs obituary-subs-popup jqtransformdone novalidatenovalidate action/FunHelper/SubscribeToObituaryEmails> a hrefjavascript:void(0); classclose-popup>/a> div classdescription> h1>Subscribe to Obituaries/h1> p classsubmited-none>Receive emails when new obituariesbr />are published to our website./p> p classsubmited-block>Thank you!/p> /div> div classfields submited-none> input typetext placeholderFirst Name classobituary-subs-name bg-icon-user titleFirst Name> input typetext placeholderEmail Address classobituary-subs-email bg-icon-letter titleEmail Address> div classicon-info>div classinfo-wrapper>We promise not to spam or share your email/div>/div> input typesubmit valueSubscribe classfun-button primary ui-button ui-widget ui-state-default ui-corner-all rolebutton aria-disabledfalse /> /div> /form> /script> script typetext/javascript> var funeralModal { init: function (modalData) { var $container $(div classoverlay-content-container>div classoverlay>/div>div classcontent>/div>/div>), $content $(.content, $container), $overlay $(.overlay, $container), $body $(body), html $(modalData.selector).html(); var remove function () { $container.remove(); } var init function () { $content.append(html); $overlay .on(click, remove); $(.close-popup, $content) .on(click, remove); $container .hide() .appendTo($body) .fadeIn(fast); funeralModalmodalData.init($content.children().first()); } init(); } } funeralModal.subscribeObituariesModalInit function (self) { var $form $(self), $formChildren $form.children(); $formChildren.find(input).first().focus(); $form.on(submit, function () { dynSubscribeToObituaryEmails($formChildren.first(), $form.attr(action), $form.data(domainid), function () { $form.addClass(submited); }); return false; }); } /script> script typetext/javascript> window.aciveAnim true; (function () { window.API window.API || {}; API.domainId 7cfe10f3-84e6-4176-a28e-66966fbe77c4; API.apiBaseUrl https://api.secure.tributecenteronline.com + /ClientApi/; API.apiBuilderBaseUrl https://api.secure.tributecenteronline.com + /BuilderApi; API.recaptchaV3PublicKey 6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe; API.tcoAppPath //; if (API.tcoAppPath //) API.tcoAppPath /; API.isLocal False True; API.tcoBaseUrl https://www.fisherfuneral.com + API.tcoAppPath; API.tcoSecureBaseUrl https://www.fisherfuneral.com + API.tcoAppPath; API.s3Path //tributecenteronline.s3-accelerate.amazonaws.com/; API.TCOCloudfrontDomain https://d1q40j6jx1d8h6.cloudfront.net/; API.isLocal false true; window.API.brand { id: 1, name: Frazer Consultants, LLC, obitStyle: 0, providerId: 0}; API.brands JSON.parse({0:Frazer,1:SRS,2:Osiris,3:Mortware,4:TMS,5:Ionic,6:Passare,7:ContinentalComputersCorp,8:FuneralNet,9:Aurora,10:FuneralDecisions,11:Halcyon,12:FuneralSync,13:FuneralCall,14:InsuranceAssignments,15:FrontRunner,16:TownNews,17:AdPerfect,18:TCO,20:FuneralTech,21:ObituaryHub,22:FuneraLogic,23:FrontRunnerNewspaper,24:GeneralStore,25:FuneralDataManager,26:CFS,27:ConnecticutPublicBroadcasting,28:FuneralInnovations,29:FreedomSoftware,30:MIMS,31:WedLFD,33:WhiteLabelTraining,34:MKJ}); API.moderatorName Fisher Funeral Home Staff; API.xPending false; API.ajax function (httpMethod, controller, method, data, contentType, isApi, success, error) { var baseUrl isApi ? API.apiBaseUrl : API.tcoAppPath; var currentUser localStorage.getItem(currentUser); function filterError(data, textStatus, jqXHR) { if (data && data.status 403) { var resp JSON.parse(data.responseText); if (controller.toLowerCase() comments && method.toLowerCase() create) authCallback.showRelationship true; if (resp.type && resp.type 1) { error(User is blocked); } else if (Funeral.BeforePostData(authCallback)) { return authCallback(); } } else if ($.isFunction(error)) error(data.responseText); }; function authCallback() { jQuery.ajax({ method: httpMethod, contentType: contentType, dataType: json, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: { DomainId: API.domainId, x-wall-user: currentUser }, data: JSON.stringify(data) }).done(success).error(filterError); } var headers { DomainId: API.domainId }; if (currentUser ! null) headersx-wall-user currentUser var settings { method: httpMethod, cache: false, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: headers, data: data, success: function(res, status, xhr) { if(Array.isArray(res) && res.length > 0) { API.xPending xhr.getResponseHeader(X-Pending); } } }; if (httpMethod.toUpperCase() POST) { var form $(#__AjaxAntiForgeryForm); if (form) { var token $(inputname__RequestVerificationToken, form).val(); if (token) settings.headers__RequestVerificationToken token; } if (!isApi) { settings.data JSON.stringify(settings.data); settings.dataType json; settings.contentType application/json; } } jQuery.ajax(settings).done(success).error(filterError); }; API.post function (controller, method, data, success, error) { return API.ajax(POST, controller, method, data, application/json, true, success, error); }; API.get function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, true, success, error); }; API.postMedia function (controller, method, data, success, error) { return API.ajax(POST, controller, method, data, multipart/form-data, true, success, error); }; API.postTco function(controller, method, data, success, error) { return API.ajax(POST, controller, method, data, application/json, false, success, error); }; API.getTco function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, false, success, error); }; API.ensureHttps function(hash) { if (window.location.protocol ! https: && API.tcoSecureBaseUrl && API.tcoSecureBaseUrl.indexOf(https) > -1) { if (hash) { window.location.hash hash; } window.location.href API.tcoSecureBaseUrl.slice(0, -1) + window.location.pathname + window.location.search + window.location.hash; } }; API.showFuneralHomeName false; jQuery.ajaxSetup({ beforeSend: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).addClass(active); }, 500); }, complete: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 500); }, success: function () { } }); })();/script> meta namegoogle-site-verification contentzPZfRyd85WrWoxeoDWG0NwLekAg5lywtAGapdYlpB2g />/head>body > !-- Google Tag Manager (noscript) --> noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PCDJ3WG height0 width0 styledisplay:none;visibility:hidden>/iframe> /noscript> !-- End Google Tag Manager (noscript) -->!-- Google Tag Manager (noscript) -->noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PLKZ973 height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) --> nav classsite-header navbar navbar-default head-menu logo-on-the-left navbar-fixed-top> div classsite-header__wrapper> div classheader-top-line> a hrefhttps://www.fisherfuneral.com/resources/payment-center>Payment Center/a> span classphone x-ms-format-detectionnone>a hreftel:7573996366>(757) 399-6366 /a>/span> /div> script typetext/javascript stylemargin-left: 0;> (function () { var telArr ; var findNumber function (model) { var y ; for (var i 0; i model.length; i++) { if (!isNaN(parseInt(modeli))) { y + modeli; if (y.length 10) { telArr.push(y); y ; } } } } })(); /script> div classnavbar-header> button onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) typebutton classnavbar-toggle data-togglecollapse data-target aria-expandedfalse aria-controlsnavbar > span classicon-bar>/span> span classicon-bar>/span> span classicon-bar>/span> span classsr-only>Toggle navigation/span> /button> a onclicksendGTMInfo(Obituary Banner, Click, Funeral Home) classnavbar-brand href/ aria-labelLink to Home page>img src/Content/Media/FisherFuneralHome/logosfishermain_debfebe501074417830085d2391902bc.png altsite logo classsite-logo />/a> /div> ul idnavbar classnavbar-collapse collapse aria-expandedfalse styleposition: absolute; > li>ul classnav navbar-nav navbar-right dropdowns show-dropdown-menu-by-hover > li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/obituaries/obituary-listings target_self> Obituaries /a> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Services span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/where-to-start target_self>Where to Start/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/funeral-services target_self>Funeral Services/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/celebrating-life target_self>Celebrating Life/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/honoring-veterans target_self>Honoring Veterans/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/final-interment target_self>Final Interment/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Plan Ahead span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/plan-ahead/why-plan-ahead target_self>Why Plan Ahead?/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/plan-ahead/pre-planning-checklist target_self>Pre-Planning Checklist/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/plan-ahead/pre-plan-online target_self>Pre-Plan Online/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Grief Support span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/grief-support/grief-resources target_self>Grief Resources/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/grief-support/children-and-grief target_self>Children & Grief/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/grief-support/365-days-of-healing target_self>365 Days of Healing/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Resources span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/merchandise target_self>Merchandise/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/payment-center target_self>Payment Center/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/when-death-occurs target_self>When Death Occurs/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/funeral-decorum target_self>Funeral Decorum/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/cemetery-etiquette target_self>Cemetery Etiquette/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/social-security-benefits target_self>Social Security Benefits/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/faqs target_self>FAQs/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>About Us span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/about-us target_self>About Us/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/history target_self>History/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/staff target_self>Staff/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/testimonials target_self>Testimonials/a> /li> /ul> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/contact/contact-us target_self> Contact /a> /li>/ul>/li> li> ul classnav navbar-nav mobile> li> a hrefhttps://www.fisherfuneral.com/resources/payment-center classbtn inverse>Payment Center/a> /li> li>span classphone x-ms-format-detectionnone>(757) 399-6366 /span>/li> /ul> /li> /ul> /div>/nav>div classpage-loader-wrapper> div classpage-loader>Loading.../div>/div>div classparallax> div classlayer-back-wraper> div classlayer-back> div idslideShowCarousel classcarousel slide carousel-fade data-ridecarousel> !-- Indicators --> ol classcarousel-indicators> li data-target#slideShowCarousel data-slide-to0 classactive>/li> li data-target#slideShowCarousel data-slide-to1 class>/li> li data-target#slideShowCarousel data-slide-to2 class>/li> li data-target#slideShowCarousel data-slide-to3 class>/li> li data-target#slideShowCarousel data-slide-to4 class>/li> li data-target#slideShowCarousel data-slide-to5 class>/li> /ol> !-- Wrapper for slides --> div classcarousel-inner> div classgradient item active> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/6a093c7d-2770-48a1-88d0-db669c2f1c6d.webp alt8600 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Serving families/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >with dignity and grace since 1885/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/services/overview>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/81a17281-ec9d-4c87-a713-566ba52a29ab.webp alt8601 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Offering healing/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >to those facing loss/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/grief-support/365-days-of-healing>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/1f03a68a-94dc-4adf-a00a-f5752d334425.webp alt15523 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Pre-Planning/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >Plan Ahead Now/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/plan-ahead/pre-plan-online>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/3a12c6ae-0959-44b2-b875-8706a24068d7.webp alt15529 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Dedicated/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >To the future of Funeral Service/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/services/funeral-services>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/8186a651-2f52-4830-921e-9413cf0f05fb.webp alt15528 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Providing Families/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >With the highest quality services/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/services/celebrating-life>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/80093ca8-107c-4b68-8f0c-5f01abb9e4cf.webp alt15530 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >Taking Pride/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >In What We Do/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/about-us/about-us>Learn More/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> /div>/div>script typetext/javascript> var interval 6; $(document).ready(function () { if (interval > 0) { $(.carousel).carousel({ interval: interval * 1000 }); } else { $(.carousel).carousel({ pause: false }); } $(video).prop(volume, 0); $(video).on(click, function () { $(this).get(0).pause(); $(.videoPlayButton).removeClass(playing); }); $(.videoPlayButton).on(click, function () { $(video).get(0).play(); $(this).addClass(playing); }); $(video).on(ended, function () { $(this).get(0).load(); $(.videoPlayButton).removeClass(playing); }); $(.sound-button).on(click, function () { var HTMLVideoElement document.getElementById(slideVideo); var video $(HTMLVideoElement); if (video.prop(volume) 0) { HTMLVideoElement.controls true; // allow video controls HTMLVideoElement.muted false; HTMLVideoElement.volume 1 video.prop(volume, 1); HTMLVideoElement.controls false // hide controls after chnging $(this).find(i).removeClass(fa-volume-off).addClass(fa-volume-up); } else { HTMLVideoElement.controls false; HTMLVideoElement.muted true; HTMLVideoElement.volume 0; video.prop(volume, 0); $(this).find(i).removeClass(fa-volume-up).addClass(fa-volume-off); } }); $(.size-button).on(click, function () { var videoContainer $(.layer-back .item); if (videoContainer.hasClass(full-screen)) { videoContainer.removeClass(full-screen); $(body).removeClass(full-screen); $(.parallax).removeClass(full-screen); $(.parallax .layer-back).removeClass(full-screen); $(this).find(i).removeClass(fa-compress).addClass(fa-expand); } else { videoContainer.addClass(full-screen); $(body).addClass(full-screen); $(.parallax).addClass(full-screen); $(.parallax .layer-back).addClass(full-screen); $(this).find(i).removeClass(fa-expand).addClass(fa-compress); } }); $(window).on(scroll, function () { var btm ($(.layer-back .item).height() - $(window).scrollTop()) - $(.head-menu.navbar).height(); $(.videoPlayButton).css(bottom, (btm > 78) ? (btm / 2 - 34) : 10); }); });/script> style> .slide-preview .slide-text-wrapper.effect-5 { margin: 0 auto; left:0; right: 0; top: 0; bottom: 0; } /style>div classclear>/div> /div> /div> div classlayer-base> div classhomepage-container> div classhome-services> style typetext/css> @media only screen and (max-width: 500px) { .interactive-block { width: 100%; } } @media only screen and (min-width: 501px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 2); width: calc((100% - 1px) / 2); } } @media only screen and (min-width: 992px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 4); width: calc((100% - 1px) / 4); } } .interactive-block-2, .interactive-block-3 { width: 100%; float: left; } @media (min-width: 501px) { .interactive-block-2 { width: 50%; } .interactive-block-3 { width: 33.33333333%; } } @media (max-width: 500px) { .interactive-block-2 > div, .interactive-block-3 > div { padding: 0 !important; } }/style>div classgeneral-summary-wrapper> div stylemargin: 0 -10px 0 -10px; width: calc(100% + 20px)> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/obituaries/obituary-listings> div classgrid> figure classeffect-bubba> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/f9832bc6-b39f-4524-b176-6a2982aa7915.jpg?date:638664362694575240 altObituaries loadinglazy /> figcaption> h2>Obituaries/h2> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/resources/when-death-occurs> div classgrid> figure classeffect-bubba> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/1e609a40-9efc-4008-b5ea-f77a0836ce4f.jpg?date:638664362694575240 altWhen Death Occurs loadinglazy /> figcaption> h2>When Death Occurs/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/about-us/about-us> div classgrid> figure classeffect-bubba> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/102cf579-e661-4c81-8f4c-302b71857da8.jpg?date:638664362694575240 altAbout Us loadinglazy /> figcaption> h2>About Us/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/about-us/history> div classgrid> figure classeffect-bubba> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/e32fde0c-c878-4648-9542-1b69dfc19389.jpg?date:638664362694575240 altHistory loadinglazy /> figcaption> h2>History/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> /div> div classclearfix>/div>/div> /div> div classintro container> div classcontainer>div aligncenter>div classrow>div classcol-xs-12 col-md-6>p>span stylefont-size: 12pt;>strong>Fisher Funeral Home Welcomes You!/strong>/span>/p>p styletext-align: center;>strong>Fisher Funeral Home was established and is operated and owned by the Fisher family since 1885. There is only one location (1520 Effingham Street in Portsmouth, VA). We continue to offer quality and professional service down to the final detail. Four generations later, the tradition of excellence in funeral service continues./strong>br />br />strong>You will find that our staff is knowledgeable, caring, compassionate and dedicated. It is our objective to guide and assist you in arranging service details. We encourage you to talk to our families and see what they have to say!/strong>br />br />strong>It is our feeling that services should be a tribute to your love ones life so as to be meaningful to you now and in the years to come. Services are reasonably priced and well below the national average. Financial assistance is available./strong>br />br />strong>To all families we have assisted or served: Thank you for selecting us to serve you. It is our sincere hope that our service has been deserving of the trust you have placed in us. If we have helped to lighten your burden, then our aim has been accomplished./strong> /p>p styletext-align: center;>strong>Since 1885 | Fax: (757) 399-6830 /strong>/p>----------------------------------------------------------------------h4>span stylefont-size: 12pt;>em>-Our family serving Your family/em>/span>/h4>h4>span stylefont-size: 12pt;>em> /em>/span>br />span stylefont-size: 12pt;>em>-Accommodations can be made for large or small gatherings for funerals, viewings and the repast following the service to include catering./em>/span>/h4>h4>span stylefont-size: 12pt;>em> /em>/span>/h4>h4>span stylefont-size: 12pt;>em>-www.Facebook.com/fisherfuneral /em>/span>/h4>h4>span stylefont-size: 12pt;>em> /em>/span>/h4>h4>span stylefont-size: 12pt;>em>-Floral disclaimer: Recently there has been some deliverey problems reported after ordering flowers from our website. Usually there are no problems. We have been working diligently to correct discrepancies. /em>/span>/h4>h4>span stylefont-size: 10pt;> /span> /h4>/div>div classcol-xs-12 col-md-6>p>img stylepadding-left: 10px; srchttps://s3.amazonaws.com/fh-content/release/Content/Media/FisherFuneralHome/homepage.jpg width250 height422 />/p>/div>/div>/div>/div> /div> div classgeneral-summary-wrapper>div classrow additional-content why-choose-us>div classtext>p>Why choose our funeral home? /p>p>Were dedicated to providing personalized, professional and compassionate services to help lighten your burden and support you through the difficult times that follow the loss of a loved one. Were honored to assist you in your time of need, and would like to assure you that well do everything in our power to make your experience a meaningful and memorable one. We invite you to explore our unique history, meet our experienced staff, connect with our local community, and hear what our customers have had to say./p>/div>/div>div classrow additional-content>div classcol-sm-12 help font-resposive stylepadding-bottom: 3px;>div classbackground>h2>How We Can Help/h2>div classcol-xs-12 col-sm-6 col-md-3 additional-content-item>div classitem-image> /div>div classitem-body>h3>Customized Services/h3>We are here to guide you through the creation of a service that reflects your values, preferences, and budget./div>a classfun-button href/services/overview>Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 additional-content-item>div classitem-image> /div>div classitem-body>h3>Grief Support/h3>You will feel the support of knowing we are here to walk with you through this inevitable journey of grief every step of the way./div>a classfun-button href../grief-support/overview>Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 additional-content-item>div classitem-image> /div>div classitem-body>h3>Caring Staff/h3>We are committed to providing support, compassion, information, & guidance as needed to all of those in need in the community./div>a classfun-button href/about-us/staff> Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 additional-content-item>div classitem-image> /div>div classitem-body>h3>Honoring Veterans/h3>Were proud to do our part in honoring veterans, and giving back to those whose sacrifice and patriotism define our great nation./div>a classfun-button href/services/honoring-veterans> Learn More/a>/div>/div>/div>/div>/div> div classcontainer-fluid no-padding> div classrow flex> div classcol-xs-12 col-md-6 home-flowers-email flowers> div classflowersWrapper> span classsub-header data-aosfade-up>Show your support/span>span classheader data-aosfade-up>Order Flowers/span>span classcontent data-aosfade-up>We offer a full range of gifts to help comfort and support those who need it the most delivered direct from your local florist./span>a classfun-button hrefhttp://fisher-funeral-home.tributestore.com?srcorder-flowers data-aosfade-up>Shop Now/a> /div> /div> div classcol-xs-12 col-md-6 home-flowers-email email-signup> div classflowersWrapper dailySubsControls iddays365> span classsub-header>365 Days of Healing/span> span classheader>Email Sign-up/span> span classcontent>Receive consistent support through our daily email to help you cope, heal, and grieve./span> div classinnerInputs> input typetext classfun-form-control dailySubsName watermark titleName placeholderName> input typetext classfun-form-control dailySubsEmail watermark titleEmail placeholderEmail Address> button classfun-button email-button>Subscribe/button> /div> div classclear>/div> div classtip>We wont share your email/div> /div> /div> /div>/div> /div> script typetext/javascript> function viewAllObituaryLinkAdd() { $(.owl-pagination) .append(div class\viewAll\> a href../obituaries/obituary-listings aria-labelView All> View All/a>/div>); } $(document).ready(function() { obituariesInit(); }); function obituariesInit() { var owl $(.obituaries-carousel); owl.owlCarousel({ lazyLoad: true, itemsCustom: 0, 1, 400, 2, 500, 3, 600, 4, 800, 5, 900, 6, 1200, 7, 1800, 8 , navigation: true, scrollPerPage: true, autoHeight: false, afterUpdate: function() { if (viewAllObituaryLinkAdd) viewAllObituaryLinkAdd(); }, afterInit: function() { if (viewAllObituaryLinkAdd) viewAllObituaryLinkAdd(); } }); } /script>div classcopyrights text-center> div classbottom-navigation>/div> div classcopyrights> p styletext-align: center;>© Fisher Funeral Home Inc.| Portsmouth, VA /p>p styletext-align: center;>Not business connected or business affiliated with M.E. Fisher Funeral Home in Newport News, Virginia or JT Fisher Funeral Services in Chesapeake, Virginia. This information is posted only to help clear up public confusion and is not meant to harm or injure in any way./p> div classterms> script> $(function() { $(a.privacyPolicy, a.termsOfUse, a.accessibility).click(function() { var id $(this).attr(class); var popup $(# + id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }); window.setTermsHandler function () { setTimeout(function() { $(.modal-login-terms a, .donate-form__bottom-text a).click(function() { var id $(this).attr(href); var popup $(id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }, 500); } /script> a classprivacyPolicy relsuperboxcontent href#privacyPolicy>Privacy Policy/a> & a classtermsOfUse relsuperboxcontent href#termsOfUse>Terms of Use/a> | a classaccessibility relsuperboxcontent href#accessibility>Accessibility/a> div classbase64 styledisplay: none idprivacyPolicy> PHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgUHJpdmFjeSBQb2xpY3k8L3N0cm9uZz48L3A+DQo8cD48ZW0+TGFzdCB1cGRhdGVkOiBBcHJpbCAyMCwgMjAyMzwvZW0+PGJyPjxicj5UcmlidXRlIFRlY2hub2xvZ3kgaXMgY29tbWl0dGVkIHRvIHByb3RlY3RpbmcgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gVGhpcyBQcml2YWN5IE5vdGljZSBkZXNjcmliZXMgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgY29sbGVjdCBhYm91dCB5b3UsIGhvdyB3ZSB1c2UgYW5kIGRpc2Nsb3NlIHRoaXMgaW5mb3JtYXRpb24sIGFuZCB0aGUgc3RlcHMgd2UgdGFrZSB0byBwcm90ZWN0IHRoaXMgaW5mb3JtYXRpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIFByaXZhY3kgTm90aWNlLCAoYSkgJmxkcXVvO3BlcnNvbmFsIGluZm9ybWF0aW9uJnJkcXVvOyBtZWFucyBhbnkgaW5mb3JtYXRpb24gdGhhdCByZWxhdGVzIHRvIHlvdSBhcyBhbiBpbmRpdmlkdWFsIGFuZCBjb3VsZCByZWFzb25hYmx5IGJlIHVzZWQgdG8gaWRlbnRpZnkgeW91IGFuZCAoYikgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSwmcmRxdW87ICZsZHF1bzt3ZSwmcmRxdW87ICZsZHF1bzt1cyZyZHF1bzsgYW5kICZsZHF1bztvdXImcmRxdW87IGVhY2ggcmVmZXIgdG8gdGhlIGxlZ2FsIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlICZsZHF1bztBcHBsaWNhYmxlIEVudGl0eSZyZHF1bzsgc2VjdGlvbiB0aGlzIFByaXZhY3kgTm90aWNlIGJlbG93LiBUaGlzIFByaXZhY3kgTm90aWNlIGFwcGxpZXMgdG8gb3VyIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aHJvdWdoIHRoaXMgd2Vic2l0ZSBhbmQgYW55IHJlbGF0ZWQgd2Vic2l0ZXMsIGFwcGxpY2F0aW9ucywgdG9vbHMsIG9yIHBsYXRmb3JtcyAodGhlICZsZHF1bztTZXJ2aWNlcyZyZHF1bzspLCBhcyB3ZWxsIGFzIHRocm91Z2ggYW55IG90aGVyIG1lYW5zIHdoZXJlIGEgbGluayBvciByZWZlcmVuY2UgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBpcyBwcm92aWRlZCBhdCB0aGUgdGltZSBvZiBjb2xsZWN0aW9uLjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBnZW5ldmEsIHNhbnMtc2VyaWY7Ij48c3Ryb25nPk91ciBTZXJ2aWNlczwvc3Ryb25nPjwvc3Bhbj48L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5JnJzcXVvO3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGxpZmUgaW5zdXJhbmNlIGFzc2lnbm1lbnRzLCBzZWFyY2ggZW5naW5lIG9wdGltaXphdGlvbiwgbWFya2V0aW5nIGFuZCBlY29tbWVyY2Ugc2VydmljZXMsIHRvIGZ1bmVyYWwgaG9tZXMgYW5kIG90aGVyIGZ1bmVyYWwgcHJvZmVzc2lvbmFscyAob3VyICZsZHF1bztDbGllbnRzJnJkcXVvOykuIEluIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGZhY2V0IG9mIFRyaWJ1dGUgVGVjaG5vbG9neSZyc3F1bztzIGJ1c2luZXNzLCBUcmlidXRlIFRlY2hub2xvZ3kgY29sbGVjdHMgYW5kIHN0b3JlcyBwZXJzb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgaW5kaXZpZHVhbHMgd2hvIHZpc2l0IGFuZCB1dGlsaXplIGNlcnRhaW4gZnVuY3Rpb25zIG9yIGZlYXR1cmVzIG9mIG91ciBhbmQgb3VyIENsaWVudHMmcnNxdW87IHdlYnNpdGVzICgmbGRxdW87RW5kIFVzZXJzJnJkcXVvOykuIFRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgQ2xpZW50IGFuZCBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbiBidXQgbm90IHRvIG91ciBDbGllbnRzJnJzcXVvOyBvciBhbnkgb3RoZXIgdGhpcmQgcGFydHkmcnNxdW87cyBjb2xsZWN0aW9uIG9yIHVzZSBvZiBzdWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uLjxicj48YnI+VHJpYnV0ZSBUZWNobm9sb2d5IGFsc28gbWFpbnRhaW5zIGEgd2ViIHJlcG9zaXRvcnksIHRoZSBUcmlidXRlIEFyY2hpdmUsIGNvbnRhaW5pbmcgb2JpdHVhcmllcywgYSBsaXN0aW5nIG9mIGZ1bmVyYWwgaG9tZXMsIGFuZCBvdGhlciBmdW5lcmFsLXJlbGF0ZWQgY29udGVudCBpbiBjb25uZWN0aW9uIHdpdGggd2hpY2ggcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIGNvbGxlY3RlZCBmcm9tIGluZGl2aWR1YWxzICgmbGRxdW87VHJpYnV0ZSBVc2VycyZyZHF1bzspLiBUaGlzIFByaXZhY3kgTm90aWNlIGFsc28gYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gZnJvbSBUcmlidXRlIFVzZXJzIGFuZCBvdGhlciBpbmRpdmlkdWFscyB3aG8gaW50ZXJhY3QgZGlyZWN0bHkgd2l0aCBUcmlidXRlIFRlY2hub2xvZ3kuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5QZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0PC9zdHJvbmc+PC9wPg0KPHA+PGJyPldoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzIG9yIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIHVzLCB3aGV0aGVyIGFzIGEgQ2xpZW50LCBFbmQgVXNlciwgVHJpYnV0ZSBVc2VyIG9yIG90aGVyIGluZGl2aWR1YWwsIHdlIG1heSBjb2xsZWN0IGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgZnJvbSBhIHZhcmlldHkgb2Ygc291cmNlcy48YnI+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIHlvdSBkaXJlY3RseSBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5Db250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5QYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkFjY291bnQgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYW5kIHRyYW5zYWN0aW9uIGhpc3RvcnkpPC9saT4NCjxsaT5Db21tdW5pY2F0aW9ucyAoZm9yIGV4YW1wbGUsIHN1Ym1pdHRlZCBxdWVzdGlvbnMgb3Igb3RoZXIgcG9zdHMsIG1hcmtldGluZyBwcmVmZXJlbmNlcyBhbmQgdXNlciBnZW5lcmF0ZWQgY29udGVudCBsaWtlIHBob3RvcyBhbmQgdmlkZW9zKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IHVzZSB0aGUgU2VydmljZXMgaW5jbHVkZTo8L3A+DQo8dWw+DQo8bGk+VGVjaG5pY2FsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgYnJvd3NlciB0eXBlLCBJUCBhZGRyZXNzLCBjb29raWVzLCBhbmQgb3BlcmF0aW5nIHN5c3RlbSk8L2xpPg0KPGxpPlVzYWdlIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGFnZXMgdmlzaXRlZCwgc2VhcmNoIHRlcm1zIGVudGVyZWQsIGFuZCBmcmVxdWVuY3kgb2YgdmlzaXRzKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIG90aGVyIHNvdXJjZXMsIGluY2x1ZGluZyBmcm9tIG91ciBDbGllbnRzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVpciB1c2Ugb2YgdGhlIFNlcnZpY2VzLCBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQo8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCjwvdWw+DQo8cD48YnI+V2UgdXNlIEdvb2dsZSBBbmFseXRpY3MgdG8gY29sbGVjdCBhbmQgYW5hbHl6ZSBpbmZvcm1hdGlvbiBhYm91dCB1c2Ugb2YgdGhlIFNlcnZpY2VzIGFuZCB0byBoZWxwIHVzIHVuZGVyc3RhbmQgYWN0aXZpdGllcyBhbmQgdHJlbmRzLiBUaGlzIGluY2x1ZGVzIHVzZSBvZiBHb29nbGUgQW5hbHl0aWNzIHBlcmZvcm1hbmNlIHJlcG9ydHMgcmVsYXRpbmcgdG8gZGVtb2dyYXBoaWNzIGFuZCBpbnRlcmVzdHMuIEFzIHBhcnQgb2YgdGhpcyBzZXJ2aWNlLCB3ZSBzaGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIHdpdGggR29vZ2xlIEFuYWx5dGljcy4gWW91IG1heSBvcHQtb3V0IG9mIEdvb2dsZSBBbmFseXRpY3MgYnkgaW5zdGFsbGluZyBhIEdvb2dsZSBBbmFseXRpY3Mgb3B0LW91dCBicm93c2VyIGFkZC1vbiBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGhlcmU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dCI+aHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dDwvYT4uPGJyPjxicj5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQo8cD48c3Ryb25nPiZuYnNwOzwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+SG93IFdlIFVzZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSB1c2UgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+UHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgYW5kIGltcHJvdmUgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgdG8gZnVsZmlsbCB5b3VyIG9yZGVycyBhbmQgcmVxdWVzdHMgYW5kIHRvIHBvc3QgeW91ciBjb21tZW50cyBhbmQgb3RoZXIgZnVuZXJhbCBjb250cmlidXRpb25zLiBXZSBtYXkgYWxzbyB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIG91ciBidXNpbmVzcywgZm9yIGJ1c2luZXNzIGRldmVsb3BtZW50IHB1cnBvc2VzLCBhbmQgdG8gZnVsZmlsbCBvdXIgY29udHJhY3R1YWwgb2JsaWdhdGlvbnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5SaXNrIG1pdGlnYXRpb24gYW5kIHNlY3VyaXR5LiZuYnNwOzwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgQ2xpZW50cywgc3RhZmYgYW5kIGFzc2V0cy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbW11bmljYXRpb24gYW5kIG1hcmtldGluZy48L3N0cm9uZz4mbmJzcDtXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGFzc2VzcyBhbmQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGxlZ2FsIHJlcXVpcmVtZW50cywgYW5kIGNvbXBhbnkgcG9saWNpZXM7IHRvIHByb3RlY3Qgb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjxwPldlIG1heSBhbHNvIGFnZ3JlZ2F0ZSwgYW5vbnltaXplLCBvciBvdGhlcndpc2UgZGUtaWRlbnRpZnkgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuPGJyPjxicj5Tb21lIGp1cmlzZGljdGlvbnMgcmVxdWlyZSB0aGF0IHdlIGRldGVybWluZSBhICZsZHF1bztsYXdmdWwgYmFzaXMmcmRxdW87IGZvciBwcm9jZXNzaW5nIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBXaGVyZSBzdWNoIHJlcXVpcmVtZW50cyBleGlzdCwgd2UgcmVseSBvbiB0aGUgZm9sbG93aW5nIGxhd2Z1bCBiYXNlcyBmb3Igb3VyIHByb2Nlc3NpbmcgYWN0aXZpdGllczogdGhhdCB5b3UgaGF2ZSBjb25zZW50ZWQgdG8gdGhlIHByb2Nlc3Npbmc7IHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5IGZvciB0aGUgcGVyZm9ybWFuY2Ugb2Ygb3VyIGNvbnRyYWN0IHdpdGggeW91OyB0aGF0IHdlIGhhdmUgYSBsZWdhbCBvYmxpZ2F0aW9uOyBvciB0aGF0IHdlIGhhdmUgYSBsZWdpdGltYXRlIGludGVyZXN0IGluIHByb3ZpZGluZyBhbmQgaW1wcm92aW5nIHRoZSBTZXJ2aWNlcyBhbmQgbWFuYWdpbmcgb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMuIE91ciBDbGllbnRzIGRldGVybWluZSB0aGUgbGF3ZnVsIGJhc2lzIGZvciBwcm9jZXNzaW5nIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+VXNlIG9mIENvb2tpZXM8L3N0cm9uZz48L3A+DQo8cD48YnI+V2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcywgd2UgbWF5IHNlbmQgb25lIG9yIG1vcmUgY29va2llcyAod2hpY2ggYXJlIHNtYWxsIHRleHQgZmlsZXMgY29udGFpbmluZyBhIHN0cmluZyBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycykgdG8geW91ciBjb21wdXRlciBvciBtb2JpbGUgZGV2aWNlLCB0byBoZWxwIGFuYWx5emUgb3VyIHdlYiBwYWdlIGZsb3csIGN1c3RvbWl6ZSBvdXIgY29udGVudCwgbWVhc3VyZSBwcm9tb3Rpb25hbCBlZmZlY3RpdmVuZXNzLCBhbmQgcHJvbW90ZSB0cnVzdCBhbmQgc2FmZXR5LiBZb3UgYXJlIGFsd2F5cyBmcmVlIHRvIGRlY2xpbmUgb3VyIGNvb2tpZXMgaWYgeW91ciBicm93c2VyIHBlcm1pdHMsIGFsdGhvdWdoIGRvaW5nIHNvIG1heSBpbnRlcmZlcmUgd2l0aCB5b3VyIGFiaWxpdHkgdG8gdXNlIHRoZSBTZXJ2aWNlcyBvciBjZXJ0YWluIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlcy4gV2UgbWF5IGFsc28gdXNlIEdvb2dsZSBBbmFseXRpY3Mgb3IgYSBzaW1pbGFyIHNlcnZpY2UgdGhhdCB1c2VzIGNvb2tpZXMgdG8gaGVscCB1cyBhbmFseXplIGhvdyB1c2VycyB1c2UgdGhlIFNlcnZpY2VzLjxicj48YnI+V2UgbWF5IGFsc28gYWxsb3cgY2VydGFpbiB0aGlyZCBwYXJ0aWVzIHN1Y2ggYXMgYWR2ZXJ0aXNpbmcsIGFuYWx5dGljcyBwcm92aWRlcnMsIGFuZCB3aWRnZXQgcHJvdmlkZXJzIHRvIHBsYWNlIGNvb2tpZXMgaW4gb3JkZXIgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIG9ubGluZSBhY3Rpdml0aWVzIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRpZmZlcmVudCB3ZWJzaXRlcyB3aGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcy4gQ3VycmVudGx5LCB2YXJpb3VzIGJyb3dzZXJzIG9mZmVyIGEgJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgb3B0aW9uLCBidXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgZm9yIGhvdyAmbGRxdW87RG8gTm90IFRyYWNrJnJkcXVvOyBzaG91bGQgd29yayBvbiBjb21tZXJjaWFsIHdlYnNpdGVzLiBEdWUgdG8gdGhlIGxhY2sgb2Ygc3VjaCBzdGFuZGFyZHMsIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRoaXMgd2Vic2l0ZSwgZG8gbm90IHJlc3BvbmQgdG8gJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHRoZSBmb2xsb3dpbmcgY2F0ZWdvcmllcyBvZiByZWNpcGllbnRzLCB0byBiZSB1c2VkIG9ubHkgZm9yIGxlZ2l0aW1hdGUgcHVycG9zZXMgaW4ga2VlcGluZyB3aXRoIHRoaXMgUHJpdmFjeSBOb3RpY2U6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+R3JvdXAgY29tcGFuaWVzIGFuZCBhZmZpbGlhdGVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UsIHNoYXJlLCBvciB0cmFuc2ZlciB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBidXNpbmVzcyBlbnRpdHkgdGhhdCBpcyBwYXJ0IG9mIG91ciBjb3Jwb3JhdGUgZmFtaWx5LjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+Q2xpZW50czwvc3Ryb25nPi4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMmcnNxdW87IHByb3Zpc2lvbiBvZiBzZXJ2aWNlcyB0byB5b3UuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5TZXJ2aWNlIHByb3ZpZGVycyBhbmQgcHJvZmVzc2lvbmFsIGFkdmlzb3JzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMmcnNxdW87IGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byByZWxldmFudCB0aGlyZCBwYXJ0aWVzIGluIHRoZSBldmVudCBvZiBhIGRpdmVzdGl0dXJlLCBtZXJnZXIsIGNvbnNvbGlkYXRpb24sIG9yIGFzc2V0IHNhbGUsIG9yIGluIHRoZSB1bmxpa2VseSBldmVudCBvZiBhIGJhbmtydXB0Y3kuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5MYXcgZW5mb3JjZW1lbnQgb3Igb3RoZXIgZ292ZXJubWVudGFsIGVudGl0aWVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiBpZiByZXF1aXJlZCB0byBkbyBzbyBieSBsYXcgb3IgaWYgd2UgYmVsaWV2ZSBpbiBnb29kIGZhaXRoIHRoYXQgc3VjaCBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgdW5sYXdmdWwgYWN0aXZpdHksIGRlZmVuZCBvdXIgcmlnaHRzLCBvciBtYWludGFpbiBzZWN1cml0eS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPk90aGVyIHRoaXJkIHBhcnRpZXMgd2l0aCB5b3VyIGNvbnNlbnQ8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIGhhdmUgaW1wbGVtZW50ZWQgYW5kIG1haW50YWluIGNvbW1lcmNpYWxseSByZWFzb25hYmxlIGFuZCBhcHByb3ByaWF0ZSB0ZWNobmljYWwgYW5kIG9yZ2FuaXphdGlvbmFsIG1lYXN1cmVzIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gUGxlYXNlIG5vdGUsIGhvd2V2ZXIsIHRoYXQgbm8gc2VjdXJpdHkgbWVhc3VyZXMgYXJlIHBlcmZlY3Qgb3IgaW1wZW5ldHJhYmxlLiBXZSB0aGVyZWZvcmUgY2Fubm90IGd1YXJhbnR5IGFuZCBkbyBub3Qgd2FycmFudCB0aGUgYWJzb2x1dGUgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgcmV0YWluIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIG5vIGxvbmdlciB0aGFuIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgdGhlIHB1cnBvc2VzIGZvciB3aGljaCB3ZSBjb2xsZWN0ZWQgaXQgb3IgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCBmcmF1ZCwgZmFjaWxpdGF0ZSBhbiBpbnZlc3RpZ2F0aW9uLCBkZWZlbmQgYWdhaW5zdCBsZWdhbCBjbGFpbXMsIG9yIGV4ZXJjaXNlIG91ciBsZWdhbCByaWdodHMuPGJyPjxicj5EZXBlbmRpbmcgb24geW91ciBsb2NhdGlvbiwgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgYWJvdXQgeW91IG1heSBiZSB0cmFuc2ZlcnJlZCB0byBhIGp1cmlzZGljdGlvbiB0aGF0IGRvZXMgbm90IHByb3ZpZGUgdGhlIHNhbWUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhcyB0aGUganVyaXNkaWN0aW9uIGluIHdoaWNoIHlvdSByZXNpZGUuIEFtb25nIG90aGVyIHBsYWNlcywgcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHRyYW5zZmVycmVkIHRvLCBhbmQgc3RvcmVkIGluLCBDYW5hZGEsIEF1c3RyYWxpYSBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMuIFRyYW5zZmVycyBmcm9tIHRoZSBFdXJvcGVhbiBVbmlvbiB0byBDYW5hZGEgYXJlIG1hZGUgcHVyc3VhbnQgdG8gRXVyb3BlYW4gQ29tbWlzc2lvbiBEZWNpc2lvbiAyMDAyLzIvRUMsIHdoaWNoIGRldGVybWluZWQgdGhhdCBDYW5hZGEgaXMgY29uc2lkZXJlZCBhcyBwcm92aWRpbmcgYW4gYWRlcXVhdGUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPllvdXIgQ2hvaWNlcyAmYW1wOyBSaWdodHM8L3N0cm9uZz48L3A+DQo8cD48YnI+WW91IG1heSBkZWNsaW5lIHRvIHNoYXJlIGNlcnRhaW4gaW5mb3JtYXRpb24gd2l0aCB1cywgaW4gd2hpY2ggY2FzZSB3ZSBtYXkgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0byB5b3Ugc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFNlcnZpY2VzLiBPbmNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgd2l0aCB1cywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48YnI+PGJyPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uIGFuZCBzdWJqZWN0IHRvIGxvY2FsIGxhdywgeW91IG1heSBoYXZlIGNlcnRhaW4gcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZTogdGhlIHJpZ2h0IHRvIGFjY2VzcywgY29ycmVjdCwgYW5kIGRlbGV0ZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyB0aGUgcmlnaHQgdG8gcmVzdHJpY3Qgb3Igb2JqZWN0IHRvIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjsgYW5kIHRoZSByaWdodCB0byByZWNlaXZlIGEgcG9ydGFibGUgY29weSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGEgdXNhYmxlIGZvcm1hdC4gSWYgeW91IHByb3ZpZGUgdXMgd2l0aCBjb25zZW50IHRvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLCB5b3UgbWF5IHdpdGhkcmF3IHRoYXQgY29uc2VudCBhdCBhbnkgdGltZSwgaG93ZXZlciwgc3VjaCB3aXRoZHJhd2FsIHdpbGwgbm90IGltcGFjdCB0aGUgbGF3ZnVsbmVzcyBvZiBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYmFzZWQgb24geW91ciBjb25zZW50IHVwIHRvIHRoYXQgcG9pbnQuPGJyPjxicj5UbyBtYWtlIGEgcmVxdWVzdCByZWxhdGVkIHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gb3Igb3RoZXJ3aXNlIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cuIEluIG9yZGVyIHRvIGZ1bGZpbGwgeW91ciByZXF1ZXN0LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZyb20geW91LiBXZSB3aWxsIHJlc3BvbmQgdG8gcmVxdWVzdHMgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkNoaWxkcmVuJnJzcXVvO3MgUHJpdmFjeTwvc3Ryb25nPjwvcD4NCjxwPjxicj5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoJmxkcXVvO2NoaWxkcmVuJnJkcXVvOyksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIEVudGl0eTwvc3Ryb25nPjwvcD4NCjxwPjxicj5BbGwgcmVmZXJlbmNlcyB0byAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5LCZyZHF1bzsgJmxkcXVvO3dlLCZyZHF1bzsgJmxkcXVvO3VzJnJkcXVvOyBvciAmbGRxdW87b3VyJnJkcXVvOyBpbiB0aGlzIFByaXZhY3kgTm90aWNlIHJlZmVyIHRvIHRoZSBhcHBsaWNhYmxlIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwZWFycyAoYXMgcG9zdGVkIG9uIHN1Y2ggd2Vic2l0ZSk6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHRhYmxlPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHdpZHRoPSIxODYiPg0KPHA+PHN0cm9uZz5Mb2NhdGlvbiBvZiBCdXNpbmVzcyBBZGRyZXNzPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMjEwIj4NCjxwPjxzdHJvbmc+QXBwbGljYWJsZSBFbnRpdHk8L3N0cm9uZz48L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPkNhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgQ2FuYWRhLCBVTEMsIGEgQnJpdGlzaCBDb2x1bWJpYSB1bmxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPlVuaXRlZCBTdGF0ZXMgYW5kIHRoZSByZXN0IG9mIHRoZSB3b3JsZCBvdXRzaWRlIENhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgVVMsIExMQywgYSBEZWxhd2FyZSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L3N0cm9uZz48L3A+DQo8cD48YnI+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PGJyPjxicj48ZW0+PHU+Q29sbGVjdGlvbiBhbmQgVXNlIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC91PjwvZW0+PC9wPg0KPHVsPg0KPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAmbGRxdW87UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCZyZHF1bzsgc2VjdGlvbiBhYm92ZS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGRpc2Nsb3NlZCBmb3IgYSBidXNpbmVzcyBwdXJwb3NlIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgYW5kIGVkdWNhdGlvbiBpbmZvcm1hdGlvbi48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcyZyc3F1bzsgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KPC91bD4NCjxwPjxicj48ZW0+PHU+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzPC91PjwvZW0+PGJyPkFzIGEgQ2FsaWZvcm5pYSByZXNpZGVudCwgeW91IGhhdmUgdGhlIGZvbGxvd2luZyByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb246PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIHJlcXVlc3QgdGhlIGRlbGV0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byBvcHQtb3V0IG9mIHRoZSBzYWxlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXQgYW55IHRpbWUuIE5vdGUgdGhhdCB3ZSBkbyBub3QgY3VycmVudGx5IHNlbGwgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCjwvdWw+DQo8cD48YnI+RmluYWxseSwgeW91IGhhdmUgdGhlIHJpZ2h0IHRvIG5vdCBiZSBkaXNjcmltaW5hdGVkIGFnYWluc3QgYXMgYSByZXN1bHQgb2YgZXhlcmNpc2luZyB5b3VyIHByaXZhY3kgcmlnaHRzLiBBY2NvcmRpbmdseSwgdW5sZXNzIHBlcm1pdHRlZCBieSBsYXcsIHdlIHdpbGwgbm90IGRlbnkgeW91IGdvb2RzIG9yIHNlcnZpY2VzLCBjaGFyZ2UgeW91IGRpZmZlcmVudCBwcmljZXMgb3IgcmF0ZXMgZm9yIGdvb2RzIG9yIHNlcnZpY2VzLCBwcm92aWRlIHlvdSBhIGRpZmZlcmVudCBsZXZlbCBvciBxdWFsaXR5IG9mIGdvb2RzIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48YnI+PGJyPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCAxLTgzMy0zMDMtMTg4MC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIHJlc2VydmUgdGhlIHJpZ2h0IHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIFByaXZhY3kgTm90aWNlIGF0IGFueSB0aW1lLCB3aXRob3V0IG5vdGljZS4gV2Ugd2lsbCBub3RpZnkgeW91IGFib3V0IGNoYW5nZXMgdGhhdCBzaWduaWZpY2FudGx5IGltcGFjdCBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgcGxhY2luZyBhIHByb21pbmVudCBub3RpY2Ugb24gdGhpcyB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgeW91IGFuIGVtYWlsLiBQbGVhc2UgcmV2aXNpdCB0aGlzIHBhZ2UgcGVyaW9kaWNhbGx5IHRvIHN0YXkgYXdhcmUgb2YgYW55IGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQsIGRpc3B1dGVzIGFyaXNpbmcgaGVyZXVuZGVyIHdpbGwgYmUgcmVzb2x2ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQcml2YWN5IE5vdGljZSBpbiBlZmZlY3QgYXQgdGhlIHRpbWUgdGhlIGRpc3B1dGUgYXJvc2UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5Db250YWN0IFVzPC9zdHJvbmc+PC9wPg0KPHA+PGJyPlBsZWFzZSBjb250YWN0IHVzIHdpdGggYW55IHF1ZXN0aW9ucywgY29tbWVudHMgb3IgY29uY2VybnMgYWJvdXQgdGhpcyBQcml2YWN5IE5vdGljZSBvciBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgZW1haWwgYXQgcHJpdmFjeUB0cmlidXRldGVjaC5jb20gb3IgYnkgbWFpbCBhdDo8L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5PGJyPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzxicj5NaWRkbGV0b24sIFdJIDUzNTYyPC9wPg0KPHA+Jm5ic3A7PC9wPg/div> div classbase64 styledisplay: none idtermsOfUse> PGRpdiBpZD0iMTc3ODY4MTk4NiIgY2xhc3M9InVfMTc3ODY4MTk4NiBkbU5ld1BhcmFncmFwaCIgZGF0YS1lbGVtZW50LXR5cGU9InBhcmFncmFwaCIgZGF0YS12ZXJzaW9uPSI1IiBkYXRhLWFuaW0tZXh0ZW5kZWQ9ImV5SmtaWE5yZEc5d0lqcDdJblJ5YVdkblpYSWlPaUpsYm5SeVlXNWpaU0lzSW1GdWFXMWhkR2x2YmlJNkltWmhaR1ZKYmtOdmJXSnZJaXdpWkhWeVlYUnBiMjRpT2pFc0ltUmxiR0Y1SWpvd0xqVXNJbWx1ZEdWdWMybDBlU0k2TVN3aWNtVjJaWEp6WlNJNlptRnNjMlVzSW1ScGNpSTZJbWx1TFhCc1lXTmxJbjE5IiBkYXRhLWFuaW0tZGVza3RvcD0iZmFkZUluQ29tYm8iPg0KPHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgVGVybXMgb2YgVXNlPC9zdHJvbmc+PC9wPg0KPHA+PGVtPkxhc3QgVXBkYXRlZDogQXByaWwgMjAsIDIwMjM8L2VtPjxicj48YnI+VGhlc2UgVGVybXMgb2YgVXNlLCB0b2dldGhlciB3aXRoIFRyaWJ1dGUgVGVjaG5vbG9neSdzIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS9wcml2YWN5LXBvbGljeSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPjx1PlByaXZhY3kgUG9saWN5PC91PjwvYT4sIChjb2xsZWN0aXZlbHksIHRoZSAiVGVybXMiKSBzZXQgZm9ydGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgYXBwbHkgdG8geW91ciBhY2Nlc3MgYW5kIHVzZSBvZiB0aGUgd2Vic2l0ZSBvZiBUcmlidXRlIFRlY2hub2xvZ3kgKGh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS8pIGFuZCBvdXIgYXNzb2NpYXRlZCBzZXJ2aWNlcywgaW5jbHVkaW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBzZXJ2aWNlcyB0aGF0IGFyZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd2Vic2l0ZXMgb2Ygb3VyIGNsaWVudCBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKGVhY2gsIGEgJmxkcXVvO0NsaWVudCZyZHF1bzspIGFuZCBhbnkgb3RoZXIgd2Vic2l0ZXMgd2hlcmUgd2UgbGluayB0byB0aGVzZSBUZXJtcyAodG9nZXRoZXIsIHRoZSAiU2l0ZXMiKSwgd2hldGhlciBhcyBhIENsaWVudCwgZW5kIHVzZXIgb3IgY3VzdG9tZXIgb2YgYSBDbGllbnQsIG9yIG90aGVyd2lzZS4gU3VjaCBUcmlidXRlIFRlY2hub2xvZ3kgc2VydmljZXMgYXJlIHJlZmVycmVkIHRvIGhlcmVpbiBjb2xsZWN0aXZlbHkgYXMgdGhlICZsZHF1bztTZXJ2aWNlcy4mcmRxdW87IENlcnRhaW4gU2VydmljZXMgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBTaXRlcyBtYXkgaGF2ZSB0aGVpciBvd24gdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB5b3VyIHVzZSBvZiB0aG9zZSBwYXJ0aWN1bGFyIFNlcnZpY2VzLiZuYnNwOyBUaGVzZSBUZXJtcyBjb25zdGl0dXRlIGEgbGVnYWxseSBiaW5kaW5nIGFncmVlbWVudCBiZXR3ZWVuIHlvdSwgd2hldGhlciBwZXJzb25hbGx5IG9yIG9uIGJlaGFsZiBvZiBhbiBlbnRpdHkgKCJ5b3UiKSwgYW5kIHRoZSBhcHBsaWNhYmxlIGVudGl0eSByZWZlcnJlZCB0byBpbiBTZWN0aW9uIDEzIG9mIHRoZXNlIFRlcm1zICgiVHJpYnV0ZSBUZWNobm9sb2d5LCIgIndlLCIgInVzIiBhbmQgJmxkcXVvO291ciZyZHF1bzspIGNvbmNlcm5pbmcgeW91ciBhY2Nlc3MgdG8gYW5kIHVzZSBvZiB0aGUgU2VydmljZXMuPGJyPjxicj5CeSB1c2luZyBvciBhY2Nlc3NpbmcgdGhlIFNlcnZpY2VzLCB5b3UgYWdyZWUgdG8gdGhlc2UgVGVybXMsIGFzIG1heSBiZSB1cGRhdGVkIGZyb20gdGltZSB0byB0aW1lIGluIGFjY29yZGFuY2Ugd2l0aCBTZWN0aW9uIDkgYmVsb3cuIElmIHlvdSBkbyBub3QgYWdyZWUgdG8gdGhlIGZvbGxvd2luZyBUZXJtcywgZG8gbm90IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+PHU+Tm90aWNlIG9mIEJpbmRpbmcgQXJiaXRyYXRpb248L3U+PC9zdHJvbmc+PHN0cm9uZz4uJm5ic3A7IFRoZXNlIFRlcm1zIHByb3ZpZGUgdGhhdCBhbGwgZGlzcHV0ZXMgYmV0d2VlbiB5b3UgYW5kIHVzIHRoYXQgaW4gYW55IHdheSByZWxhdGUgdG8gdGhlc2UgVGVybXMgb3IgeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzIHdpbGwgYmUgcmVzb2x2ZWQgYnkgQklORElORyBBUkJJVFJBVElPTi4gQUNDT1JESU5HTFksIFlPVSBBR1JFRSBUTyBHSVZFIFVQIFlPVVIgUklHSFQgVE8gR08gVE8gQ09VUlQgKElOQ0xVRElORyBJTiBBIENMQVNTIEFDVElPTiBQUk9DRUVESU5HKSB0byBhc3NlcnQgb3IgZGVmZW5kIHlvdXIgcmlnaHRzIHVuZGVyIHRoZXNlIFRlcm1zLiBZb3VyIHJpZ2h0cyB3aWxsIGJlIGRldGVybWluZWQgYnkgYSBORVVUUkFMIEFSQklUUkFUT1IgYW5kIE5PVCBhIGp1ZGdlIG9yIGp1cnkgYW5kIHlvdXIgY2xhaW1zIGNhbm5vdCBiZSBicm91Z2h0IGFzIGEgY2xhc3MgYWN0aW9uLiBQbGVhc2UgcmV2aWV3IFNlY3Rpb24gMTIgYmVsb3cgZW50aXRsZWQgJmxkcXVvO0ludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMmcmRxdW87IGZvciB0aGUgZGV0YWlscyByZWdhcmRpbmcgeW91ciBhZ3JlZW1lbnQgdG8gYXJiaXRyYXRlIGFueSBkaXNwdXRlcyB3aXRoIHVzLjwvc3Ryb25nPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+Jm5ic3A7VG8gdXNlIHRoZSBTZXJ2aWNlcyB5b3UgbXVzdCAoaSkgYmUgYXQgbGVhc3QgZWlnaHRlZW4gKDE4KSB5ZWFycyBvZiBhZ2U7IChpaSkgaGF2ZSBub3QgcHJldmlvdXNseSBiZWVuIHN1c3BlbmRlZCBvciByZW1vdmVkIGZyb20gdGhlIFNlcnZpY2VzOyBhbmQgKGlpaSkgcmVnaXN0ZXIgZm9yIGFuZCB1c2UgdGhlIFNlcnZpY2VzIGluIGNvbXBsaWFuY2Ugd2l0aCBhbnkgYW5kIGFsbCBhcHBsaWNhYmxlIGxhd3MgYW5kIHJlZ3VsYXRpb25zLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+Jm5ic3A7VG8gYWNjZXNzIHNvbWUgZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzLCB5b3UgbWF5IGJlIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50LiBXaGVuIHlvdSByZWdpc3RlciBmb3IgYW4gYWNjb3VudCwgd2UgbWF5IGFzayB5b3UgdG8gZ2l2ZSB1cyBjZXJ0YWluIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgb3RoZXIgY29udGFjdCBpbmZvcm1hdGlvbiwgYW5kIHRvIGNyZWF0ZSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQgKCJSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24iKS4gV2hlbiByZWdpc3RlcmluZyBmb3IgYW5kIG1haW50YWluaW5nIGFuIGFjY291bnQsIHlvdSBhZ3JlZSB0byBwcm92aWRlIHRydWUsIGFjY3VyYXRlLCBjdXJyZW50LCBhbmQgY29tcGxldGUgaW5mb3JtYXRpb24gYWJvdXQgeW91cnNlbGYuIFlvdSBhbHNvIGFncmVlIG5vdCB0byBpbXBlcnNvbmF0ZSBhbnlvbmUsIG1pc3JlcHJlc2VudCBhbnkgYWZmaWxpYXRpb24gd2l0aCBhbnlvbmUgZWxzZSwgdXNlIGZhbHNlIGluZm9ybWF0aW9uLCBvciBvdGhlcndpc2UgY29uY2VhbCB5b3VyIGlkZW50aXR5IGZyb20gVHJpYnV0ZSBUZWNobm9sb2d5IGZvciBhbnkgcHVycG9zZS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIG1haW50YWluaW5nIHRoZSBjb25maWRlbnRpYWxpdHkgYW5kIHNlY3VyaXR5IG9mIHlvdXIgcGFzc3dvcmQgYW5kIG90aGVyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbi4gRm9yIHlvdXIgcHJvdGVjdGlvbiBhbmQgdGhlIHByb3RlY3Rpb24gb2Ygb3RoZXIgdXNlcnMsIHdlIGFzayB5b3Ugbm90IHRvIHNoYXJlIHlvdXIgUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIHdpdGggYW55b25lIGVsc2UuIElmIHlvdSBkbyBzaGFyZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggYW55b25lLCB3ZSB3aWxsIGNvbnNpZGVyIHRoZWlyIGFjdGl2aXRpZXMgdG8gaGF2ZSBiZWVuIGF1dGhvcml6ZWQgYnkgeW91LiBJZiB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSB0aGF0IHlvdXIgYWNjb3VudCBpcyBubyBsb25nZXIgc2VjdXJlLCB5b3UgbXVzdCBpbW1lZGlhdGVseSBub3RpZnkgdXMgYXQmbmJzcDt3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Zb3VyIFVzZSBvZiB0aGUgU2VydmljZXMgYW5kIFByb2hpYml0ZWQgQ29uZHVjdC48L3N0cm9uZz4mbmJzcDtZb3UgYXJlIGdyYW50ZWQgYSBsaW1pdGVkLCBub24tZXhjbHVzaXZlLCByZXZvY2FibGUgcmlnaHQgdG8gYWNjZXNzIGFuZCB1c2UgdGhlIFNlcnZpY2VzIHNvbGVseSBmb3IgeW91ciBwZXJzb25hbCBvciBub24tY29tbWVyY2lhbCB1c2U7IHByb3ZpZGVkLCB0aGF0IGlmIHlvdSBhcmUgYSBDbGllbnQsIHlvdXIgY29tbWVyY2lhbCB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHlvdXIgU2l0ZSBpcyBwZXJtaXR0ZWQgZm9yIHlvdXIgYnVzaW5lc3MuJm5ic3A7IEV4Y2VwdCBmb3IgdGhlIGxpbWl0ZWQgcmlnaHQgZXhwcmVzc2x5IGdyYW50ZWQgdG8geW91IGluIHRoZXNlIFRlcm1zLCBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBsaWNlbnNvcnMgZXhwcmVzc2x5IHJlc2VydmUgYWxsIG90aGVyIHJpZ2h0cyBhbmQgbGljZW5zZXMgdG8gdGhlIFNlcnZpY2VzIGFuZCB0aGVpciBjb250ZW50LiBZb3UgYWdyZWUgbm90IHRvOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlVzZSB0aGUgU2VydmljZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGUsIG9yIHRoYXQgdmlvbGF0ZXMgb3IgaW5mcmluZ2VzIHRoZSBwcml2YWN5LCBjb3B5cmlnaHQsIHRyYWRlbWFyaywgdHJhZGUgZHJlc3MsIHRyYWRlIHNlY3JldHMgb3IgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIGVudGl0eTs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIGluIGFueSB3YXkgd2l0aCwgYnlwYXNzIG9yIGF0dGVtcHQgdG8gYnlwYXNzIGFueSBzZWN1cml0eS1yZWxhdGVkIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlczs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIHdpdGggdGhlIG9wZXJhdGlvbiBvciBhbnkgdXNlcidzIGVuam95bWVudCBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZyBieSB1cGxvYWRpbmcgb3Igb3RoZXJ3aXNlIGRpc3NlbWluYXRpbmcgdmlydXNlcywgYWR3YXJlLCBzcHl3YXJlLCB3b3Jtcywgb3Igb3RoZXIgbWFsaWNpb3VzIGNvZGUsIG1ha2luZyB1bnNvbGljaXRlZCBvZmZlcnMgb3IgYWR2ZXJ0aXNlbWVudHMgdG8gb3RoZXIgdXNlcnMsIG9yIGF0dGVtcHRpbmcgdG8gY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB1c2VycyBvciB0aGlyZCBwYXJ0aWVzIHdpdGhvdXQgdGhlaXIgY29uc2VudDs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+RGVlcC1saW5rIHRvIGFueSBmZWF0dXJlIG9yIGNvbnRlbnQgb24gdGhlIFNlcnZpY2VzLCBvciBhY2Nlc3MsIG1vbml0b3Igb3IgY29weSBhbnkgY29udGVudCBvciBpbmZvcm1hdGlvbiBvZiB0aGUgU2VydmljZXMgdXNpbmcgYW55IHJvYm90LCBzcGlkZXIsIHNjcmFwZXIsIGNyYXdsZXIgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2VydmljZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBUcmlidXRlIFRlY2hub2xvZ3k7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5Qb3N0LCBkaXNzZW1pbmF0ZSwgc3VibWl0LCB0cmFuc21pdCwgaG9zdCwgc2hhcmUsIGFuZC9vciBwdWJsaXNoIGFkdmVydGlzZW1lbnRzIG9yIHNvbGljaXRhdGlvbnMgb2YgYnVzaW5lc3M7IG9yPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlNlbGwgb3Igb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBhY2Nlc3MgZ3JhbnRlZCBoZXJlaW4uPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGhpcmQgUGFydHkgQ29udGVudC48L3N0cm9uZz4mbmJzcDtUaGUgU2VydmljZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiBUcmlidXRlIFRlY2hub2xvZ3kgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4gWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVsbGVjdHVhbCBQcm9wZXJ0eS48L3N0cm9uZz4mbmJzcDtZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvIG9yIGltYWdlLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgIkNvbnRlbnQiKSB0byBUcmlidXRlIFRlY2hub2xvZ3kgb3IgdmlhIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRvIGFueSB3ZWJzaXRlIG9mIGFueSBmdW5lcmFsIGhvbWUgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHByb3ZpZGVkIGJ5IFRyaWJ1dGUgVGVjaG5vbG9neSwgc3VjaCBDb250ZW50IHdpbGwgYmUgc2hhcmVkIHdpdGggYW5kIHN0b3JlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBhZmZpbGlhdGVzIGFuZCBwYXJ0bmVycywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBUcmlidXRlIEFyY2hpdmUgKHRyaWJ1dGVhcmNoaXZlLmNvbSksIGFuZCBtYXkgYWxzbyBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aCBvdGhlciBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJvdmlkZWQgYnkgVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTaXRlcywgaW5jbHVkaW5nIHByb2R1Y3RzIHN1Y2ggYXMgVHJpYnV0ZSBCb29rLiBXaXRoIHJlc3BlY3QgdG8gYW55IGltYWdlcyBvciB2aWRlb3MgdGhhdCB5b3UgcG9zdCBvciBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMsIHlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3UgaGF2ZSBzZWN1cmVkIHRoZSBwZXJtaXNzaW9uIG9mIGFueSBsaXZpbmcgcGVyc29ucyBkZXBpY3RlZCB0aGVyZWluIHRvIChpKSBwb3N0IHRoZW0sIGFuZCAoaWkpIHRoZSB1c2Ugb2Ygc3VjaCBDb250ZW50IGFzIHNldCBvdXQgaW4gdGhlc2UgVGVybXMuIFlvdSBoZXJlYnkgZ3JhbnQgdG8gVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWdlbnRzLCBhdHRvcm5leXMsIHJlcHJlc2VudGF0aXZlcywgcHJlZGVjZXNzb3JzLCBzdWNjZXNzb3JzLCBhZmZpbGlhdGVzLCBwYXJlbnRzLCBzdWJzaWRpYXJpZXMsIG5vbWluZWVzLCBsaWNlbnNlZXMsIGV4ZWN1dG9ycywgYWRtaW5pc3RyYXRvcnMsIGFzc2lnbnMsIGZ1bmVyYWwgaG9tZXMgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHRoYXQgYXJlIG91ciBDbGllbnRzLCBhbmQgdGhvc2UgYWN0aW5nIHdpdGggYXV0aG9yaXR5IG9mIHRoZSBmb3JlZ29pbmcgKGNvbGxlY3RpdmVseSwgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzJnJkcXVvOyksIGEgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBwZXJwZXR1YWwsIGlycmV2b2NhYmxlLCByb3lhbHR5IGZyZWUsIHRyYW5zZmVyYWJsZSwgYW5kIHN1YmxpY2Vuc2FibGUgcmlnaHQgYW5kIGxpY2Vuc2UgdG8gdXNlLCBzaGFyZSwgcmVwcm9kdWNlLCBkaXN0cmlidXRlLCBzZWxsLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YsIGV4Y2VycHQsIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGhvc3QsIGNhY2hlLCByb3V0ZSwgdHJhbnNtaXQsIHN0b3JlLCByZWZvcm1hdCwgZXhjZXJwdCwgZWRpdCwgYXJjaGl2ZSwgaW5kZXgsIGNyZWF0ZSBhbGdvcml0aG1zIGJhc2VkIG9uLCBtb2RpZnksIGFuZC9vciB0cmFuc2NvZGUgc3VjaCBDb250ZW50IGluIGFueSBhbmQgYWxsIGZvcm1hdHMgYW5kIHRocm91Z2ggYW55IGFuZCBhbGwgbWVhbnMgYW5kIGNoYW5uZWxzLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRocm91Z2ggZG93bmxvYWRpbmcgdGVjaG5vbG9naWVzLCBvbiB0aGUgaW50ZXJuZXQsIGFuZCBpbiBwdWJsaWNhdGlvbnMgYW5kIGFkdmVydGlzZW1lbnRzLiZuYnNwOyBZb3UgYWxzbyBoZXJlYnkgaXJyZXZvY2FibHkgd2FpdmUsIGFzIGFnYWluc3QgdGhlIFRyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzLCBhbGwgbW9yYWwgcmlnaHRzIGFuZCByaWdodHMgb2YgcmVzdHJhaW50IGluIHN1Y2ggQ29udGVudC4mbmJzcDsgVGhlIGxpY2Vuc2UsIGNvbnNlbnQsIGFuZCByZWxlYXNlIGhlcmVpbiBhcmUgYmluZGluZyB1cG9uIHlvdSBhbmQgeW91ciBoZWlycywgZXhlY3V0b3JzLCBhZG1pbmlzdHJhdG9ycywgc3VjY2Vzc29ycywgbGljZW5zZWVzLCBhbmQgYXNzaWducy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPkV4Y2VwdCBmb3IgQ29udGVudCwgYWxsIHRleHQsIGdyYXBoaWNzLCBwaG90b2dyYXBocywgdmlkZW9zLCB1c2VyIGludGVyZmFjZXMsIHRyYWRlbWFya3MsIGxvZ29zLCB0YWdsaW5lcywgYW5pbWF0aW9ucywgc291bmRzLCBtdXNpYyBhbmQgb3RoZXIgbWF0ZXJpYWxzIGNvbnRhaW5lZCBvbiBvciBjb21wcmlzaW5nIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgZGVzaWduLCBzdHJ1Y3R1cmUsIHNlbGVjdGlvbiwgb3JnYW5pemF0aW9uLCBjb21waWxhdGlvbiwgZGlzcGxheSwgYXJyYW5nZW1lbnQsIGV4cHJlc3Npb24sIGFuZCAmbGRxdW87bG9vayBhbmQgZmVlbCZyZHF1bzsgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcywgYW5kIHRoZSBzb2Z0d2FyZSBjb21wcmlzaW5nIGFuZC9vciBlbWJvZHlpbmcgdGhlIGZvcmVnb2luZyAoY29sbGVjdGl2ZWx5LCB0aGUgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMmcmRxdW87KSwgYXJlIG93bmVkLCBjb250cm9sbGVkLCBvciBsaWNlbnNlZCBieSBvciB0byBUcmlidXRlIFRlY2hub2xvZ3ksIGFuZCBhcmUgcHJvdGVjdGVkIHVuZGVyIGFwcGxpY2FibGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3MsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gY29weXJpZ2h0LCB0cmFkZSBkcmVzcywgdHJhZGVtYXJrLCBhbmQvb3IgcGF0ZW50IGxhd3MuJm5ic3A7IFlvdXIgdXNlIG9mIHRoZSBTZXJ2aWNlcyBnaXZlcyB5b3Ugbm8gb3duZXJzaGlwIHJpZ2h0cyBpbiB0aGUgVHJpYnV0ZSBUZWNobm9sb2d5IE1hdGVyaWFscy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3ksIG9yIHRoaXJkIHBhcnRpZXMgZnJvbSB3aG9tIFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgcGVybWlzc2lvbiwgb3duIHRoZSB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIFNlcnZpY2VzLiZuYnNwOyBBbGwgcmlnaHRzIGFyZSByZXNlcnZlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIHNhaWQgdGhpcmQgcGFydGllcywgYW5kIG5vIGltcGxpZWQgcmlnaHRzIGFyZSBncmFudGVkIHRvIHlvdSBvciBhbnkgdGhpcmQgcGFydGllcy4mbmJzcDsgVGhlc2UgYW5kIG90aGVyIGdyYXBoaWNzLCBsb2dvcywgc2VydmljZSBtYXJrcywgdHJhZGVtYXJrcywgYW5kIHRyYWRlIGRyZXNzIG9mIFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgaXRzIGxpY2Vuc29ycyBtYXkgbm90IGJlIHVzZWQgd2l0aG91dCBwcmlvciB3cml0dGVuIGNvbnNlbnQgb2YgVHJpYnV0ZSBUZWNobm9sb2d5IG9yIGl0cyBsaWNlbnNvciwgYXMgdGhlIGNhc2UgbWF5IGJlLiZuYnNwOyBXaXRob3V0IGxpbWl0aW5nIHRoZSBmb3JlZ29pbmcsIG5vIFRyaWJ1dGUgVGVjaG5vbG9neSB0cmFkZW1hcmsgb3IgdHJhZGUgZHJlc3MgbWF5IGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoIGFueSBwcm9kdWN0IG9yIHNlcnZpY2UgdGhhdCBpcyBub3QgVHJpYnV0ZSBUZWNobm9sb2d5J3MgaW4gYW55IG1hbm5lciB0aGF0IGlzIGxpa2VseSB0byBjYXVzZSBjb25mdXNpb24gYW1vbmcgdXNlcnMsIG9yIGluIGFueSBtYW5uZXIgdGhhdCBkaXNwYXJhZ2VzIG9yIGRpc2NyZWRpdHMgVHJpYnV0ZSBUZWNobm9sb2d5LiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPllvdSBncmFudCBUcmlidXRlIFRlY2hub2xvZ3kgYSBwZXJwZXR1YWwsIHJveWFsdHkgZnJlZSwgaXJyZXZvY2FibGUsIHN1Yi1saWNlbnNhYmxlLCBhc3NpZ25hYmxlLCBhbmQgdHJhbnNmZXJhYmxlIGxpY2Vuc2UgdG8gYW55IGZlZWRiYWNrLCBzdWJtaXNzaW9ucywgaWRlYXMsIGNvbmNlcHRzLCBrbm93IGhvdywgb3IgdGVjaG5pcXVlcyB0aGF0IHlvdSBzdWJtaXQgYWJvdXQgdGhlIFNlcnZpY2VzIG9yIFRyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMgZm9yIGFueSBwdXJwb3NlIChpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgY29tbWVyY2lhbGl6YXRpb24pIGFuZCB3aXRob3V0IGNvbXBlbnNhdGlvbiB0byB5b3UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VXNlciBDb250ZW50Ljwvc3Ryb25nPiZuYnNwO1lvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodHMsIGxpY2Vuc2VzLCBjb25zZW50cyBhbmQgcGVybWlzc2lvbnMgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgVHJpYnV0ZSBUZWNobm9sb2d5IHRoZSBDb250ZW50IHlvdSBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMuIElmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBDb250ZW50IG9yIGFueSBvdGhlciBtYXRlcmlhbCBwb3N0ZWQgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcyBoYXMgYmVlbiB1c2VkIGluIGEgd2F5IHRoYXQgY29uc3RpdHV0ZXMgY29weXJpZ2h0IGluZnJpbmdlbWVudCwgcGxlYXNlIG5vdGlmeSB1cyBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZXMgc2V0IGZvcnRoIGluIHRoaXMgU2VjdGlvbi48L2xpPg0KPC9vbD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+V2UgcmVzcGVjdCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBvdGhlcnMgYW5kIGV4cGVjdCBvdXIgdXNlcnMgdG8gZG8gdGhlIHNhbWUuIEluIGFjY29yZGFuY2Ugd2l0aCB0aGUgRGlnaXRhbCBNaWxsZW5uaXVtIENvcHlyaWdodCBBY3QsIHdlIHdpbGwgcmVzcG9uZCBwcm9tcHRseSB0byBub3RpY2VzIG9mIGFsbGVnZWQgaW5mcmluZ2VtZW50IHRoYXQgYXJlIHJlcG9ydGVkIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCwgaWRlbnRpZmllZCBiZWxvdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48dT5Ob3RpY2VzIG9mIEFsbGVnZWQgSW5mcmluZ2VtZW50PC91Pjo8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5JZiB5b3UgYXJlIGEgY29weXJpZ2h0IG93bmVyLCBhdXRob3JpemVkIHRvIGFjdCBvbiBiZWhhbGYgb2Ygb25lLCBvciBhdXRob3JpemVkIHRvIGFjdCB1bmRlciBhbnkgZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIGNvcHlyaWdodCwgcGxlYXNlIHJlcG9ydCBhbGxlZ2VkIGNvcHlyaWdodCBpbmZyaW5nZW1lbnRzIHRha2luZyBwbGFjZSBvbiBvciB0aHJvdWdoIG91ciBTZXJ2aWNlcyBieSBzZW5kaW5nIHVzIGEgbm90aWNlICgmbGRxdW87Tm90aWNlJnJkcXVvOykgY29tcGx5aW5nIHdpdGggdGhlIGZvbGxvd2luZyByZXF1aXJlbWVudHMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBjb3B5cmlnaHRlZCB3b3JrcyB0aGF0IHlvdSBjbGFpbSBoYXZlIGJlZW4gaW5mcmluZ2VkLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBtYXRlcmlhbCBvciBsaW5rIHlvdSBjbGFpbSBpcyBpbmZyaW5naW5nIChvciB0aGUgc3ViamVjdCBvZiBpbmZyaW5naW5nIGFjdGl2aXR5KSBhbmQgdGhhdCBhY2Nlc3MgdG8gd2hpY2ggaXMgdG8gYmUgZGlzYWJsZWQsIGluY2x1ZGluZyBhdCBhIG1pbmltdW0sIGlmIGFwcGxpY2FibGUsIHRoZSBVUkwgb2YgdGhlIGxpbmsgc2hvd24gb24gdGhlIFNpdGUgd2hlcmUgc3VjaCBtYXRlcmlhbCBtYXkgYmUgZm91bmQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIG1haWxpbmcgYWRkcmVzcywgdGVsZXBob25lIG51bWJlciwgYW5kLCBpZiBhdmFpbGFibGUsIGVtYWlsIGFkZHJlc3MuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+SW5jbHVkZSBib3RoIG9mIHRoZSBmb2xsb3dpbmcgc3RhdGVtZW50cyBpbiB0aGUgYm9keSBvZiB0aGUgTm90aWNlOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+IkkgaGVyZWJ5IHN0YXRlIHRoYXQgSSBoYXZlIGEgZ29vZCBmYWl0aCBiZWxpZWYgdGhhdCB0aGUgZGlzcHV0ZWQgdXNlIG9mIHRoZSBjb3B5cmlnaHRlZCBtYXRlcmlhbCBpcyBub3QgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IG93bmVyLCBpdHMgYWdlbnQsIG9yIHRoZSBsYXcgKGUuZy4sIGFzIGEgZmFpciB1c2UpLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD4iSSBoZXJlYnkgc3RhdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gaW4gdGhpcyBOb3RpY2UgaXMgYWNjdXJhdGUgYW5kLCB1bmRlciBwZW5hbHR5IG9mIHBlcmp1cnksIHRoYXQgSSBhbSB0aGUgb3duZXIsIG9yIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgb3duZXIsIG9mIHRoZSBjb3B5cmlnaHQgb3Igb2YgYW4gZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIHRoZSBjb3B5cmlnaHQgdGhhdCBpcyBhbGxlZ2VkbHkgaW5mcmluZ2VkLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIGZ1bGwgbGVnYWwgbmFtZSBhbmQgeW91ciBlbGVjdHJvbmljIG9yIHBoeXNpY2FsIHNpZ25hdHVyZS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPlBsZWFzZSBkZWxpdmVyIHRoaXMgTm90aWNlLCB3aXRoIGFsbCBpdGVtcyBjb21wbGV0ZWQsIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCBhdCB0aGUgZm9sbG93aW5nIGFkZHJlc3M6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+Q29weXJpZ2h0IEFnZW50PC9wPg0KPHA+Yy9vIFRyaWJ1dGUgVGVjaG5vbG9neTwvcD4NCjxwPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzwvcD4NCjxwPk1pZGRsZXRvbiwgV0kgNTM1NjI8L3A+DQo8cD5QaG9uZTogODY2LTMwMy0xODgwPC9wPg0KPHA+RW1haWw6IGNvcHlyaWdodEB0cmlidXRldGVjaC5jb208L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBUcmlidXRlIFRlY2hub2xvZ3kgb3Igb3RoZXJzLiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4mbmJzcDtZb3UgYWdyZWUgdGhhdCB5b3Ugd2lsbCBiZSBwZXJzb25hbGx5IHJlc3BvbnNpYmxlIGZvciB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMsIGFuZCB5b3UgYWdyZWUgdG8gZGVmZW5kLCBpbmRlbW5pZnksIGFuZCBob2xkIGhhcm1sZXNzIFRyaWJ1dGUgVGVjaG5vbG9neSwgaXRzIGFmZmlsaWF0ZXMsIGFuZCBlYWNoIG9mIHRoZWlyIHJlc3BlY3RpdmUgZGlyZWN0b3JzLCBvZmZpY2VycywgZW1wbG95ZWVzIGFuZCBhZ2VudHMgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBpbnZvbHZpbmcgYW55IENvbnRlbnQgeW91IHBvc3Qgb3Igc3VibWl0IHRvIHVzIG9yIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eTsgb3IgKHYpIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMgYnkgYW55b25lIGFjY2Vzc2luZyB0aGUgU2VydmljZXMgdXNpbmcgeW91ciB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLiBUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0LCBhdCBvdXIgb3duIGV4cGVuc2UsIHRvIGFzc3VtZSB0aGUgZXhjbHVzaXZlIGRlZmVuc2UgYW5kIGNvbnRyb2wgb2YgYW55IG1hdHRlciBvdGhlcndpc2Ugc3ViamVjdCB0byBpbmRlbW5pZmljYXRpb24gYnkgeW91LCBhbmQgaW4gc3VjaCBjYXNlLCB5b3UgYWdyZWUgdG8gY29vcGVyYXRlIHdpdGggb3VyIGRlZmVuc2Ugb2Ygc3VjaCBjbGFpbS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQgYW5kIHdpdGhvdXQgbGltaXRpbmcgdGhlIGZvcmVnb2luZywgeW91IGFncmVlIHRvIGluZGVtbmlmeSBUcmlidXRlIFRlY2hub2xvZ3kgYWdhaW5zdCBhbnkgY2xhaW1zIHRoYXQgQ29udGVudCB5b3Ugc3VibWl0IHRvIFRyaWJ1dGUgVGVjaG5vbG9neSB2aW9sYXRlcyB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZC9vciBwcml2YWN5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIHRoaXJkIHBhcnR5LjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGVybWluYXRpb24uPC9zdHJvbmc+Jm5ic3A7SWYgeW91IHZpb2xhdGUgdGhlc2UgVGVybXMsIHlvdXIgcGVybWlzc2lvbiB0byB1c2UgdGhlIFNlcnZpY2VzIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUuIEluIGFkZGl0aW9uLCBUcmlidXRlIFRlY2hub2xvZ3kgaW4gaXRzIHNvbGUgZGlzY3JldGlvbiBtYXkgc3VzcGVuZCBvciB0ZXJtaW5hdGUgeW91ciB1c2VyIGFjY291bnQgYW5kL29yIHN1c3BlbmQgb3IgdGVybWluYXRlIHNvbWUgb3IgYWxsIG9mIHlvdXIgYWNjZXNzIHRvIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSwgd2l0aCBvciB3aXRob3V0IG5vdGljZSB0byB5b3UuIFlvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBhdCZuYnNwO3dlYnNpdGVzQHRyaWJ1dGV0ZWNoLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBUcmlidXRlIFRlY2hub2xvZ3kgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+TW9kaWZpY2F0aW9uIG9mIHRoZSBUZXJtcy48L3N0cm9uZz4mbmJzcDtUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zIHVwb24gdXBkYXRpbmcgdGhlIHBvc3Rpbmcgb2YgdGhlc2UgVGVybXMuIFdlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZyBieSB1cGRhdGluZyB0aGlzIHBvc3RpbmcuIFlvdSBzaG91bGQsIHRoZXJlZm9yZSwgcGVyaW9kaWNhbGx5IHZpc2l0IHRoaXMgcGFnZSB0byByZXZpZXcgdGhlIGN1cnJlbnQgVGVybXMsIHNvIHlvdSBhcmUgYXdhcmUgb2YgYW55IHN1Y2ggcmV2aXNpb25zIHRvIHdoaWNoIHlvdSBhcmUgYm91bmQuIFlvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2VydmljZXMgZm9sbG93aW5nIHJldmlzaW9ucyB0byB0aGVzZSBUZXJtcyB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkRpc2NsYWltZXJzIG9mIFdhcnJhbnRpZXMuPC9zdHJvbmc+Jm5ic3A7VEhFIFNFUlZJQ0VTIEFSRSBQUk9WSURFRCAmbGRxdW87QVMgSVMmcmRxdW87IEFORCBPTiBBTiAmbGRxdW87QVMgQVZBSUxBQkxFJnJkcXVvOyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPUiBDT05ESVRJT04gT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuJm5ic3A7IEFsdGhvdWdoIFRyaWJ1dGUgVGVjaG5vbG9neSBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTZXJ2aWNlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiZuYnNwOyBUUklCVVRFIFRFQ0hOT0xPR1kgU1BFQ0lGSUNBTExZIChCVVQgV0lUSE9VVCBMSU1JVEFUSU9OKSBESVNDTEFJTVMgKEkpIEFOWSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUVVBTElUWSBPRiBJTkZPUk1BVElPTiwgUVVJRVQgRU5KT1lNRU5ULCBBTkQgVElUTEUvTk9OLUlORlJJTkdFTUVOVDsgQU5EIChJSSkgQU5ZIFdBUlJBTlRJRVMgQVJJU0lORyBPVVQgT0YgQ09VUlNFLU9GLURFQUxJTkcsIFVTQUdFLCBPUiBUUkFERS4mbmJzcDsgWU9VIEFTU1VNRSBBTEwgUklTSyBGT1IgQU5ZL0FMTCBEQU1BR0VTIFRIQVQgTUFZIFJFU1VMVCBGUk9NIFlPVVIgVVNFIE9GIE9SIEFDQ0VTUyBUTyBUSEUgU0lURVMgQU5EIFRIRSBTRVJWSUNFUy4mbmJzcDsgVFJJQlVURSBURUNITk9MT0dZIERPRVMgTk9UIFdBUlJBTlQgT1IgR1VBUkFOVEVFIFRIRSBBQ0NVUkFDWSwgQ09NUExFVEVORVNTIE9SIFRJTUVMSU5FU1MgT0YsIEFORCBESVNDTEFJTVMgQUxMIExJQUJJTElUWSBGT1IsIEFOWSBFUlJPUlMgT1IgT1RIRVIgSU5BQ0NVUkFDSUVTIElOIFRIRSBJTkZPUk1BVElPTiwgQ09OVEVOVCwgUkVDT01NRU5EQVRJT05TIEFORCBNQVRFUklBTFMgTUFERSBBVkFJTEFCTEUgVEhST1VHSCBUSEUgU0lURVMgT1IgVEhFIFNFUlZJQ0VTLiBUUklCVVRFIFRFQ0hOT0xPR1kgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIEZJTEVTIEFWQUlMQUJMRSBGT1IgRE9XTkxPQUQgV0lMTCBCRSBGUkVFIE9GIFZJUlVTRVMsIFdPUk1TLCBUUk9KQU4gSE9SU0VTIE9SIE9USEVSIERFU1RSVUNUSVZFIFBST0dSQU1NSU5HLiBZT1UgQVJFIFJFU1BPTlNJQkxFIEZPUiBJTVBMRU1FTlRJTkcgUFJPQ0VEVVJFUyBTVUZGSUNJRU5UIFRPIFNBVElTRlkgWU9VUiBORUVEUyBGT1IgREFUQSBCQUNLIFVQIEFORCBTRUNVUklUWS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiZuYnNwO0lOIE5PIEVWRU5UIFdJTEwgVFJJQlVURSBURUNITk9MT0dZIE9SIElUUyBBRkZJTElBVEVTLCBWRU5ET1JTLCBTVVBQTElFUlMsIE9SIFBBUlRORVJTIEJFIExJQUJMRSBUTyBZT1UgRk9SIEFOWSBJTkNJREVOVEFMLCBTUEVDSUFMLCBDT05TRVFVRU5USUFMLCBJTkRJUkVDVCwgRVhFTVBMQVJZIE9SIFBVTklUSVZFIERBTUFHRVMgKElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSE9TRSBSRVNVTFRJTkcgRlJPTSBMT1NUIFBST0ZJVFMsIExPU1QgREFUQSwgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSwgV0hFVEhFUiBCQVNFRCBPTiBXQVJSQU5UWSwgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFKSwgU1RBVFVURSwgT1IgQU5ZIE9USEVSIExFR0FMIFRIRU9SWSwgV0hFVEhFUiBPUiBOT1QgVFJJQlVURSBURUNITk9MT0dZIEhBUyBCRUVOIElORk9STUVEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPk5PVFdJVEhTVEFORElORyBBTllUSElORyBUTyBUSEUgQ09OVFJBUlkgSU4gVEhFU0UgVEVSTVMsIFVOREVSIE5PIENJUkNVTVNUQU5DRVMgU0hBTEwgVFJJQlVURSBURUNITk9MT0dZJnJzcXVvO1MsIE9SIElUUyBBRkZJTElBVEUmcnNxdW87UywgVkVORE9SJnJzcXVvO1MsIFNVUFBMSUVSJnJzcXVvO1MsIE9SIFBBUlRORVImcnNxdW87UywgQUdHUkVHQVRFIExJQUJJTElUWSBUTyBZT1UgRVhDRUVEIFRIRSBMRVNTRVIgT0YgVEhFIEFNT1VOVCBZT1UgUEFJRCBUTyBVUyBGT1IgVEhFIFBST0RVQ1QgT1IgU0VSVklDRSBSRUxBVEVEIFRPIFRIRSBDTEFJTSwgSUYgQU5ZLCBPUiBPTkUgSFVORFJFRCBET0xMQVJTICgkMTAwKS4mbmJzcDsgU09NRSBKVVJJU0RJQ1RJT05TIERPIE5PVCBBTExPVyBUSEUgRElTQ0xBSU1FUiBPRiBXQVJSQU5USUVTIE9SIExJTUlUQVRJT04gT0YgTElBQklMSVRZIElOIENFUlRBSU4gQ0lSQ1VNU1RBTkNFUy4mbmJzcDsgQUNDT1JESU5HTFksIFNPTUUgT0YgVEhFIEFCT1ZFIExJTUlUQVRJT05TIE1BWSBOT1QgQVBQTFkgVE8gWU9VLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMuPC9zdHJvbmc+Jm5ic3A7WU9VIEFORCBUUklCVVRFIFRFQ0hOT0xPR1kgQVJFIEFHUkVFSU5HIFRPIEdJVkUgVVAgQU5ZIFJJR0hUUyBUTyBMSVRJR0FURSBDTEFJTVMgSU4gQSBDT1VSVCBPUiBCRUZPUkUgQSBKVVJZLCBPUiBUTyBQQVJUSUNJUEFURSBJTiBBIENMQVNTIEFDVElPTiBPUiBSRVBSRVNFTlRBVElWRSBBQ1RJT04gV0lUSCBSRVNQRUNUIFRPIEEgQ0xBSU0uJm5ic3A7IE9USEVSIFJJR0hUUyBUSEFUIFlPVSBXT1VMRCBIQVZFIElGIFlPVSBXRU5UIFRPIENPVVJUIE1BWSBBTFNPIEJFIFVOQVZBSUxBQkxFIE9SIE1BWSBCRSBMSU1JVEVEIElOIEFSQklUUkFUSU9OLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPkFOWSBDTEFJTSwgRElTUFVURSBPUiBDT05UUk9WRVJTWSAoV0hFVEhFUiBJTiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIFdIRVRIRVIgUFJFLUVYSVNUSU5HLCBQUkVTRU5UIE9SIEZVVFVSRSwgQU5EIElOQ0xVRElORyBTVEFUVVRPUlksIENPTlNVTUVSIFBST1RFQ1RJT04sIENPTU1PTiBMQVcsIElOVEVOVElPTkFMIFRPUlQsIElOSlVOQ1RJVkUgQU5EIEVRVUlUQUJMRSBDTEFJTVMpIEJFVFdFRU4gWU9VIEFORCBVUyBBUklTSU5HIEZST00gT1IgUkVMQVRJTkcgSU4gQU5ZIFdBWSBUTyBUSEVTRSBURVJNUyBPUiBZT1VSIFVTRSBPRiBUSEUgU0lURSBPUiBTRVJWSUNFUywgSU5DTFVESU5HIEFOWSBQVVJDSEFTRSBPUiBVU0UgT0YgT1VSIFNFUlZJQ0VTIE9SIFBST0RVQ1RTLCBXSUxMIEJFIFJFU09MVkVEIEVYQ0xVU0lWRUxZIEFORCBGSU5BTExZIEJZIEJJTkRJTkcgQVJCSVRSQVRJT04uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2wgc3RhcnQ9Ijc4NzkiPg0KPGxpPklmIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnVzaW5lc3MgYWRkcmVzcyBvZiB0aGUgQ2xpZW50LCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgaXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgb3IgYW55d2hlcmUgZWxzZSBpbiB0aGUgd29ybGQgb3V0c2lkZSBvZiBDYW5hZGEsIGFyYml0cmF0aW9uIHdpbGwgYmUgYWRtaW5pc3RlcmVkIGJ5IHRoZSBBbWVyaWNhbiBBcmJpdHJhdGlvbiBBc3NvY2lhdGlvbiAoJmxkcXVvO0FBQSZyZHF1bzspIGluIGFjY29yZGFuY2Ugd2l0aCBlaXRoZXIgdGhlIENvbnN1bWVyIEFyYml0cmF0aW9uIFJ1bGVzIG9yIHRoZSBDb21tZXJjaWFsIEFyYml0cmF0aW9uIFJ1bGVzIGFzIGFwcGxpY2FibGUgKHRoZSAmbGRxdW87QUFBIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24gMTIsIGFuZCB0aGUgRmVkZXJhbCBBcmJpdHJhdGlvbiBBY3QgKCZsZHF1bztGQUEmcmRxdW87KSB3aWxsIGdvdmVybiB0aGUgaW50ZXJwcmV0YXRpb24gYW5kIGVuZm9yY2VtZW50IG9mIHRoaXMgU2VjdGlvbiAxMjsgcHJvdmlkZWQsIHRoYXQgaWYgdGhlIEZBQSBpcyBpbmFwcGxpY2FibGUgZm9yIGFueSByZWFzb24sIHRoZSBhcHBsaWNhYmxlIGdvdmVybmluZyBsYXcgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBzaGFsbCBhcHBseSwgaW5jbHVkaW5nIHdpdGggcmVzcGVjdCB0byBEZWxhd2FyZSBsYXcsIERlbC4gQ29kZSB0aXQuIDEwICZzZWN0OyA1NzAxIGV0IHNlcSwgd2l0aG91dCByZWdhcmQgdG8gY2hvaWNlIG9mIGxhdyBwcmluY2lwbGVzLiAoVGhlIEFBQSBSdWxlcyBhcmUgYXZhaWxhYmxlIGF0IGFkci5vcmcgb3IgYnkgY2FsbGluZyB0aGUgQUFBIGF0IDEtODAwLTc3OC03ODc5LikgVW5sZXNzIHlvdSBhbmQgd2UgbXV0dWFsbHkgYWdyZWUgb3RoZXJ3aXNlLCBhbnkgaW4tcGVyc29uIGFyYml0cmF0aW9uIGhlYXJpbmdzIGJldHdlZW4geW91IGFuZCB1cyB3aWxsIHRha2UgcGxhY2UgaW4gdGhlIGFwcGxpY2FibGUganVyaXNkaWN0aW9uIGxpc3RlZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBiZWxvdy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbCBzdGFydD0iODQ1Ij4NCjxsaT5JZiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCwgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGlzIGluIENhbmFkYSwgYXJiaXRyYXRpb24gd2lsbCBiZSBhZG1pbmlzdGVyZWQgYnkgdGhlIEludGVybmF0aW9uYWwgQ2VudHJlIGZvciBEaXNwdXRlIFJlc29sdXRpb24gQ2FuYWRhICgmbGRxdW87SUNEUiBDYW5hZGEmcmRxdW87KSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENhbmFkaWFuIEFyYml0cmF0aW9uIFJ1bGVzICh0aGUgJmxkcXVvO0lDRFIgQ2FuYWRhIEFyYml0cmF0aW9uIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24uIChUaGUgSUNEUiBDYW5hZGEgQXJiaXRyYXRpb24gUnVsZXMgYXJlIGF2YWlsYWJsZSBhdCBJQ0RSLm9yZyBvciBieSBjYWxsaW5nIHRoZSBJQ0RSIENhbmFkYSBhdCAxLTg0NC04NTktMDg0NS4pIFRoZSBzZWF0IG9mIGFyYml0cmF0aW9uIHNoYWxsIGJlIFRvcm9udG8sIE9udGFyaW8uIFVubGVzcyB5b3UgYW5kIHdlIG11dHVhbGx5IGFncmVlIG90aGVyd2lzZSwgYW55IGluLXBlcnNvbiBhcmJpdHJhdGlvbiBoZWFyaW5ncyBiZXR3ZWVuIHlvdSBhbmQgdXMgd2lsbCB0YWtlIHBsYWNlIGluIHRoZSBhcHBsaWNhYmxlIGp1cmlzZGljdGlvbiBsaXN0ZWQgaW4gdGhlIHRhYmxlIGluIFNlY3Rpb24gMTMgYmVsb3cuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+RXhjZXB0IGFzIHByb3ZpZGVkIGhlcmVpbiwgdGhlIGFyYml0cmF0b3Igd2lsbCBoYXZlIGV4Y2x1c2l2ZSBhdXRob3JpdHkgdG8gcmVzb2x2ZSBhbnkgZGlzcHV0ZSByZWxhdGluZyB0byBhcmJpdHJhYmlsaXR5IGFuZC9vciBlbmZvcmNlYWJpbGl0eSBvZiB0aGlzIGFyYml0cmF0aW9uIHByb3Zpc2lvbiwgaW5jbHVkaW5nIGFueSB1bmNvbnNjaW9uYWJpbGl0eSBjaGFsbGVuZ2Ugb3IgYW55IG90aGVyIGNoYWxsZW5nZSB0aGF0IHRoZSBhcmJpdHJhdGlvbiBwcm92aXNpb24gb3IgdGhlIFRlcm1zIGFyZSB2b2lkLCB2b2lkYWJsZSBvciBvdGhlcndpc2UgaW52YWxpZC4gVGhlIGFyYml0cmF0b3Igd2lsbCBiZSBlbXBvd2VyZWQgdG8gZ3JhbnQgd2hhdGV2ZXIgcmVsaWVmIHdvdWxkIGJlIGF2YWlsYWJsZSBpbiBjb3VydCB1bmRlciBsYXcgb3IgaW4gZXF1aXR5LiZuYnNwOyBBbnkgYXdhcmQgb2YgdGhlIGFyYml0cmF0b3Iocykgd2lsbCBiZSBmaW5hbCBhbmQgYmluZGluZyBvbiBlYWNoIG9mIHRoZSBwYXJ0aWVzIGFuZCBtYXkgYmUgZW50ZXJlZCBhcyBhIGp1ZGdtZW50IGluIGFueSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uLiBZb3UgYW5kIHdlIGFncmVlIHRoYXQgbmVpdGhlciBwYXJ0eSBzaGFsbCBhcHBlYWwgYW55IGF3YXJkIG9mIHRoZSBhcmJpdHJhdG9yLCBpbmNsdWRpbmcgYW55IGFwcGVhbCBvbiBhIHF1ZXN0aW9uIG9mIGxhdywgcXVlc3Rpb24gb2YgZmFjdCBvciBxdWVzdGlvbiBvZiBtaXhlZCBmYWN0IGFuZCBsYXcuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+V2Ugd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcGF5aW5nIGFueSBpbmRpdmlkdWFsIGNvbnN1bWVyJnJzcXVvO3MgYXJiaXRyYXRpb24vYXJiaXRyYXRvciBmZWVzLiBJZiBhbiBpbmRpdmlkdWFsIGNvbnN1bWVyIHByZXZhaWxzIG9uIGFueSBjbGFpbSB0aGF0IGFmZm9yZHMgdGhlIHByZXZhaWxpbmcgcGFydHkgYXR0b3JuZXlzJyBmZWVzLCB0aGUgYXJiaXRyYXRvciBtYXkgYXdhcmQgcmVhc29uYWJsZSBmZWVzIHRvIHlvdSB1bmRlciB0aGUgc3RhbmRhcmRzIGZvciBmZWUgc2hpZnRpbmcgcHJvdmlkZWQgYnkgbGF3LiZuYnNwOyBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgdGhpcyBTZWN0aW9uIDEyKEUpIHNoYWxsIG9ubHkgYXBwbHkgdG8gaW5kaXZpZHVhbCBjb25zdW1lcnMuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+WW91IGFncmVlIHRvIGFuIGFyYml0cmF0aW9uIG9uIGFuIGluZGl2aWR1YWwgYmFzaXMuIEluIGFueSBkaXNwdXRlLCBORUlUSEVSIFlPVSBOT1IgVFJJQlVURSBURUNITk9MT0dZIFdJTEwgQkUgRU5USVRMRUQgVE8gSk9JTiBPUiBDT05TT0xJREFURSBDTEFJTVMgQlkgT1IgQUdBSU5TVCBPVEhFUiBDVVNUT01FUlMgSU4gQ09VUlQgT1IgSU4gQVJCSVRSQVRJT04gT1IgT1RIRVJXSVNFIFBBUlRJQ0lQQVRFIElOIEFOWSBDTEFJTSBBUyBBIENMQVNTIFJFUFJFU0VOVEFUSVZFLCBDTEFTUyBNRU1CRVIgT1IgSU4gQSBQUklWQVRFIEFUVE9STkVZIEdFTkVSQUwgQ0FQQUNJVFkuJm5ic3A7IFRoZSBhcmJpdHJhbCB0cmlidW5hbCBzaGFsbCBub3QgY29uc29saWRhdGUgbW9yZSB0aGFuIG9uZSBwZXJzb24ncyBjbGFpbXMgYW5kIHNoYWxsIG5vdCBvdGhlcndpc2UgcHJlc2lkZSBvdmVyIGFueSBmb3JtIG9mIGEgcmVwcmVzZW50YXRpdmUgb3IgY2xhc3MgcHJvY2VlZGluZy4mbmJzcDsgVGhlIGFyYml0cmFsIHRyaWJ1bmFsIGhhcyBubyBwb3dlciB0byBjb25zaWRlciB0aGUgZW5mb3JjZWFiaWxpdHkgb2YgdGhpcyBjbGFzcyBhcmJpdHJhdGlvbiB3YWl2ZXIgYW5kIGFueSBjaGFsbGVuZ2UgdG8gdGhlIGNsYXNzIGFyYml0cmF0aW9uIHdhaXZlciBtYXkgb25seSBiZSByYWlzZWQgaW4gYSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uIGxvY2F0ZWQgaW4gdGhlIGp1cmlzZGljdGlvbiBzZXQgZm9ydGggaW4gU2VjdGlvbiAxMyBiZWxvdy4mbmJzcDs8L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgU2VjdGlvbiBpcyBmb3VuZCB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwcm92aXNpb24gd2lsbCBiZSBzZXZlcmVkIGFuZCB0aGUgcmVtYWluaW5nIGFyYml0cmF0aW9uIHRlcm1zIHdpbGwgYmUgZW5mb3JjZWQ7IHByb3ZpZGVkLCB0aGF0IGluIHRoZSBldmVudCBzdWJzZWN0aW9uIChGKSBpcyBmb3VuZCB0byBiZSB1bmVuZm9yY2VhYmxlLCBhbGwgb2YgdGhpcyBTZWN0aW9uIDEyIHNoYWxsIGJlIGRlZW1lZCBudWxsIGFuZCB2b2lkIGFuZCBvZiBubyBlZmZlY3QuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Db250cmFjdGluZyBFbnRpdHk7IEdvdmVybmluZyBMYXcuPC9zdHJvbmc+Jm5ic3A7IEFsbCByZWZlcmVuY2VzIHRvICZsZHF1bztUcmlidXRlIFRlY2hub2xvZ3ksJnJkcXVvOyAmbGRxdW87d2UsJnJkcXVvOyAmbGRxdW87dXMmcmRxdW87IG9yICZsZHF1bztvdXImcmRxdW87IGluIHRoZSBUZXJtcyByZWZlciB0byB0aGUgYXBwbGljYWJsZSBlbnRpdHkgc3BlY2lmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgd2hpY2ggaXMgYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFzIHBvc3RlZCBvbiBzdWNoIHdlYnNpdGUuIEFkZGl0aW9uYWxseSwgdGhlc2UgVGVybXMgYXJlIGdvdmVybmVkIGJ5IHRoZSBsYXdzIG9mIHRoZSBzdGF0ZSBvciBwcm92aW5jZSBpZGVudGlmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgYWdhaW4gYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFuZCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDsgVG8gdGhlIGV4dGVudCB0aGF0IGFueSBsYXdzdWl0IG9yIGNvdXJ0IHByb2NlZWRpbmcgaXMgcGVybWl0dGVkIGhlcmV1bmRlciwgeW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3kgYWdyZWUgdG8gc3VibWl0IHRvIHRoZSBleGNsdXNpdmUgcGVyc29uYWwganVyaXNkaWN0aW9uIG9mIHRoZSBjb3VydHMgbG9jYXRlZCBpbiBhbmQgZm9yIHRoZSAmcmRxdW87RXhjbHVzaXZlIEp1cmlzZGljdGlvbiZyZHF1bzsgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgYmVsb3csIGZvciB0aGUgcHVycG9zZSBvZiBsaXRpZ2F0aW5nIGFsbCBzdWNoIGRpc3B1dGVzLiZuYnNwOyBBbnkgY2F1c2Ugb2YgYWN0aW9uIG9yIGNsYWltIHdpdGggcmVzcGVjdCB0byB0aGUgU2l0ZXMgb3IgdGhlIFNlcnZpY2VzIG11c3QgYmUgY29tbWVuY2VkIHdpdGhpbiB0d28gKDIpIHllYXJzIGFmdGVyIHRoZSBhY3Rpb24gb3IgY2xhaW0gYXJpc2VzIG9yIGlzIGRpc2NvdmVyZWQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8dGFibGU+DQo8dGJvZHk+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD48c3Ryb25nPkxvY2F0aW9uIG9mIEJ1c2luZXNzIEFkZHJlc3M8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIENvbnRyYWN0aW5nIEVudGl0eTwvc3Ryb25nPjwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjEwNyI+DQo8cD48c3Ryb25nPkdvdmVybmluZyBMYXc8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+PHN0cm9uZz5FeGNsdXNpdmUgSnVyaXNkaWN0aW9uPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD5DYW5hZGE8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+VHJpYnV0ZSBUZWNobm9sb2d5IENhbmFkYSwgVUxDLCBhIEJyaXRpc2ggQ29sdW1iaWEgdW5saW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTA3Ij4NCjxwPk9udGFyaW88L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+VG9yb250bywgT250YXJpbzwvcD4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIHdpZHRoPSIxMzYiPg0KPHA+VW5pdGVkIFN0YXRlcyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHdvcmxkIG91dHNpZGUgQ2FuYWRhPC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTYxIj4NCjxwPlRyaWJ1dGUgVGVjaG5vbG9neSBVUywgTExDLCBhIERlbGF3YXJlIGxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxMDciPg0KPHA+RGVsYXdhcmU8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+TWFkaXNvbiwgV2lzY29uc2luPC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMgYW5kIFNlcnZpY2VzLjwvc3Ryb25nPiZuYnNwO1RyaWJ1dGUgVGVjaG5vbG9neSByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcyBhdCBhbnkgdGltZSB3aXRob3V0IGFueSBub3RpY2Ugb3IgZnVydGhlciBvYmxpZ2F0aW9uIHRvIHlvdS4gWW91IGFncmVlIHRoYXQgVHJpYnV0ZSBUZWNobm9sb2d5IHdpbGwgbm90IGJlIGxpYWJsZSB0byB5b3Ugb3IgdG8gYW55IHRoaXJkIHBhcnR5IGZvciBhbnkgbW9kaWZpY2F0aW9uLCBzdXNwZW5zaW9uLCBvciBkaXNjb250aW51YW5jZSBvZiBhbnkgb2YgdGhlIFNpdGVzIG9yIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz48L2xpPg0KPC9vbD4NCjxvbD4NCjxvbD4NCjxsaT48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVW5sZXNzIG90aGVyd2lzZSBleHByZXNzbHkgc3RhdGVkIGhlcmVpbiBvciBhbm90aGVyIHdyaXR0ZW4gYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3ksIHRoZXNlIFRlcm1zIGNvbnN0aXR1dGUgdGhlIGVudGlyZSBhbmQgZXhjbHVzaXZlIHVuZGVyc3RhbmRpbmcgYW5kIGFncmVlbWVudCBiZXR3ZWVuIHlvdSBhbmQgVHJpYnV0ZSBUZWNobm9sb2d5IHJlZ2FyZGluZyB5b3VyIHVzZSBvZiBhbmQgYWNjZXNzIHRvIHRoZSBTaXRlcyBhbmQgU2VydmljZXMsIGFuZCBleGNlcHQgYXMgZXhwcmVzc2x5IHBlcm1pdHRlZCBhYm92ZSBtYXkgb25seSBiZSBhbWVuZGVkIGJ5IGEgd3JpdHRlbiBhZ3JlZW1lbnQgc2lnbmVkIGJ5IGF1dGhvcml6ZWQgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBwYXJ0aWVzLjwvbGk+DQo8bGk+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KPGxpPjx1PlBhcmFncmFwaCBIZWFkZXJzPC91Pi4gVXNlIG9mIHBhcmFncmFwaCBoZWFkZXJzIGluIHRoZSBUZXJtcyBpcyBmb3IgY29udmVuaWVuY2Ugb25seSBhbmQgc2hhbGwgbm90IGhhdmUgYW55IGltcGFjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2YgcGFydGljdWxhciBwcm92aXNpb25zLjwvbGk+DQo8bGk+PHU+U2V2ZXJhYmlsaXR5PC91Pi4gSW4gdGhlIGV2ZW50IHRoYXQgYW55IHBhcnQgb2YgdGhlIFRlcm1zIGlzIGhlbGQgdG8gYmUgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwYXJ0IHNoYWxsIGJlIGdpdmVuIGVmZmVjdCB0byB0aGUgZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlIGFuZCB0aGUgcmVtYWluaW5nIHBhcnRzIHdpbGwgcmVtYWluIGluIGZ1bGwgZm9yY2UgYW5kIGVmZmVjdC48L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Ob3RpY2UgdG8gQ2FsaWZvcm5pYSBSZXNpZGVudHMuPC9zdHJvbmc+Jm5ic3A7VW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBOLTExMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPC9kaXY+DQo8ZGl2IGlkPSIxNTc1OTQ5NjI0IiBjbGFzcz0iZG1OZXdQYXJhZ3JhcGgiIGRhdGEtZWxlbWVudC10eXBlPSJwYXJhZ3JhcGgiIGRhdGEtdmVyc2lvbj0iNSI+PC9kaXY+/div> div classbase64 styledisplay: none idaccessibility> PHA+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIElmIHlvdSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5IGluIGFjY2Vzc2luZyBhbnkgcGFydCBvZiB0aGlzIHdlYnNpdGUsIHBsZWFzZSBmZWVsIGZyZWUgdG8gY2FsbCBvdXIgd2Vic2l0ZSBwcm92aWRlciBhdCA4NDQtMjAwLTYwMjAgb3IgZW1haWwgdGhlbSBhdCB3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg/div>/div> /div>/div> script> WebFontConfig.google.families.push( Abril+Fatface, Rouge+Script, Playfair+Display:400,900, Roboto+Slab:400,100,300,700); /script> /div>/div>div classobit-popups-container>/div>script typetext/javascript> jQuery(document).ready(function () { /* hide loader */ setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 1000); }); if (jQuery(window).width() 1200) { jQuery(window).load(function () { /* menu hotfix */ setTimeout(removeMenuCalc(), 1000); }); } else { removeMenuCalc(); } function removeMenuCalc() { jQuery(#navbar).css({ position: , visibility: }); }/script> script typetext/javascript> jQuery(document).ready(function() { $(.navbar-toggle).click(function() { $(.navbar-toggle).toggleClass(active); $(#navbar).toggleClass(active); }); $(document).click(function(e) { closeOpenMobileMenu(e); }); $(document).keyup(function(e) { if (e.keyCode 27) closeOpenMobileMenu($(body)); // esc }); if ($(.additional-content-item)) { resetHeight(); setMaxHeight($(.additional-content-item)); $(window).resize(function() { resetHeight(); setMaxHeight($(.additional-content-item)); }); } if (!!$(.head-menu)) { $(.head-menu).responsiveNavigation({ SubMenu: $(.top-sub-menu), Fixed_Submenu: false, ShowMore_Buttons: true, NavigationMode: 0, SubmenuStyle: 0, MainMenuStyle: 1 }); } setTimeout(function () { $(.layerHasBanner).css({ overflow: auto, max-height: auto }); $(window).resize(); }, 2000); if (false true) { scrollSpyInit(); } DailySubscribeInit(); FrazerMaps.ShowMaps($(.map-box)); if (!window.location.hash) { scrollToTop(); } if (!!$.fn.superbox) $.superbox(); AOS.init({ easing: ease-out-back, duration: 1000, disable: mobile }); }); function closeOpenMobileMenu(e) { if ($(e.target).closest(.navbar).length 0 && !!$(.navbar-toggle.active).length && !!$(#navbar.active).length) { $(.navbar-toggle).removeClass(active); $(#navbar).removeClass(active); } } function resetHeight() { $(.additional-content-item).each(function(i, e) { $(e).find(.item-body).height(); }); }; function setMaxHeight(items) { $(items).each(function(i, e) { $(e).find(.item-body).height(calculateMaxHeight); }); }; function calculateMaxHeight() { var whyChoseUsItems ; $(.additional-content-item).each(function(i, e) { whyChoseUsItems.push($(e).find(.item-body).height()); }); return Math.max.apply(Math, whyChoseUsItems); }; function scrollSpyInit() { $(body).css(position, relative); $(body).attr(data-spy, scroll); $(.page-sub-menu .navbar-nav).attr(data-offset, 185); $(href#Fisher-Funeral-Home).css(display, block); $(body).scrollspy({ target: .page-sub-menu, offset: 185 }); } function DailySubscribeInit() { $(.dailySubsControls button).click(function() { subscribeToDailyEmails(this, 7cfe10f3-84e6-4176-a28e-66966fbe77c4, /FunHelper/SubscribeToDailyEmails); }); } function sendGTMInfo(category, action, label) { dataLayer.push({ event: gaEvent, category: category, action: action, label: label }); } /script> script typetext/javascript stylemargin-left: 0;> (function () { var telArr ; var findNumber function (model) { var y ; for (var i 0; i model.length; i++) { if (!isNaN(parseInt(modeli))) { y + modeli; if (y.length 10) { telArr.push(y); y ; } } } } })(); /script> script typeapplication/ld+json> { @context: https://schema.org, @type: BreadcrumbList, name: Site Navigation, itemListElement: { @type: ListItem, position: 1, item: https://www.fisherfuneral.com, name: Home }, { @type: ListItem, position: 2, item: https://www.fisherfuneral.com/obituaries/obituary-listings, name: Obituaries }, { @type: ListItem, position: 3, item: https://www.fisherfuneral.com/services/overview, name: Services }, { @type: ListItem, position: 4, item: https://www.fisherfuneral.com/plan-ahead/overview, name: Plan Ahead }, { @type: ListItem, position: 5, item: https://www.fisherfuneral.com/grief-support/overview, name: Grief Support }, { @type: ListItem, position: 6, item: https://www.fisherfuneral.com/resources/overview, name: Resources }, { @type: ListItem, position: 7, item: https://www.fisherfuneral.com/about-us/overview, name: About Us }, { @type: ListItem, position: 8, item: https://www.fisherfuneral.com/contact/contact-us, name: Contact } } /script> div classprintable>/div> script> function loadScript(src, callback) { let script document.createElement(script); script.src src; script.onload () > callback(null, script); script.onerror () > callback(new Error(Script load error for + src)); document.head.append(script); } (function () { var wf document.createElement(script); wf.src (https: document.location.protocol ? https : http) + ://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js; wf.type text/javascript; wf.async true; var s document.getElementsByTagName(script)0; s.parentNode.insertBefore(wf, s); var galleriaItem document.getElementsByClassName(galleria); if (galleriaItem.length ! 0) { loadScript(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/galleria.min.js, function (error, script) { if (error) { // handle error } else { Galleria.loadTheme(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/themes/classic/galleria.classic.min.js); Galleria.run(.galleria); } }); } })(); const locationIdValue Home Page Obituary ? window.API.domainId.replace(/-/g, ) + (window.MaterialData && window.MaterialData.pageSettings ? - + window.MaterialData.pageSettings.ServingLocationId : ) : window.API.domainId.replace(/-/g, ) + -308050; window.pushSessionInfo(window.getGAuuid()); pushSiteInfo( window.API.domainId.replace(/-/g, ), locationIdValue, Funeral Home, window.API.brand.name, Responsive, External, Home Page, Other, Fisher Funeral Home, Lone Star Bloom.replace(Frazer Floral Network, FFN) ); // Travel Insurance link function utf8Encode(string) { const encoder new TextEncoder() return encoder.encode(lid + string) } function base64Encode(uint8Array) { uint8Array utf8Encode(uint8Array) return btoa(String.fromCharCode.apply(null, uint8Array)) } function replaceDomainIdToEncodedLid (id) { var button document.getElementById(travelInsuranceLink); if (button && button.href) { button.href button.href.replace({{DOMAINLID}}, base64Encode(id)); } } // Travel Insurance link change parameter document.addEventListener(DOMContentLoaded, function () { replaceDomainIdToEncodedLid(7cfe10f3-84e6-4176-a28e-66966fbe77c4); }); /script> style typetext/css> #msie-banner { position: fixed; top: 0; left: 0; width: 100%; padding: 19px; z-index: 43; font-size: 16px; font-weight: 700; letter-spacing: .5px; color: #fff; background-color: #d86a6a; text-align: center; } #msie-banner p { margin: 0; } #msie-banner a { color: #fff; } /style> div idmsie-banner styledisplay:none;> p>Your browser may not work with certain site. a hrefhttps://www.microsoft.com/edge>Upgrade now./a>/p> /div> script> // Cant find variable: _AutofillCallbackHandler fix window._AutofillCallbackHandler window._AutofillCallbackHandler || function () { } /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]