CINXE.COM
Clinical Specimen Management Services | ImmunoSpot庐
<!doctype html> <html lang="en"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#"> <script> var LOCALE = 'en\u002DUS'; var BASE_URL = 'https\u003A\u002F\u002Fimmunospot.com\u002F'; var require = { 'baseUrl': 'https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US' };</script> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"322539704",accountID:"2918290",trustKey:"2918290",xpid:"Vg8GWVRaCBACUVBWBAgBXl0=",licenseKey:"NRJS-694e2d93d0829b3aaa4",applicationID:"251439689"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(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 r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}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 n=r(384),i=r(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 t=c(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(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-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},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},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||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-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&&"object"==typeof 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,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(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(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;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(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},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 n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.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(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];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 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.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 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&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 a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.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){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(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 n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).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 n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;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 n="NRBA",i="SESSION",o=144e5,a=18e5,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 n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new 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.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),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){"function"==typeof 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 n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,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 n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{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 n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof 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 n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.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 n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();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 r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof 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.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.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 a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.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 n=r(2614);const i=r(860).K7.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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(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 r=t.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 n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.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 n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.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),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(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&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)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.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.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 t="string"==typeof 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 I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.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()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>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},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...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)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",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")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof 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,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.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 re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.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)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.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.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.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};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.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.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o: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,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),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",h),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 pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.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,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"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=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](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.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.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 t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="title" content="Clinical Specimen Management Services"/> <meta name="description" content="Reach your project milestones faster by outsourcing the management of your pre-clinical and clinical specimens. Read more."/> <meta name="keywords" content="Sample management"/> <meta name="robots" content="INDEX,FOLLOW"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="format-detection" content="telephone=no"/> <title>Clinical Specimen Management Services | ImmunoSpot庐</title> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/mage/calendar.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/styles-m.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/jquery.fancybox.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/bootstrap.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/tiny-slider.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/chartist.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/fonts.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/MSP_LightGallery/css/lightgallery.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/StripeIntegration_Payments/css/stripe_payments.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/mage/gallery/gallery.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Itoris_DynamicProductOptions/css/main.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/autocomplete.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/grid.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/algolia-reset.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/instantsearch.v3.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/recommend.css" /> <link rel="stylesheet" type="text/css" media="screen and (min-width: 768px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/styles-l.css" /> <link rel="stylesheet" type="text/css" media="print" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/print.css" /> <link rel="stylesheet" type="text/css" media="screen and (max-width: 1315px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/WeltPixel_NavigationLinks/css/navigation_mobile.css" /> <link rel="stylesheet" type="text/css" media="screen and (min-width: 1316px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/WeltPixel_NavigationLinks/css/navigation_desktop.css" /> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/requirejs/require.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/mage/requirejs/mixins.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/requirejs-config.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Itoris_DynamicProductOptions/js/minicart-option-images.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/StripeIntegration_Payments/js/stripe_payments.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/common.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/instantsearch.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/insights.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/recommend.js"></script> <link rel="canonical" href="https://immunospot.com/sample-management.html" /> <link rel="icon" type="image/x-icon" href="https://immunospot.com/media/favicon/stores/1/dots-immunos.png" /> <link rel="shortcut icon" type="image/x-icon" href="https://immunospot.com/media/favicon/stores/1/dots-immunos.png" /> <meta name="google-site-verification" content="5qPKu5n-naBtIlshpkYckT6SgonlH9oRKKBNBnGujuM" /> <meta name="p:domain_verify" content="yWzhCNk9m0a9DvwRvSe3gfhAKHNupdvi"/> <style> .mp-attachment-container li.mp-attachment-tab__item { max-width: fit-content; } .imu-related_prd_slider .slick-prev { top: 74px !important; left: -16px !important; width: 40px; height: 40px; border-radius: 50%; background-color: #027EC4 !important; cursor: pointer; } .imu-related_prd_slider .slick-next { top: 74px; left:unset; width: 40px; height: 40px; border-radius: 50%; background-color: #027EC4 !important; cursor: pointer; right: -20px; } .imu-related_prd_slider .slick-prev:before{ position: absolute; top: 11px !important; left: 9px; font-size: 20px; color: #ffffff; } .imu-related_prd_slider .slick-next:before { top: 11px; left: 7px; font-size: 20px; position: absolute; color: #ffffff; } .imu-related_prd_slider .col-md-2 .text-center{ word-break: break-all; white-space: normal; } .imu-related_prd_slider .slick-slide img { max-width: 144px; } .imu-related_prd_slider .slick-slide { margin: 0px 15px; max-width: 180px !important; } .product-options-bottom .box-tocart { margin-bottom: 62px; } @media only screen and (max-width: 1280px) and (min-width: 768px) { .imu-related_prd_slider .slick-prev{ left: 5px !important; } .imu-related_prd_slider .slick-next { right: 2px !important; } } @media only screen and (max-width: 1024px) and (min-width: 992px) { .imu-related_prd_slider .slick-prev{ top: 63px !important; } .imu-related_prd_slider .slick-next { top: 63px !important; } } @media only screen and (min-width:993px){ .catalog-product-view .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks { width: 60% !important; } .catalog-product-view .col-lg-6.cs-content.order-2.product-attributes-blocks { width: 40%; } .catalog-product-view .col-lg-6.order-2 .fotorama__stage__frame .fotorama__img { left: 50% !important; } } @media only screen and (min-width:768px) { .imu-products-related .products-list .product-item { word-break: break-all; white-space: normal; } } @media (min-width: 991px) and (max-width: 1024px){ .catalog-product-view .col-lg-6.order-2 .product.media { margin-left: 0% !important; } } .page-title-wrapper.product { width: 100% !important; } .catalog-category-view main#maincontent { position: relative; width: 100%; border-bottom: 0px solid #e0dfe6!important; } .field.choice.admin__field.admin__field-option.anti-ferret-size input { margin-top: 5px; } .catalog-product-view .page-footer { margin-top: 60px; } .catalog-product-view .block-static-block.widget{margin-bottom: 8px;} .field.choice.admin__field.admin__field-option.anti-ferret-size { margin-top: 5px !important; margin-left: 15px !important; } .mp-attachment-tab.b-cell-ferret-anti-doc-sec { padding-left: 10px; } .b-cell-ferret-anti-doc-sec span.mp-attachment-tab__item__name { font-size: 16px; } @media (min-width: 768px) and (max-width: 992px) { .algolia-instant-selector-results div#algolia_instant_selector{ margin-top: 45px !important; } } .pagebuilder-column.related_products_section-hum { display:none!important; } .catalog-product-view .product-info-main .mp-attachment-tab li.mp-attachment-tab__item span.mp-attachment-tab__item__name{ font-size: 16px; } .catalog-product-view .product-info-main .mp-attachment-tab li.mp-attachment-tab__item { margin-bottom: 0.5rem; } .mp-attachment-container h2 { font-weight: bolder; font-size: 26px; line-height: 34px; } .catalog-product-view .product-info-main .overview h3.font-weight-bold{ font-weight: bolder; font-size: 26px; line-height: 34px; } .catalog-product-view .product-info-main .overview{ margin-top: 35px !important; margin-bottom:0px !important; } .catalog-product-view .product-info-main .overview .py-5 { padding-bottom: 68px!important; } .mp-attachment-tab{ margin-bottom:0px !important;} .catalog-product-view .product-info-main .product.attribute.overview .bg-light .col-md-8.row p:empty { display: none; } .catalog-product-view .product-info-main .overview .py-5 .row:last-child p:last-child { margin-bottom: 0px; } .catalog-product-view .product.attribute.overview .bg-light { padding-top: 80px; } .catalog-product-view .product.attribute.overview table.table.table-bordered { margin-bottom: 0px; } .pagebuilder-column.related_products_section_c1 { width:50%!important; margin-left: 0px!important; } .pagebuilder-column.related_products_section_c2{ width:50%!important; } .service-products.row.mt-4.mb-4 { margin-left: -26px; } .catalog-product-view { .btn-primary { padding: 2px 20px!important; } } .product-ctl-tva-suite .modal-popup .modal-inner-wrap { width: 50% !important } @media only screen and (max-width: 767px){ .catalog-product-view .page-footer { margin-top: 42px !important; } .product-ctl-tva-suite .modal-popup.modal-slide .modal-inner-wrap { margin: 0 auto; max-height: 100%; height: auto; } .product-ctl-tva-suite .modal-popup .modal-inner-wrap { width: 100% !important; } button.us-demo.action.btn.btn-primary { margin-bottom: 40px; } .cross-reference .modal-body .mob-tab{ overflow: scroll; display: block; } .cross-reference .modal-body thead th{ display: table-cell; } .catalog-product-view .product-info-main .overview .py-5 { padding-bottom: 50px !important; padding-top: 30px !important; } body.catalog-product-view .product-info-main .product.attribute.overview { margin-top: 50px !important; } .catalog-product-view .product-info-main .product.attribute.overview .bg-light { margin-bottom: -30px; } body .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks{ margin-top: -30px!important;} .catalog-product-view .column.main.container .recommend-component{margin-bottom:0px;} .catalog-product-view .column.main.container {display:block;padding-bottom:0px} .mp-attachment-tab.b-cell-ferret-anti-doc-sec { padding-left: 3px; } .catalog-product-view .product-info-main{ margin-top: -60px;} .catalog-product-view .product.attribute.overview .bg-light { padding-top: 0px; } } @media only screen and (min-width: 768px) and (max-width: 1200px){ .product-ctl-tva-suite .modal-popup._show .modal-inner-wrap { width: auto !important; margin: 7rem 0px !important; position: initial; } } @media (min-width: 768px) and (max-width: 992px){ .header-product-row.row { width: 100%; margin-top: 0px !important; } } @media only screen and (max-width: 992px){ .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks{ margin-top: 0px!important;} } @media (min-width: 993px) and (max-width: 1100px) { .ais-RefinementList label.ais-RefinementList-label { white-space: unset !important; } } .filter_active .ais-Panel .ais-Panel-body li .ais-RefinementList-label { display: flex; line-height: 22px; } .filter_active .ais-Panel .ais-Panel-body li .ais-RefinementList-label:before { padding-right: 20px; } </style> <script> require(['jquery', 'slick'], function($) { $(document).ready(function($) { if ($(window).innerWidth() > 767) { $(".imu-products-related .imu-related_prd_slider").slick({ dots: false, infinite: false, speed: 300, slidesToShow: 6, slidesToScroll: 6, responsive: [ { breakpoint: 992, settings: { slidesToShow: 4, slidesToScroll: 4 } } ] }); var maxHt = Math.max.apply(null, $(".imu-related_prd_slider .col-md-2 .text-center").map(function() { return $(this).height(); }).get()); $("<style type='text/css'> .imu-related_prd_slider .col-md-2 .text-center{ min-height:" + (maxHt + 0) + "px;} </style>").appendTo("head"); if ($(".imu-related_prd_slider .slick-arrow").length > 0){ $('.imu-related_prd_slider').addClass('slide-active'); }else{ $('.imu-related_prd_slider').removeClass('slide-active'); } if ($(window).innerWidth() >= 768 && $(window).innerWidth() <= 1280) { $('.imu-products-related .imu-related_prd_slider').css('padding', '0px 40px 0 38px'); } else { $('.imu-products-related .imu-related_prd_slider').css('padding', '0'); } } }); }); </script> <script> window.getWpCookie = function(name) { match = document.cookie.match(new RegExp(name + '=([^;]+)')); if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ; }; window.dataLayer = window.dataLayer || []; var dlObjects = [{"ecommerce":{"detail":{"products":[{"name":"Sample management","id":"service-sm","price":"0.00","category":"Services"}]},"currencyCode":"USD"}}]; for (var i in dlObjects) { window.dataLayer.push(dlObjects[i]); } var wpCookies = ['wp_customerId','wp_customerGroup']; wpCookies.map(function(cookieName) { var cookieValue = window.getWpCookie(cookieName); if (cookieValue) { var dlObject = {}; dlObject[cookieName.replace('wp_', '')] = cookieValue; window.dataLayer.push(dlObject); } }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].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-KMGC5QQ');</script> <!-- End Google Tag Manager --><link rel="stylesheet" type="text/css" media="all" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"> <link rel="alternate" hreflang="en-us" href="https://immunospot.com/sample-management.html" /> <link rel="alternate" hreflang="en-de" href="https://immunospot.com/sample-management.html" /> <link rel="alternate" hreflang="en-gb" href="https://immunospot.com/sample-management.html" /> <link rel="alternate" hreflang="en-fr" href="https://immunospot.com/sample-management.html" /> <link rel="alternate" hreflang="en-za" href="https://immunospot.com/sample-management.html" /> <link rel="alternate" hreflang="en-se" href="https://immunospot.com/sample-management.html" /> <meta property="og:type" content="product" /> <meta property="og:title" content="Sample management" /> <meta property="og:image" content="https://immunospot.com/media/catalog/product/cache/8146892bfa0fc596f7d1ddb412c8a076/s/a/sample-management-inside.jpg" /> <meta property="og:description" content="
  
    Clinical Trial PBMC Storage and Logistics
  
  
  As pioneers in the immune monitoring arena, the Contract Research Laboratory Services team has more than a decade of proven expertise in handling pre-clinical and clinical specimens, including PBMC sample management and logistics, in a regulated laboratory environment. Our CRO has managed fresh and cryopreserved clinical samples (PBMC, plasma, sera, etc.) for pharmaceutical and biotechnology Clients of all sizes. We have successfully deployed such optimized processes in key clinical trials, as well as translational and preclinical studies.
  {{widget type="Magento\Cms\Block\Widget\Block" template="widget/static_block/default.phtml" block_id="107"}}
    {{widget type="PluginCompany\ContactForms\Block\Form\Widget\View" form_id="3" show_form_as="popup" display_as_button="1" link_title="Contact" wrap_in_block="0" auto_hide_popup="0"}}  
  
  
  Quality Control and Assurance
  Our sample management team follows rigorous quality control and quality assurance steps to ensure proper handling of whole blood, PBMC, sera, etc. Our standardized procedures and quality control and assurance teams document the movement of specimens from the moment they are shipped from your facility through receipt, processing, isolation, testing, cryopreservation, and  storage in our laboratory through safe shipment back to your institution.
  {{widget type="Magento\Cms\Block\Widget\Block" template="widget/static_block/default.phtml" block_id="77"}}{{widget type="PluginCompany\ContactForms\Block\Form\Widget\View" form_id="3" show_form_as="popup" display_as_button="1" link_title="Contact" wrap_in_block="0" auto_hide_popup="0"}}
  
  Related CRO Services:
  
   Whole Blood Processing to Cryopreserved PBMC/Plasma/Sera/Other
  T Cell ELISPOT Testing
  B Cell ELISPOT Testing
  Neutralizing Antibody Assays (NAb)ELISA Testing
  
  
  
      
          
          
          
          T Cell ELISPOT Testing
          
          
          
          
              
              
              
              Whole Blood Processing to Cryopreserved PBMC
              
              
              
              
                  
                  
                  
                  B Cell ELISPOT Testing
                  
                  
                  
                  
                      
                      
                      
                      Neutralizing Antibody (NAb) Assays
                      
                      
                      
                      
                          
                          
                          
                          Flow Cytometry
                          
                          
                          
                          
                              
                              
                              
                              Sample Management
                              
                              
                              
                              
                                  
                                  
                                  
                                  Assay Standardization
                                  
                                  
                                  
                                  
                                      
                                      
                                      
                                      Scanning &amp; Analysis Services
                                      
                                      
                                      
  
  
  
  " /> <meta property="og:url" content="https://immunospot.com/sample-management.html" /> <meta property="product:price:amount" content="0"/> <meta property="product:price:currency" content="USD"/> <script> window.algoliaConfig = {"instant":{"enabled":true,"selector":".column","isAddToCartEnabled":false,"addToCartParams":{"action":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s\/","formKey":"JAXFehcl9kYk5KEn"},"infiniteScrollEnabled":true,"urlTrackedParameters":["query","attribute:*","index"]},"autocomplete":{"enabled":true,"selector":".algolia-search-input","sections":[{"name":"pages","label":"Resources","hitsPerPage":"6"}],"nbOfProductsSuggestions":6,"nbOfCategoriesSuggestions":0,"nbOfQueriesSuggestions":0,"isDebugEnabled":false},"landingPage":{"query":"","configuration":"[]"},"recommend":{"enabledFBT":false,"enabledRelated":false,"enabledFBTInCart":false,"enabledRelatedInCart":false,"limitFBTProducts":6,"limitRelatedProducts":6,"limitTrendingItems":6,"enabledTrendItems":0,"trendItemFacetName":null,"trendItemFacetValue":null,"isTrendItemsEnabledInPDP":0,"isTrendItemsEnabledInCartPage":0,"isAddToCartEnabledInFBT":false,"isAddToCartEnabledInRelatedProduct":false,"isAddToCartEnabledInTrendsItem":false,"addToCartParams":{"action":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s\/","formKey":"JAXFehcl9kYk5KEn"}},"extensionVersion":"3.9.1","applicationId":"82KWM3IOJP","indexName":"us_immunospot_live_default","apiKey":"MWM3OTQ1ODQ2MGU2MDc4MzhjNDFhMjQ5ZTU2Njg3YjRmYWVjYzRlMTViNzhjY2M5NTNlYTk4MzY3MTAyYTE5NXRhZ0ZpbHRlcnM9","attributeFilter":[],"facets":[{"attribute":"categories","type":"conjunctive","label":"Categories","searchable":"1","create_rule":"2"},{"attribute":"format","type":"conjunctive","label":"Format","searchable":"1","create_rule":"2"},{"attribute":"species","type":"conjunctive","label":"Species","searchable":"1","create_rule":"2"},{"attribute":"target","type":"conjunctive","label":"Target","searchable":"1","create_rule":"2"},{"attribute":"number_of_analytes","type":"conjunctive","label":"Number of Analytes","searchable":"1","create_rule":"2"},{"attribute":"analyte","type":"conjunctive","label":"Analytes","searchable":"1","create_rule":"2"}],"areCategoriesInFacets":true,"hitsPerPage":10,"sortingIndices":[{"attribute":"name","sort":"asc","sortLabel":"Product Name Asc","name":"us_immunospot_live_default_products_name_asc","label":"Product Name Asc","ranking":["asc(name)","typo","geo","words","filters","proximity","attribute","exact","custom"]},{"attribute":"name","sort":"desc","sortLabel":"Product Name Desc","name":"us_immunospot_live_default_products_name_desc","label":"Product Name Desc","ranking":["desc(name)","typo","geo","words","filters","proximity","attribute","exact","custom"]}],"isSearchPage":false,"isCategoryPage":false,"isLandingPage":false,"removeBranding":false,"productId":null,"priceKey":".USD.default","priceGroup":null,"origFormatedVar":"price.USD.default_original_formated","tierFormatedVar":"price.USD.default_tier_formated","currencyCode":"USD","currencySymbol":"$","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"maxValuesPerFacet":30,"autofocus":true,"resultPageUrl":"https:\/\/immunospot.com\/catalogsearch\/result\/","request":{"query":"","refinementKey":"","refinementValue":"","categoryId":"","landingPageId":"","path":"","level":""},"showCatsNotIncludedInNavigation":true,"showSuggestionsOnNoResultsPage":true,"baseUrl":"https:\/\/immunospot.com","popularQueries":[],"useAdaptiveImage":false,"urls":{"logo":"https:\/\/immunospot.com\/static\/version1728550059\/frontend\/Forti\/immuno\/en_US\/Algolia_AlgoliaSearch\/images\/algolia-logo-blue.svg"},"ccAnalytics":{"enabled":false,"ISSelector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","conversionAnalyticsMode":null,"addToCartSelector":".action.primary.tocart","orderedProductIds":[]},"isPersonalizationEnabled":false,"personalization":{"enabled":false,"viewedEvents":{"viewProduct":{"eventName":"Viewed Product","enabled":false,"method":"viewedObjectIDs"}},"clickedEvents":{"productClicked":{"eventName":"Product Clicked","enabled":false,"selector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","method":"clickedObjectIDs"},"productRecommended":{"eventName":"Recommended Product Clicked","enabled":false,"selector":".products-upsell .product-item","method":"clickedObjectIDs"}},"filterClicked":{"eventName":"Filter Clicked","enabled":false,"method":"clickedFilters"}},"analytics":{"enabled":true,"delay":"3000","triggerOnUiInteraction":"1","pushInitialSearch":"0"},"now":1732320000,"queue":{"isEnabled":true,"nbOfJobsToRun":10,"retryLimit":3,"nbOfElementsPerIndexingJob":300},"isPreventBackendRenderingEnabled":false,"areOutOfStockOptionsDisplayed":false,"translations":{"to":"to","or":"or","go":"Go","popularQueries":"You can try one of the popular search queries","seeAll":"See all products","allDepartments":"All departments","seeIn":"See products in","orIn":"or in","noProducts":"No products for query","noResults":"No results","refine":"Refine","selectedFilters":"Selected Filters","clearAll":"Clear all","previousPage":"Previous page","nextPage":"Next page","searchFor":"Search for products","relevance":"Relevance","categories":"Categories","products":"Products","searchBy":"Search by","searchForFacetValuesPlaceholder":"Search for other ...","showMore":"Show more products"},"isContentPage":0}; </script> </head> <body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/images/loader-2.gif"}}' class="service-products catalog-product-view product-sample-management page-layout-1column" id="html-body" itemtype="http://schema.org/Product" itemscope="itemscope"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KMGC5QQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script type="text/x-magento-init"> { "*": { "Magento_PageBuilder/js/widget-initializer": { "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Magento_PageBuilder\/js\/content-type\/products\/appearance\/carousel\/widget":false}}, "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1024px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1024px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}}},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 768px)","conditions":{"max-width":"768px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}} } } } </script> <div class="cookie-status-message" id="cookie-status"> The store will not work correctly in the case when cookies are disabled.</div> <script type="text/javascript">document.querySelector("#cookie-status").style.display = "none";</script> <script type="text/x-magento-init"> { "*": { "cookieStatus": {} } } </script> <script type="text/x-magento-init"> { "*": { "mage/cookies": { "expires": null, "path": "\u002F", "domain": ".immunospot.com", "secure": true, "lifetime": "3600" } } } </script> <noscript> <div class="message global noscript"> <div class="content"> <p> <strong>JavaScript seems to be disabled in your browser.</strong> <span> For the best experience on our site, be sure to turn on Javascript in your browser. </span> </p> </div> </div> </noscript> <script> window.cookiesConfig = window.cookiesConfig || {}; window.cookiesConfig.secure = true; </script><script> require.config({ map: { '*': { wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter' } } });</script><script> require.config({ paths: { googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D' }, config: { 'Magento_PageBuilder/js/utils/map': { style: '' }, 'Magento_PageBuilder/js/content-type/map/preview': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fimmunospot.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, 'Magento_PageBuilder/js/form/element/map': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fimmunospot.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, } }); </script> <script> require.config({ shim: { 'Magento_PageBuilder/js/utils/map': { deps: ['googleMaps'] } } }); </script> <div id="callforprice_modal" style="display:none"> <form id="callforprice_form" action="https://immunospot.com/callforprice/request/send/" method="post" data-hasrequired="* Required Fields" data-mage-init='{"validation":{}}'> <fieldset class="fieldset callforprice_request"> <input type="hidden" value="" name="product_ids" class="product_ids"/> <input type="hidden" value="" name="product_name" class="product_name"/> <input name="form_key" type="hidden" value="JAXFehcl9kYk5KEn" /> <div class="field required"> <label class="label">Name</label> <div class="control"> <input type="text" name="customer_name" data-validate="{required:true}"/> </div> </div> <div class="field required"> <label class="label">Email</label> <div class="control"> <input type="text" name="customer_email" data-validate="{required:true,'validate-email':true}"/> </div> </div> <div class="field"><label class="label" for="_1568027767844_844">Test</label><div class="control"><input type="text" name="_1568027767844_844" class="input-text" value=""/></div></div> </fieldset> </form> </div> <script type="text/x-magento-init"> { "*": { "Bss_AdvancedHidePrice/js/popup_modal": {} } } </script> <style type="text/css"> .product-item-details .action.tocart { display: none; } .action.tocart { display: none; } #product-addtocart-button { display: block; } .callforprice-container .callforprice_clickme { padding: 5px 10px; } </style> <div class="page-wrapper"><header class="page-header"><div class="panel wrapper"><div class="panel header"><a class="action skip contentarea" href="#contentarea"> <span> Skip to Content </span> </a> <ul class="header links"><script type="text/javascript">require(['jquery.bootstrap']);</script> <li class="greet welcome" data-bind="scope: 'customer'"> <!-- ko if: customer().fullname --> <span class="logged-in" data-bind="text: new String('Welcome, %1!').replace('%1', customer().fullname)"> </span> <!-- /ko --> <!-- ko ifnot: customer().fullname --> <span class="not-logged-in" data-bind='html:""'></span> <!-- /ko --> </li> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "customer": { "component": "Magento_Customer/js/view/customer" } } } } } </script> <li class="link authorization-link" data-label="or"> <a href="https://immunospot.com/customer/account/login/referer/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s/" >Sign In</a> </li> <li><a href="https://immunospot.com/customer/account/create/" id="id6O5oBuUq" >Create an Account</a></li></ul></div></div><div class="px-4 navbar navbar-expand sticky-top shadow"><span data-action="toggle-nav" class="action nav-toggle"><span>Toggle Nav</span></span> <a class="logo" href="https://immunospot.com/" title="" aria-label="store logo"> <img src="https://immunospot.com/media/logo/stores/1/logo_immunospot_by_ctl_official_2023_white_background_web_spotcloud-2023.png" title="" alt="" width="210" height="130" /> </a> <div class="sections nav-sections"> <div class="section-items nav-sections-items" data-mage-init='{"tabs":{"openedState":"active"}}'> <div class="section-item-title nav-sections-item-title" data-role="collapsible"> <a class="nav-sections-item-switch" data-toggle="switch" href="#store.menu"> Menu </a> </div> <div class="section-item-content nav-sections-item-content" id="store.menu" data-role="content"> <nav class="navigation" data-action="navigation"> <ul data-mage-init='{"menu":{"responsive":true, "expanded":true, "position":{"my":"left top","at":"left bottom"}}}'> <li class="megamenu level-top-boxed level0 nav-1 category-item first level-top parent" data-test="test"><a href="https://immunospot.com/products" class="level-top" ><span>Products</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="col-4"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex mb-2"> <img src="https://immunospot.com/media/images/menu/analyzer-software-blue.png" alt="ImmunoSpot庐 Analyzers"> <a class="ps-2" href="/products/analyzers">ImmunoSpot庐<br>Analyzers</a> </div> <div class="position-relative d-flex mb-2"> <img src="https://immunospot.com/media/images/menu/kits-components-blue.png" alt="ImmunoSpot庐 Kits"> <a class="ps-2" href="/products/immunospot-kits-components">ImmunoSpot庐<br>Kits</a> </div> <div class="position-relative d-flex"> <img src="https://immunospot.com/media/images/menu/support-blue.png" alt="Kit Scanning<br>& Analysis Services"> <a class="stretched-link ps-2" href="/products/kit-scanning-analysis">Kit Scanning<br>& Analysis Services</a> </div> </div> </div> </div> <div class="col-5"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex mb-2"><img src="https://immunospot.com/media/images/menu/epbmc-blue.png" alt="Cryopreserved PBMC"> <a class="stretched-link ps-2" href="/products/epbmc">Cryopreserved<br>PBMC</a></div> <div class="position-relative d-flex mb-2"><img src="https://immunospot.com/media/images/menu/serum-free-blue.png" alt="Serum-Free Media"> <a class="stretched-link ps-2" href="/products/serum-free-media">Serum-Free <br>Media</a></div> <div class="position-relative d-flex"><img src="https://immunospot.com/media/images/menu/positive-control-blue.png" alt="Positive Controls Antigen"> <a class="stretched-link ps-2" href="/products/positive-controls-tcell-activation">Positive Controls for <br>T cell Activation</a></div> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-1-1 category-item first disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><li class="megamenu level1 nav-1-2 category-item" data-test="test"><a href="https://immunospot.com/immunospot-kits-components" ><span>ImmunoSpot庐 Kits & Components</span></a></li><li class="megamenu level1 nav-1-3 category-item" data-test="test"><a href="https://immunospot.com/products-filter/analyzers.html" ><span>Analyzers</span></a></li><li class="megamenu level1 nav-1-4 category-item last" data-test="test"><a href="https://immunospot.com/products-filter/software.html" ><span>Software</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-2 category-item level-top parent" data-test="test"><a href="https://immunospot.com/services/contract-laboratory-services" class="level-top" ><span>Services</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="col-6 px-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-5 menu-stacked-items"><img src="https://immunospot.com/media/images/menu/contract-lab-services-blue.png" alt=""> <a class="ps-2" href="/services/contract-laboratory-services">Contract Laboratory <br>Services</a></div> <a href="/services/whole-blood-processing-to-cryopreserved-pbmc">Whole Blood Processing to Cryopreserved PBMC</a><br><a href="/services/t-cell-elispot-testing">T Cell ELISPOT Testing</a><br><a href="/services/b-cell-elispot-testing">B Cell ELISPOT Testing</a><br><a href="/services/elisa-testing">ELISA Testing</a><br><a href="/neutralizing-antibody-nab-assays.html">Neutralizing Antibody (NAb) assays</a><br><a href="/flow-cytometry-testing.html">Flow Cytometry Testing</a><br><a href="https://immunospot.com/sample-management.html">Sample Management</a><br><a href="/services/assay-standardization">Assay Standardization</a><br><a href="/services/contract-scanning-analysis">Scanning & Analysis Services</a></div> </div> </div> <div class="col-6 pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-0"> <div class="pb-5 menu-stacked-items"><img src="https://immunospot.com/media/images/menu/training-consulting-blue.png" alt=""> <a class="ps-2" href="/services/training-consultation">Training & <br>Consultation</a></div> <a href="/products/kit-scanning-analysis">Kit Scanning Services</a><br> <a href="/services/elispot-proficiency-testing">ELISPOT/FluoroSpot Proficiency Testing</a><br> <a href="/services/interactive-web-based-training">Interactive Web-based Training</a><br> <a href="/services/elispot-workshops">ELISPOT/FluoroSpot Workshops</a></div> </div> </div> </div></div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-2-1 category-item first disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><li class="megamenu level1 nav-2-2 category-item" data-test="test"><a href="https://immunospot.com/contract-laboratory-services" ><span>Contract Laboratory Services</span></a></li><li class="megamenu level1 nav-2-3 category-item last" data-test="test"><a href="https://immunospot.com/training-consultation" ><span>Training & Consultation</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-3 category-item level-top parent" data-test="test"><a href="https://immunospot.com/resources" class="level-top" ><span>News & Resources</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="col-4"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex align-items-center mb-2"> <img src="https://immunospot.com/media/images/menu/news-blue.png" alt="News"> <a class="ps-2" href="/resources/news">News</a> </div> <div class="position-relative d-flex align-items-center"> <img src="https://immunospot.com/media/images/menu/publications-blue.png" alt="Publications<br>by Scientists"> <a class="ps-2" href="/resources/recent-publications">Publications<br>by Scientists</a> </div> </div> </div> </div> <div class="col-5"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex align-items-center mb-2"> <img src="https://immunospot.com/media/images/menu/video-blue.png" alt="Video Library"><a class="ps-2" href="/resources/video-library">Video Library</a> </div> <div class="position-relative d-flex align-items-center"><img src="https://immunospot.com/media/images/menu/compliance.png" alt=""> <a class="ps-2" href="/about-ctl/compliance">Compliance</a></div> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-3-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-4 category-item level-top parent" data-test="test"><a href="https://immunospot.com/about-ctl" class="level-top" ><span>About Us</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-1 menu-stacked-items d-flex align-items-center"> <img src="https://immunospot.com/media/images/menu/about-us-blue.png" alt=""> <a class="ps-2" href="/about-ctl/our-company">About CTL</a> </div> <a href="/about-ctl/our-company">Our Company</a> <br> <a href="/about-ctl/first-in-elispot">Leading ELISPOT</a> <br> <a href="/about-ctl/about-elispot">About ELISPOT</a> <br> <a href="/about-ctl/about-fluorospot">About Fluorospot</a> <br> <a class="w-100" href="/about-ctl/why-immunospot">Why ImmunoSpot庐</a> <br> <a href="/about-ctl/careers">Careers</a> </div> </div> </div> </div></div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-4-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-5 category-item last level-top parent" data-test="test"><a href="https://immunospot.com/contact-support/contact-us" class="level-top" ><span>Contact</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-1 menu-stacked-items d-flex align-items-center"><img src="https://immunospot.com/media/images/menu/contact-blue.png" alt=""> <a class="ps-2" href="/contact-support/contact-us">Contact Us</a></div><a href="/contact-support/customer-support">Customer Support</a> <br><a href="/contact-support/service-contracts">Service Contracts</a> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-5-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li> </ul> </nav> <div class="nav-accordion" id="nav-accordion"> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingOne"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"> Products </button> </h2> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/products/analyzers"> <span>ImmunoSpot庐 Analyzers</span> </a><br> <a href="https://immunospot.com/products/immunospot-kits-components"> <span>ImmunoSpot庐 Kits</span> </a><br> <a href="https://immunospot.com/products/kit-scanning-analysis"> <span>Kit Scanning & Analysis Services</span> </a><br> <a href="https://immunospot.com/products/epbmc"> <span>Cryopreserved PBMC</span> </a><br> <a href="https://immunospot.com/products/serum-free-media"> <span>Serum-free Media</span> </a><br> <a href="https://immunospot.com/products/positive-controls-tcell-activation"> <span>Positive Controls for T cell Activation</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingTwo"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> Services </button> </h2> </div> <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/services/contract-laboratory-services"> <span>Contract Laboratory Services</span> </a><br> <a href="https://immunospot.com/services/training-consultation"> <span>Training & Consultation</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingThree"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> News & Resources </button> </h2> </div> <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/resources/news"> <span>News</span> </a><br> <a href="https://immunospot.com/resources/recent-publications"> <span>Publications by Scientists</span> </a><br> <a href="https://immunospot.com/resources/video-library"> <span>Video Library</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingFour"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour"> Contact </button> </h2> </div> <div id="collapseFour" class="collapse" aria-labelledby="headingFour" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/contact-support/contact-us"> <span>Contact Us & Distributors</span> </a><br> <a href="https://immunospot.com/services/elispot-workshops"> <span>Enroll in ELISPOT Workshop</span> </a><br> <a href="https://immunospot.com/customer-support"> <span>Customer Support</span> </a><br> <a href="https://immunospot.com/service-contracts"> <span>Service Contracts</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingFive"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFive" aria-expanded="false" aria-controls="collapseFive"> CTL Support </button> </h2> </div> <div id="collapseFive" class="collapse" aria-labelledby="headingFive" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/contact-support/customer-support"> <span>Customer Support</span> </a><br> <a href="https://immunospot.com/contact-support/service-contracts"> <span>Service Contracts</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingSix"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSix" aria-expanded="false" aria-controls="collapseSix"> About CTL </button> </h2> </div> <div id="collapseSix" class="collapse" aria-labelledby="headingSix" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/about-ctl/our-company"> <span>Our Company</span> </a><br> <a href="https://immunospot.com/about-ctl/first-in-elispot"> <span>Leading ELISPOT</span> </a><br> <a href="https://immunospot.com/about-ctl/about-elispot"> <span>About ELISPOT</span> </a><br> <a href="https://immunospot.com/about-ctl/about-fluorospot"> <span>About Fluorospot</span> </a><br> <a href="https://immunospot.com/about-ctl/why-immunospot"> <span>Why ImmunoSpot庐</span> </a> <br> <a href="https://immunospot.com/about-ctl/careers"> <span>Career Opportunities</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingSeven"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSeven" aria-expanded="false" aria-controls="collapseSeven"> Compliance </button> </h2> </div> <div id="collapseSeven" class="collapse" aria-labelledby="headingSeven" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/about-ctl/compliance"> <span>Regulatory and Quality Assurance</span> </a> </a> </div> </div> </div> </div> </div> <div class="section-item-title nav-sections-item-title" data-role="collapsible"> <a class="nav-sections-item-switch" data-toggle="switch" href="#store.links"> Account </a> </div> <div class="section-item-content nav-sections-item-content" id="store.links" data-role="content"> <!-- Account links --> </div> </div> </div> <div id="algoliaAutocomplete" class="block block-search algolia-search-block algolia-search-input"></div> <div data-block="minicart" class="minicart-wrapper"> <a class="action showcart" href="https://immunospot.com/checkout/cart/" data-bind="scope: 'minicart_content'"> <span class="text">My Cart</span> <span class="counter qty empty" data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"> <span class="counter-number"> <!-- ko if: getCartParam('summary_count') --> <!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --> <!-- /ko --> </span> <span class="counter-label"> <!-- ko if: getCartParam('summary_count') --> <!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --> <!-- ko i18n: 'items' --><!-- /ko --> <!-- /ko --> </span> </span> </a> <div class="block block-minicart" data-role="dropdownDialog" data-mage-init='{"dropdownDialog":{ "appendTo":"[data-block=minicart]", "triggerTarget":".showcart", "timeout": "2000", "closeOnMouseLeave": false, "closeOnEscape": true, "triggerClass":"active", "parentClass":"active", "buttons":[]}}'> <div id="minicart-content-wrapper" data-bind="scope: 'minicart_content'"> <!-- ko template: getTemplate() --><!-- /ko --> </div> </div> <script>window.checkout = {"shoppingCartUrl":"https:\/\/immunospot.com\/checkout\/cart\/","checkoutUrl":"https:\/\/immunospot.com\/checkout\/","updateItemQtyUrl":"https:\/\/immunospot.com\/checkout\/sidebar\/updateItemQty\/","removeItemUrl":"https:\/\/immunospot.com\/checkout\/sidebar\/removeItem\/","imageTemplate":"Magento_Catalog\/product\/image_with_borders","baseUrl":"https:\/\/immunospot.com\/","minicartMaxItemsVisible":5,"websiteId":"1","maxItemsToDisplay":10,"storeId":"1","storeGroupId":"1","agreementIds":["1"],"customerLoginUrl":"https:\/\/immunospot.com\/customer\/account\/login\/referer\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/immunospot.com\/captcha\/refresh\/","isRequired":false,"timestamp":1732383947}}}</script> <script type="text/x-magento-init"> { "[data-block='minicart']": { "Magento_Ui/js/core/app": {"components":{"minicart_content":{"children":{"subtotal.container":{"children":{"subtotal":{"children":{"subtotal.totals":{"config":{"display_cart_subtotal_incl_tax":0,"display_cart_subtotal_excl_tax":1,"template":"Magento_Tax\/checkout\/minicart\/subtotal\/totals"},"children":{"subtotal.totals.msrp":{"component":"Magento_Msrp\/js\/view\/checkout\/minicart\/subtotal\/totals","config":{"displayArea":"minicart-subtotal-hidden","template":"Magento_Msrp\/checkout\/minicart\/subtotal\/totals"}}},"component":"Magento_Tax\/js\/view\/checkout\/minicart\/subtotal\/totals"}},"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/subtotal"}}},"component":"uiComponent","config":{"displayArea":"subtotalContainer"}},"item.renderer":{"component":"Magento_Checkout\/js\/view\/cart-item-renderer","config":{"displayArea":"defaultRenderer","template":"Magento_Checkout\/minicart\/item\/default"},"children":{"item.image":{"component":"Magento_Catalog\/js\/view\/image","config":{"template":"Magento_Catalog\/product\/image","displayArea":"itemImage"}},"checkout.cart.item.price.sidebar":{"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/item\/price","displayArea":"priceSidebar"}}}},"extra_info":{"component":"uiComponent","config":{"displayArea":"extraInfo"}},"promotion":{"component":"uiComponent","config":{"displayArea":"promotion"}}},"config":{"itemRenderer":{"default":"defaultRenderer","simple":"defaultRenderer","virtual":"defaultRenderer"},"template":"Magento_Checkout\/minicart\/content"},"component":"Magento_Checkout\/js\/view\/minicart"}},"types":[]} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US\u002Fimages\u002Floader\u002D1.gif" } } </script> </div> </div></header><main id="maincontent" class="page-main-full-width"><div id="algolia-autocomplete-container"></div><a id="contentarea" tabindex="-1"></a> <div class="page messages"><div data-placeholder="messages"></div> <div data-bind="scope: 'messages'"> <!-- ko if: cookieMessages && cookieMessages.length > 0 --> <div aria-atomic="true" role="alert" data-bind="foreach: { data: cookieMessages, as: 'message' }" class="messages"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> <!-- ko if: messages().messages && messages().messages.length > 0 --> <div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { data: messages().messages, as: 'message' }"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> </div> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } </script> </div><div class="columns"><div class="header-product-section"><div class="header-product-container container mt-5"><div class="breadcrumbs"> <ul class="items font-size-sm"> <li class="item category11"> <a class="link-crumb" href="https://immunospot.com/services.html" title=""> Services </a> </li> <li class="item category43"> <a class="link-crumb" href="https://immunospot.com/services/contract-laboratory-services.html" title=""> Contract Laboratory Services </a> </li> <li class="item product"> <strong>Sample management</strong> </li> </ul> </div> <div class="header-product-row row"><div class="col-lg-6 pt-0 pl-lg-3 pb-md-2 order-1 product-attributes-blocks"><div class="page-title-wrapper col-md-10 p-0  product"> <h1 class="page-title font-weight-normal" > <span class="base" data-ui-id="page-title-wrapper" itemprop="name">Sample management</span> </h1> </div> <div class="product-add-form"> <form autocomplete="off" data-product-sku="service-sm" action="https://immunospot.com/checkout/cart/add/uenc/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s/product/1012/" method="post" id="product_addtocart_form"> <input type="hidden" name="product" value="1012" /> <input type="hidden" name="selected_configurable_option" value="" /> <input type="hidden" name="related_product" id="related-products-field" value="" /> <input type="hidden" name="item" value="1012" /> <input name="form_key" type="hidden" value="JAXFehcl9kYk5KEn" /> </form> </div> <script type="text/x-magento-init"> { "[data-role=priceBox][data-price-box=product-id-1012]": { "priceBox": { "priceConfig": {"productId":"1012","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"tierPrices":[]} } } } </script> <div class="product-social-links"><div class="product-addto-links" data-role="add-to-links"> <script type="text/x-magento-init"> { "body": { "addToWishlist": {"productType":"simple"} } } </script> </div> </div></div><div class="col-lg-6 cs-content order-2 product-attributes-blocks"><div class="product media"><a id="gallery-prev-area" tabindex="-1"></a> <div class="action-skip-wrapper"><a class="action skip gallery-next-area" href="#gallery-next-area"> <span> Skip to the end of the images gallery </span> </a> </div><script type="text/x-magento-init"> { "[data-gallery-role=gallery-placeholder]": { "Magento_ProductVideo/js/fotorama-add-video-events": { "videoData": [{"mediaType":"image","videoUrl":null,"isBase":true}], "videoSettings": [{"playIfBase":"0","showRelated":"0","videoAutoRestart":"0"}], "optionsVideoData": [] } } } </script> <div class="action-skip-wrapper"><a class="action skip gallery-prev-area" href="#gallery-prev-area"> <span> Skip to the beginning of the images gallery </span> </a> </div><a id="gallery-next-area" tabindex="-1"></a> </div></div></div></div></div><div class="column main container"><div class="product-info-main"><div class="product-info-price"><div class="product-info-stock-sku"> </div></div> <div class="product attribute overview"> <div class="value" itemprop="description"><div class="container neutral_antibody" style="margin-top:50px;"> <div class="row mt-4 mb-4"> <h3>Clinical Trial PBMC Storage and Logistics</h3> <div class="col-md-8"> <p class="text-justify">As pioneers in the immune monitoring arena, the Contract Research Laboratory Services team has more than a decade of proven expertise in handling pre-clinical and clinical specimens, including PBMC sample management and logistics, in a regulated laboratory environment. <br><br><strong>Our CRO has managed fresh and cryopreserved clinical samples (PBMC, plasma, sera, etc.) for pharmaceutical and biotechnology Clients of all sizes. We have successfully deployed such optimized processes in key clinical trials, as well as translational and preclinical studies.</strong></p> <p class="text-justify"></p><div class="widget block block-static-block"> <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="col-12"> <p>For further information or a quote, please contact us today.</p> <p><a href="/pub/media/mageplaza/product_attachments/attachment_file/c/r/cro_brochure_digital_2022-10-31.pdf" target="_blank"> Download Brochure</a></p> </div> </div></div></div> <div class="pc_form_widget_view_0"> <div class="pccf-customer-data-scope" style="display:none" data-bind="scope: 'PCContactFormData'"> <div id="pccf_form_3" class="pccf default pc-customer-logged-out" style=";"> <img class="pccf_loader" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/PluginCompany_ContactForms/img/gears-anim.gif" style="position:absolute;left:50%;top:50%;margin-left:-90px;margin-top:-80px"> <div class="form-view pccformwrapper well " style="position:relative;visibility:visible;opacity: 1;"> <div class="messages"></div> <div class="form-horizontal pccform" method="post" action="https://immunospot.com/contactforms/form/submit/" data-mage-init='{"validation":{}}'> <fieldset> <!-- Form Name --><!-- Textarea --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="message"></label> <div class="col-md-8"> <textarea id="message" name="message" class="form-control input-sm required-entry " placeholder="*Please drop us a line"></textarea> </div></div><!-- Select Basic --><div class="form-group mb-3"> <label class="col-md-3 control-label" for="selectbasic"></label> <div class="col-md-5"> <select id="selectbasic" name="selectbasic" class="form-control input-sm "> <option value="">*Select Title</option> <option value="Mr.">Mr.</option> <option value="Mrs.">Mrs.</option> <option value="Miss">Miss</option> <option value="Dr.">Dr.</option> <option value="Ms.">Ms.</option> <option value="Prof.">Prof.</option> </select> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="firstname"></label> <div class="col-md-8"> <input id="firstname" name="firstname" type="text" placeholder="*First Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="lastname"></label> <div class="col-md-8"> <input id="lastname" name="lastname" type="text" placeholder="*Last Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="email"></label> <div class="col-md-8"> <input id="email" name="email" type="text" placeholder="*E-mail" class="form-control input-sm required-entry validate-email " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="phone"></label> <div class="col-md-8"> <input id="phone" name="phone" type="text" placeholder="*Phone Number" class="form-control input-sm required-entry validate-number " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="company"></label> <div class="col-md-8"> <input id="company" name="company" type="text" placeholder="*Company" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="workaddress"></label> <div class="col-md-8"> <input id="workaddress" name="workaddress" type="text" placeholder="*Address" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="city"></label> <div class="col-md-8"> <input id="city" name="city" type="text" placeholder="*City" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="state"></label> <div class="col-md-8"> <input id="state" name="state" type="text" placeholder="*State" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="zipcode"></label> <div class="col-md-8"> <input id="zipcode" name="zipcode" type="text" placeholder="*Zipcode/Postcode " class="form-control input-sm required-entry " value=""> </div></div><!-- Select Basic --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="country"></label> <div class="col-md-8"> <select id="country" name="country" class="form-control input-sm required-entry "> <option value="">-- Select Country</option> <option value="Afghanistan">Afghanistan</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> <option value="Andorra">Andorra</option> <option value="Angola">Angola</option> <option value="Antigua & Deps">Antigua & Deps</option> <option value="Argentina">Argentina</option> <option value="Armenia">Armenia</option> <option value="Australia">Australia</option> <option value="Austria">Austria</option> <option value="Azerbaijan">Azerbaijan</option> <option value="Bahamas">Bahamas</option> <option value="Bahrain">Bahrain</option> <option value="Bangladesh">Bangladesh</option> <option value="Barbados">Barbados</option> <option value="Belarus">Belarus</option> <option value="Belgium">Belgium</option> <option value="Belize">Belize</option> <option value="Benin">Benin</option> <option value="Bhutan">Bhutan</option> <option value="Bolivia">Bolivia</option> <option value="Bosnia Herzegovina">Bosnia Herzegovina</option> <option value="Botswana">Botswana</option> <option value="Brazil">Brazil</option> <option value="Brunei">Brunei</option> <option value="Bulgaria">Bulgaria</option> <option value="Burkina">Burkina</option> <option value="Burundi">Burundi</option> <option value="Cambodia">Cambodia</option> <option value="Cameroon">Cameroon</option> <option value="Canada">Canada</option> <option value="Cape Verde">Cape Verde</option> <option value="Central African Rep">Central African Rep</option> <option value="Chad">Chad</option> <option value="Chile">Chile</option> <option value="China">China</option> <option value="Colombia">Colombia</option> <option value="Comoros">Comoros</option> <option value="Congo">Congo</option> <option value="Congo {Democratic Rep}">Congo {Democratic Rep}</option> <option value="Costa Rica">Costa Rica</option> <option value="Croatia">Croatia</option> <option value="Cuba">Cuba</option> <option value="Cyprus">Cyprus</option> <option value="Czech Republic">Czech Republic</option> <option value="Denmark">Denmark</option> <option value="Djibouti">Djibouti</option> <option value="Dominica">Dominica</option> <option value="Dominican Republic">Dominican Republic</option> <option value="East Timor">East Timor</option> <option value="Ecuador">Ecuador</option> <option value="Egypt">Egypt</option> <option value="El Salvador">El Salvador</option> <option value="Equatorial Guinea">Equatorial Guinea</option> <option value="Eritrea">Eritrea</option> <option value="Estonia">Estonia</option> <option value="Ethiopia">Ethiopia</option> <option value="Fiji">Fiji</option> <option value="Finland">Finland</option> <option value="France">France</option> <option value="Gabon">Gabon</option> <option value="Gambia">Gambia</option> <option value="Georgia">Georgia</option> <option value="Germany">Germany</option> <option value="Ghana">Ghana</option> <option value="Greece">Greece</option> <option value="Grenada">Grenada</option> <option value="Guatemala">Guatemala</option> <option value="Guinea">Guinea</option> <option value="Guinea-Bissau">Guinea-Bissau</option> <option value="Guyana">Guyana</option> <option value="Haiti">Haiti</option> <option value="Honduras">Honduras</option> <option value="Hungary">Hungary</option> <option value="Iceland">Iceland</option> <option value="India">India</option> <option value="Indonesia">Indonesia</option> <option value="Iran">Iran</option> <option value="Iraq">Iraq</option> <option value="Ireland {Republic}">Ireland {Republic}</option> <option value="Israel">Israel</option> <option value="Italy">Italy</option> <option value="Ivory Coast">Ivory Coast</option> <option value="Jamaica">Jamaica</option> <option value="Japan">Japan</option> <option value="Jordan">Jordan</option> <option value="Kazakhstan">Kazakhstan</option> <option value="Kenya">Kenya</option> <option value="Kiribati">Kiribati</option> <option value="Korea North">Korea North</option> <option value="Korea South">Korea South</option> <option value="Kosovo">Kosovo</option> <option value="Kuwait">Kuwait</option> <option value="Kyrgyzstan">Kyrgyzstan</option> <option value="Laos">Laos</option> <option value="Latvia">Latvia</option> <option value="Lebanon">Lebanon</option> <option value="Lesotho">Lesotho</option> <option value="Liberia">Liberia</option> <option value="Libya">Libya</option> <option value="Liechtenstein">Liechtenstein</option> <option value="Lithuania">Lithuania</option> <option value="Luxembourg">Luxembourg</option> <option value="Macedonia">Macedonia</option> <option value="Madagascar">Madagascar</option> <option value="Malawi">Malawi</option> <option value="Malaysia">Malaysia</option> <option value="Maldives">Maldives</option> <option value="Mali">Mali</option> <option value="Malta">Malta</option> <option value="Marshall Islands">Marshall Islands</option> <option value="Mauritania">Mauritania</option> <option value="Mauritius">Mauritius</option> <option value="Mexico">Mexico</option> <option value="Micronesia">Micronesia</option> <option value="Moldova">Moldova</option> <option value="Monaco">Monaco</option> <option value="Mongolia">Mongolia</option> <option value="Montenegro">Montenegro</option> <option value="Morocco">Morocco</option> <option value="Mozambique">Mozambique</option> <option value="Myanmar, {Burma}">Myanmar, {Burma}</option> <option value="Namibia">Namibia</option> <option value="Nauru">Nauru</option> <option value="Nepal">Nepal</option> <option value="Netherlands">Netherlands</option> <option value="New Zealand">New Zealand</option> <option value="Nicaragua">Nicaragua</option> <option value="Niger">Niger</option> <option value="Nigeria">Nigeria</option> <option value="Norway">Norway</option> <option value="Oman">Oman</option> <option value="Pakistan">Pakistan</option> <option value="Palau">Palau</option> <option value="Panama">Panama</option> <option value="Papua New Guinea">Papua New Guinea</option> <option value="Paraguay">Paraguay</option> <option value="Peru">Peru</option> <option value="Philippines">Philippines</option> <option value="Poland">Poland</option> <option value="Portugal">Portugal</option> <option value="Qatar">Qatar</option> <option value="Romania">Romania</option> <option value="Russian Federation">Russian Federation</option> <option value="Rwanda">Rwanda</option> <option value="St Kitts & Nevis">St Kitts & Nevis</option> <option value="St Lucia">St Lucia</option> <option value="Saint Vincent & the Grenadines">Saint Vincent & the Grenadines</option> <option value="Samoa">Samoa</option> <option value="San Marino">San Marino</option> <option value="Sao Tome & Principe">Sao Tome & Principe</option> <option value="Saudi Arabia">Saudi Arabia</option> <option value="Senegal">Senegal</option> <option value="Serbia">Serbia</option> <option value="Seychelles">Seychelles</option> <option value="Sierra Leone">Sierra Leone</option> <option value="Singapore">Singapore</option> <option value="Slovakia">Slovakia</option> <option value="Slovenia">Slovenia</option> <option value="Solomon Islands">Solomon Islands</option> <option value="Somalia">Somalia</option> <option value="South Africa">South Africa</option> <option value="South Sudan">South Sudan</option> <option value="Spain">Spain</option> <option value="Sri Lanka">Sri Lanka</option> <option value="Sudan">Sudan</option> <option value="Suriname">Suriname</option> <option value="Swaziland">Swaziland</option> <option value="Sweden">Sweden</option> <option value="Switzerland">Switzerland</option> <option value="Syria">Syria</option> <option value="Taiwan">Taiwan</option> <option value="Tajikistan">Tajikistan</option> <option value="Tanzania">Tanzania</option> <option value="Thailand">Thailand</option> <option value="Togo">Togo</option> <option value="Tonga">Tonga</option> <option value="Trinidad & Tobago">Trinidad & Tobago</option> <option value="Tunisia">Tunisia</option> <option value="Turkey">Turkey</option> <option value="Turkmenistan">Turkmenistan</option> <option value="Tuvalu">Tuvalu</option> <option value="Uganda">Uganda</option> <option value="Ukraine">Ukraine</option> <option value="United Arab Emirates">United Arab Emirates</option> <option value="United Kingdom">United Kingdom</option> <option value="United States" selected>United States</option> <option value="Uruguay">Uruguay</option> <option value="Uzbekistan">Uzbekistan</option> <option value="Vanuatu">Vanuatu</option> <option value="Vatican City">Vatican City</option> <option value="Venezuela">Venezuela</option> <option value="Vietnam">Vietnam</option> <option value="Yemen">Yemen</option> <option value="Zambia">Zambia</option> <option value="Zimbabwe">Zimbabwe</option> </select> </div></div><div class="row "> <div class="col-md-2"> </div> <div class="col-md-8 text-center"> <h5 id="inquiry">Please let us know how to direct your inquiry:<br></h5> </div></div><!-- Select Basic --><div class="form-group required-control "> <label class="col-md-3 control-label" for="department">Department</label> <div class="col-md-6"> <select id="department" name="department" class="form-control input-sm required-entry "> <option value="">-- Please Select</option> <option value="Analyzers">Analyzers</option> <option value="Contract Laboratory">Contract Laboratory</option> <option value="Consumables">Consumables</option> <option value="PBMC">PBMC</option> <option value="General Inquiry">General Inquiry</option> <option value="MAT">MAT</option> </select> </div></div><!-- Multiple Radios --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="contactby"></label> <div class="col-md-6"> <div class="radio"> <label for="contactby-0"> <input type="radio" name="contactby" id="contactby-0" value="Contact me by E-mail" checked> Contact me by E-mail </label></div> <div class="radio"> <label for="contactby-1"> <input type="radio" name="contactby" id="contactby-1" value="Contact me by Phone"> Contact me by Phone </label></div> </div></div><!-- Multiple Checkboxes --><div class="form-group required-control "> <label class="col-md-3 control-label" for="terms_conditions"></label> <div class="col-md-6"> <div class="checkbox"> <label for="terms_conditions-0"> <input type="checkbox" name="terms_conditions" id="terms_conditions-0" value="I have read and agree to the Terms and Conditions." class="validate-one-required-custom"> I have read and agree to the Terms and Conditions. </label> </div> <p class="help-block"><a href="https://immunospot.com/terms-and-conditions">Terms and Conditions</a><br><a href="https://immunospot.com/privacy-policy">Privacy Policy</a><br><br></p> </div></div><!-- Button --><div class="form-group submit-alt"> <label class="col-md-3 control-label" for="submitform"></label> <div class="col-md-6"> <button id="submitform" name="submitform" type="submit" class="btn btn-primary">Submit</button> </div></div></fieldset> </div> </div> </div> </div> </div> <script type="text/x-magento-init"> { ".pc_form_widget_view_0": { "PluginCompany_ContactForms/js/popup": {"formId":"3","theme":"default","recaptchaKey":"6LfQJaQgAAAAAA_LapkE4NhvF1OtjaDW_wctYzC-","uploadUrl":"https:\/\/immunospot.com\/contactforms\/form\/upload\/form_id\/3\/","removeUrl":"https:\/\/immunospot.com\/contactforms\/form\/removeupload\/form_id\/3\/","hasVCaptcha":false,"visualCaptcha":{"mainUrl":"https:\/\/immunospot.com\/contactforms\/form_visualcaptcha","imgUrl":"https:\/\/immunospot.com\/static\/version1728550059\/frontend\/Forti\/immuno\/en_US\/PluginCompany_ContactForms\/js\/lib\/visualcaptcha\/img\/"},"hasReCaptcha":false,"invisibleReCaptcha":false,"invisibleReCaptchaPosition":"bottomright","hasUploadField":false,"hasDependendFields":false,"dependentFields":"[]","submitJs":"\/\/enter javascript here","beforeSubmitJs":"\/\/enter javascript here","pageloadJs":"\/\/enter javascript here\r\n","rtl":false,"widget":{"type":"PluginCompany\\ContactForms\\Block\\Form\\Widget\\View","form_id":"3","show_form_as":"popup","display_as_button":"1","link_title":"Contact","wrap_in_block":"0","auto_hide_popup":"0","module_name":"PluginCompany_ContactForms"},"maxUploadSize":512,"locale":"en-us"} } } </script> <script> window.cssMinificationEnabled = false; </script> <br><br> <div class="col-md-8"><img class="shadow-lg" src="https://immunospot.com/media/images/cro/sample-management-inside.jpg" alt="flow"></div> <br><br> <h3>Quality Control and Assurance</h3> <p class="text-justify">Our sample management team follows rigorous quality control and quality assurance steps to ensure proper handling of whole blood, PBMC, sera, etc. Our standardized procedures and quality control and assurance teams document the movement of specimens from the moment they are shipped from your facility through receipt, processing, isolation, testing, cryopreservation, and storage in our laboratory through safe shipment back to your institution.</p> <p class="text-justify"></p><div class="widget block block-static-block"> <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="col-12"> <p>Our experienced immune monitoring team can help you reach your project milestones faster. For further information or a quote, please contact us today.</p> <p><a href="/pub/media/mageplaza/product_attachments/attachment_file/c/r/cro_brochure_digital_2022-10-31.pdf" target="_blank"> Download Brochure</a></p> </div> </div></div></div> <br><div class="pc_form_widget_view_0"> <div class="pccf-customer-data-scope" style="display:none" data-bind="scope: 'PCContactFormData'"> <div id="pccf_form_3" class="pccf default pc-customer-logged-out" style=";"> <img class="pccf_loader" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/PluginCompany_ContactForms/img/gears-anim.gif" style="position:absolute;left:50%;top:50%;margin-left:-90px;margin-top:-80px"> <div class="form-view pccformwrapper well " style="position:relative;visibility:visible;opacity: 1;"> <div class="messages"></div> <div class="form-horizontal pccform" method="post" action="https://immunospot.com/contactforms/form/submit/" data-mage-init='{"validation":{}}'> <fieldset> <!-- Form Name --><!-- Textarea --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="message"></label> <div class="col-md-8"> <textarea id="message" name="message" class="form-control input-sm required-entry " placeholder="*Please drop us a line"></textarea> </div></div><!-- Select Basic --><div class="form-group mb-3"> <label class="col-md-3 control-label" for="selectbasic"></label> <div class="col-md-5"> <select id="selectbasic" name="selectbasic" class="form-control input-sm "> <option value="">*Select Title</option> <option value="Mr.">Mr.</option> <option value="Mrs.">Mrs.</option> <option value="Miss">Miss</option> <option value="Dr.">Dr.</option> <option value="Ms.">Ms.</option> <option value="Prof.">Prof.</option> </select> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="firstname"></label> <div class="col-md-8"> <input id="firstname" name="firstname" type="text" placeholder="*First Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="lastname"></label> <div class="col-md-8"> <input id="lastname" name="lastname" type="text" placeholder="*Last Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="email"></label> <div class="col-md-8"> <input id="email" name="email" type="text" placeholder="*E-mail" class="form-control input-sm required-entry validate-email " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="phone"></label> <div class="col-md-8"> <input id="phone" name="phone" type="text" placeholder="*Phone Number" class="form-control input-sm required-entry validate-number " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="company"></label> <div class="col-md-8"> <input id="company" name="company" type="text" placeholder="*Company" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="workaddress"></label> <div class="col-md-8"> <input id="workaddress" name="workaddress" type="text" placeholder="*Address" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="city"></label> <div class="col-md-8"> <input id="city" name="city" type="text" placeholder="*City" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="state"></label> <div class="col-md-8"> <input id="state" name="state" type="text" placeholder="*State" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="zipcode"></label> <div class="col-md-8"> <input id="zipcode" name="zipcode" type="text" placeholder="*Zipcode/Postcode " class="form-control input-sm required-entry " value=""> </div></div><!-- Select Basic --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="country"></label> <div class="col-md-8"> <select id="country" name="country" class="form-control input-sm required-entry "> <option value="">-- Select Country</option> <option value="Afghanistan">Afghanistan</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> <option value="Andorra">Andorra</option> <option value="Angola">Angola</option> <option value="Antigua & Deps">Antigua & Deps</option> <option value="Argentina">Argentina</option> <option value="Armenia">Armenia</option> <option value="Australia">Australia</option> <option value="Austria">Austria</option> <option value="Azerbaijan">Azerbaijan</option> <option value="Bahamas">Bahamas</option> <option value="Bahrain">Bahrain</option> <option value="Bangladesh">Bangladesh</option> <option value="Barbados">Barbados</option> <option value="Belarus">Belarus</option> <option value="Belgium">Belgium</option> <option value="Belize">Belize</option> <option value="Benin">Benin</option> <option value="Bhutan">Bhutan</option> <option value="Bolivia">Bolivia</option> <option value="Bosnia Herzegovina">Bosnia Herzegovina</option> <option value="Botswana">Botswana</option> <option value="Brazil">Brazil</option> <option value="Brunei">Brunei</option> <option value="Bulgaria">Bulgaria</option> <option value="Burkina">Burkina</option> <option value="Burundi">Burundi</option> <option value="Cambodia">Cambodia</option> <option value="Cameroon">Cameroon</option> <option value="Canada">Canada</option> <option value="Cape Verde">Cape Verde</option> <option value="Central African Rep">Central African Rep</option> <option value="Chad">Chad</option> <option value="Chile">Chile</option> <option value="China">China</option> <option value="Colombia">Colombia</option> <option value="Comoros">Comoros</option> <option value="Congo">Congo</option> <option value="Congo {Democratic Rep}">Congo {Democratic Rep}</option> <option value="Costa Rica">Costa Rica</option> <option value="Croatia">Croatia</option> <option value="Cuba">Cuba</option> <option value="Cyprus">Cyprus</option> <option value="Czech Republic">Czech Republic</option> <option value="Denmark">Denmark</option> <option value="Djibouti">Djibouti</option> <option value="Dominica">Dominica</option> <option value="Dominican Republic">Dominican Republic</option> <option value="East Timor">East Timor</option> <option value="Ecuador">Ecuador</option> <option value="Egypt">Egypt</option> <option value="El Salvador">El Salvador</option> <option value="Equatorial Guinea">Equatorial Guinea</option> <option value="Eritrea">Eritrea</option> <option value="Estonia">Estonia</option> <option value="Ethiopia">Ethiopia</option> <option value="Fiji">Fiji</option> <option value="Finland">Finland</option> <option value="France">France</option> <option value="Gabon">Gabon</option> <option value="Gambia">Gambia</option> <option value="Georgia">Georgia</option> <option value="Germany">Germany</option> <option value="Ghana">Ghana</option> <option value="Greece">Greece</option> <option value="Grenada">Grenada</option> <option value="Guatemala">Guatemala</option> <option value="Guinea">Guinea</option> <option value="Guinea-Bissau">Guinea-Bissau</option> <option value="Guyana">Guyana</option> <option value="Haiti">Haiti</option> <option value="Honduras">Honduras</option> <option value="Hungary">Hungary</option> <option value="Iceland">Iceland</option> <option value="India">India</option> <option value="Indonesia">Indonesia</option> <option value="Iran">Iran</option> <option value="Iraq">Iraq</option> <option value="Ireland {Republic}">Ireland {Republic}</option> <option value="Israel">Israel</option> <option value="Italy">Italy</option> <option value="Ivory Coast">Ivory Coast</option> <option value="Jamaica">Jamaica</option> <option value="Japan">Japan</option> <option value="Jordan">Jordan</option> <option value="Kazakhstan">Kazakhstan</option> <option value="Kenya">Kenya</option> <option value="Kiribati">Kiribati</option> <option value="Korea North">Korea North</option> <option value="Korea South">Korea South</option> <option value="Kosovo">Kosovo</option> <option value="Kuwait">Kuwait</option> <option value="Kyrgyzstan">Kyrgyzstan</option> <option value="Laos">Laos</option> <option value="Latvia">Latvia</option> <option value="Lebanon">Lebanon</option> <option value="Lesotho">Lesotho</option> <option value="Liberia">Liberia</option> <option value="Libya">Libya</option> <option value="Liechtenstein">Liechtenstein</option> <option value="Lithuania">Lithuania</option> <option value="Luxembourg">Luxembourg</option> <option value="Macedonia">Macedonia</option> <option value="Madagascar">Madagascar</option> <option value="Malawi">Malawi</option> <option value="Malaysia">Malaysia</option> <option value="Maldives">Maldives</option> <option value="Mali">Mali</option> <option value="Malta">Malta</option> <option value="Marshall Islands">Marshall Islands</option> <option value="Mauritania">Mauritania</option> <option value="Mauritius">Mauritius</option> <option value="Mexico">Mexico</option> <option value="Micronesia">Micronesia</option> <option value="Moldova">Moldova</option> <option value="Monaco">Monaco</option> <option value="Mongolia">Mongolia</option> <option value="Montenegro">Montenegro</option> <option value="Morocco">Morocco</option> <option value="Mozambique">Mozambique</option> <option value="Myanmar, {Burma}">Myanmar, {Burma}</option> <option value="Namibia">Namibia</option> <option value="Nauru">Nauru</option> <option value="Nepal">Nepal</option> <option value="Netherlands">Netherlands</option> <option value="New Zealand">New Zealand</option> <option value="Nicaragua">Nicaragua</option> <option value="Niger">Niger</option> <option value="Nigeria">Nigeria</option> <option value="Norway">Norway</option> <option value="Oman">Oman</option> <option value="Pakistan">Pakistan</option> <option value="Palau">Palau</option> <option value="Panama">Panama</option> <option value="Papua New Guinea">Papua New Guinea</option> <option value="Paraguay">Paraguay</option> <option value="Peru">Peru</option> <option value="Philippines">Philippines</option> <option value="Poland">Poland</option> <option value="Portugal">Portugal</option> <option value="Qatar">Qatar</option> <option value="Romania">Romania</option> <option value="Russian Federation">Russian Federation</option> <option value="Rwanda">Rwanda</option> <option value="St Kitts & Nevis">St Kitts & Nevis</option> <option value="St Lucia">St Lucia</option> <option value="Saint Vincent & the Grenadines">Saint Vincent & the Grenadines</option> <option value="Samoa">Samoa</option> <option value="San Marino">San Marino</option> <option value="Sao Tome & Principe">Sao Tome & Principe</option> <option value="Saudi Arabia">Saudi Arabia</option> <option value="Senegal">Senegal</option> <option value="Serbia">Serbia</option> <option value="Seychelles">Seychelles</option> <option value="Sierra Leone">Sierra Leone</option> <option value="Singapore">Singapore</option> <option value="Slovakia">Slovakia</option> <option value="Slovenia">Slovenia</option> <option value="Solomon Islands">Solomon Islands</option> <option value="Somalia">Somalia</option> <option value="South Africa">South Africa</option> <option value="South Sudan">South Sudan</option> <option value="Spain">Spain</option> <option value="Sri Lanka">Sri Lanka</option> <option value="Sudan">Sudan</option> <option value="Suriname">Suriname</option> <option value="Swaziland">Swaziland</option> <option value="Sweden">Sweden</option> <option value="Switzerland">Switzerland</option> <option value="Syria">Syria</option> <option value="Taiwan">Taiwan</option> <option value="Tajikistan">Tajikistan</option> <option value="Tanzania">Tanzania</option> <option value="Thailand">Thailand</option> <option value="Togo">Togo</option> <option value="Tonga">Tonga</option> <option value="Trinidad & Tobago">Trinidad & Tobago</option> <option value="Tunisia">Tunisia</option> <option value="Turkey">Turkey</option> <option value="Turkmenistan">Turkmenistan</option> <option value="Tuvalu">Tuvalu</option> <option value="Uganda">Uganda</option> <option value="Ukraine">Ukraine</option> <option value="United Arab Emirates">United Arab Emirates</option> <option value="United Kingdom">United Kingdom</option> <option value="United States" selected>United States</option> <option value="Uruguay">Uruguay</option> <option value="Uzbekistan">Uzbekistan</option> <option value="Vanuatu">Vanuatu</option> <option value="Vatican City">Vatican City</option> <option value="Venezuela">Venezuela</option> <option value="Vietnam">Vietnam</option> <option value="Yemen">Yemen</option> <option value="Zambia">Zambia</option> <option value="Zimbabwe">Zimbabwe</option> </select> </div></div><div class="row "> <div class="col-md-2"> </div> <div class="col-md-8 text-center"> <h5 id="inquiry">Please let us know how to direct your inquiry:<br></h5> </div></div><!-- Select Basic --><div class="form-group required-control "> <label class="col-md-3 control-label" for="department">Department</label> <div class="col-md-6"> <select id="department" name="department" class="form-control input-sm required-entry "> <option value="">-- Please Select</option> <option value="Analyzers">Analyzers</option> <option value="Contract Laboratory">Contract Laboratory</option> <option value="Consumables">Consumables</option> <option value="PBMC">PBMC</option> <option value="General Inquiry">General Inquiry</option> <option value="MAT">MAT</option> </select> </div></div><!-- Multiple Radios --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="contactby"></label> <div class="col-md-6"> <div class="radio"> <label for="contactby-0"> <input type="radio" name="contactby" id="contactby-0" value="Contact me by E-mail" checked> Contact me by E-mail </label></div> <div class="radio"> <label for="contactby-1"> <input type="radio" name="contactby" id="contactby-1" value="Contact me by Phone"> Contact me by Phone </label></div> </div></div><!-- Multiple Checkboxes --><div class="form-group required-control "> <label class="col-md-3 control-label" for="terms_conditions"></label> <div class="col-md-6"> <div class="checkbox"> <label for="terms_conditions-0"> <input type="checkbox" name="terms_conditions" id="terms_conditions-0" value="I have read and agree to the Terms and Conditions." class="validate-one-required-custom"> I have read and agree to the Terms and Conditions. </label> </div> <p class="help-block"><a href="https://immunospot.com/terms-and-conditions">Terms and Conditions</a><br><a href="https://immunospot.com/privacy-policy">Privacy Policy</a><br><br></p> </div></div><!-- Button --><div class="form-group submit-alt"> <label class="col-md-3 control-label" for="submitform"></label> <div class="col-md-6"> <button id="submitform" name="submitform" type="submit" class="btn btn-primary">Submit</button> </div></div></fieldset> </div> </div> </div> </div> </div> <script type="text/x-magento-init"> { ".pc_form_widget_view_0": { "PluginCompany_ContactForms/js/popup": {"formId":"3","theme":"default","recaptchaKey":"6LfQJaQgAAAAAA_LapkE4NhvF1OtjaDW_wctYzC-","uploadUrl":"https:\/\/immunospot.com\/contactforms\/form\/upload\/form_id\/3\/","removeUrl":"https:\/\/immunospot.com\/contactforms\/form\/removeupload\/form_id\/3\/","hasVCaptcha":false,"visualCaptcha":{"mainUrl":"https:\/\/immunospot.com\/contactforms\/form_visualcaptcha","imgUrl":"https:\/\/immunospot.com\/static\/version1728550059\/frontend\/Forti\/immuno\/en_US\/PluginCompany_ContactForms\/js\/lib\/visualcaptcha\/img\/"},"hasReCaptcha":false,"invisibleReCaptcha":false,"invisibleReCaptchaPosition":"bottomright","hasUploadField":false,"hasDependendFields":false,"dependentFields":"[]","submitJs":"\/\/enter javascript here","beforeSubmitJs":"\/\/enter javascript here","pageloadJs":"\/\/enter javascript here\r\n","rtl":false,"widget":{"type":"PluginCompany\\ContactForms\\Block\\Form\\Widget\\View","form_id":"3","show_form_as":"popup","display_as_button":"1","link_title":"Contact","wrap_in_block":"0","auto_hide_popup":"0","module_name":"PluginCompany_ContactForms"},"maxUploadSize":512,"locale":"en-us"} } } </script> <script> window.cssMinificationEnabled = false; </script> <br><br> <h3>Related CRO Services:</h3> <ul class="text-justify"> <li><a href="https://immunospot.com/whole-blood-processing-to-cryopreserved-pbmc.html" target="_blank" rel="noopener"> Whole Blood Processing to Cryopreserved PBMC/Plasma/Sera/Other</a></li> <li><a href="https://immunospot.com/services/t-cell-elispot-testing" target="_blank" rel="noopener">T Cell ELISPOT Testing</a></li> <li><a href="https://immunospot.com/services/b-cell-elispot-testing" target="_blank" rel="noopener">B Cell ELISPOT Testing</a></li> <li><a href="https://immunospot.com/neutralizing-antibody-nab-assays.html" target="_blank" rel="noopener">Neutralizing Antibody Assays (NAb)</a></li><li><a href="https://immunospot.com/elisa-testing.html" target="_blank" rel="noopener">ELISA Testing</a></li> </ul> </div> <div class="col-md-4"> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/4color-tcell-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/t-cell-elispot-testing">T Cell ELISPOT <br>Testing</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/flow-cyto-out.png" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/whole-blood-processing-to-cryopreserved-pbmc">Whole Blood Processing <br>to Cryopreserved PBMC</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/b-cell-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/b-cell-elispot-testing">B Cell ELISPOT <br>Testing</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/cra-nab-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/neutralizing-antibody-assays">Neutralizing Antibody <br>(NAb) Assays</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/flow-cyto-inside.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/flow-cytometry-testing">Flow <br>Cytometry</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/w-pbmc-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/sample-management">Sample <br>Management</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/assay-cvr-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/assay-standardization">Assay <br>Standardization</a></h3> </div> </div> </div> <div class="shadow-lg rounded p-2 mb-3 text-sm-left"> <div class="row"> <div class="col-4"><img class="d-inline-block" src="https://immunospot.com/media/images/cro/scanning-analysis-out.jpg" alt="Icon" width="100"></div> <div class="col-8 pl-0"> <h3 class="h6 my-2"><a href="/services/contract-scanning-analysis">Scanning & Analysis <br>Services</a></h3> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="product info detailed"> <div class="product data items" data-mage-init='{"tabs":{"openedState":"active"}}'> </div> </div> <input name="form_key" type="hidden" value="JAXFehcl9kYk5KEn" /><div id="authenticationPopup" data-bind="scope:'authenticationPopup', style: {display: 'none'}"> <script>window.authenticationPopup = {"autocomplete":"off","customerRegisterUrl":"https:\/\/immunospot.com\/customer\/account\/create\/","customerForgotPasswordUrl":"https:\/\/immunospot.com\/customer\/account\/forgotpassword\/","baseUrl":"https:\/\/immunospot.com\/","customerLoginUrl":"https:\/\/immunospot.com\/customer\/ajax\/login\/"}</script> <!-- ko template: getTemplate() --><!-- /ko --> <script type="text/x-magento-init"> { "#authenticationPopup": { "Magento_Ui/js/core/app": {"components":{"authenticationPopup":{"component":"Magento_Customer\/js\/view\/authentication-popup","children":{"messages":{"component":"Magento_Ui\/js\/view\/messages","displayArea":"messages"},"captcha":{"component":"Magento_Captcha\/js\/view\/checkout\/loginCaptcha","displayArea":"additional-login-form-fields","formId":"user_login","configSource":"checkout"},"recaptcha":{"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","displayArea":"additional-login-form-fields","reCaptchaId":"recaptcha-popup-login","settings":{"rendering":{"sitekey":"6LeOT5EcAAAAAHi4oucEmcs91zYtY-3SsXHt2B5y","badge":"inline","size":"invisible","theme":"light","hl":""},"invisible":true}}}}}} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US\u002Fimages\u002Floader\u002D1.gif" } } </script> </div> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/section-config": { "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages","ms-couponcode-content"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha","pc-customer-data"],"catalog\/product_compare\/add":["compare-products","gtm"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart"],"sales\/order\/reorder":["cart"],"checkout\/cart\/add":["cart","directory-data","gtm"],"checkout\/cart\/delete":["cart","gtm"],"checkout\/cart\/updatepost":["cart"],"checkout\/cart\/updateitemoptions":["cart"],"checkout\/cart\/couponpost":["cart"],"checkout\/cart\/estimatepost":["cart"],"checkout\/cart\/estimateupdatepost":["cart"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items"],"checkout\/sidebar\/removeitem":["cart","gtm"],"checkout\/sidebar\/updateitemqty":["cart"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase","gtm"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha","gtm"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"multishipping\/checkout\/overviewpost":["cart"],"paypal\/express\/placeorder":["cart","checkout-data"],"paypal\/payflowexpress\/placeorder":["cart","checkout-data"],"paypal\/express\/onauthorization":["cart","checkout-data"],"persistent\/index\/unsetcookie":["persistent"],"review\/product\/post":["review"],"wishlist\/index\/add":["wishlist","gtm"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart","gtm"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart","gtm"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"braintree\/paypal\/placeorder":["cart","checkout-data"],"braintree\/googlepay\/placeorder":["cart","checkout-data"],"checkout\/cart\/configure":["gtm"],"rest\/*\/v1\/guest-carts\/*\/shipping-information":["gtm"],"rest\/*\/v1\/carts\/*\/shipping-information":["gtm"]}, "clientSideSections": ["checkout-data","cart-data"], "baseUrls": ["https:\/\/immunospot.com\/"], "sectionNames": ["messages","customer","compare-products","last-ordered-items","cart","directory-data","captcha","instant-purchase","loggedAsCustomer","persistent","review","wishlist","ms-couponcode-content","pc-customer-data","gtm","recently_viewed_product","recently_compared_product","product_data_storage","paypal-billing-agreement"] } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/customer-data": { "sectionLoadUrl": "https\u003A\u002F\u002Fimmunospot.com\u002Fcustomer\u002Fsection\u002Fload\u002F", "expirableSectionLifetime": 60, "expirableSectionNames": ["cart","persistent"], "cookieLifeTime": "3600", "updateSessionUrl": "https\u003A\u002F\u002Fimmunospot.com\u002Fcustomer\u002Faccount\u002FupdateSession\u002F" } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/invalidation-processor": { "invalidationRules": { "website-rule": { "Magento_Customer/js/invalidation-rules/website-rule": { "scopeConfig": { "websiteId": "1" } } } } } } } </script> <script type="text/x-magento-init"> { "body": { "pageCache": {"url":"https:\/\/immunospot.com\/page_cache\/block\/render\/id\/1012\/","handles":["default","catalog_product_view","catalog_product_view_type_simple","catalog_product_view_id_1012","catalog_product_view_sku_service-sm","algolia_search_handle","algolia_search_handle_with_topsearch","catalog_product_view_type_service"],"originalRequest":{"route":"catalog","controller":"product","action":"view","uri":"\/sample-management.html"},"versionCookieName":"private_content_version"} } } </script> <script type="text/x-magento-init"> { "body": { "requireCookie": {"noCookieUrl":"https:\/\/immunospot.com\/cookie\/index\/noCookies\/","triggers":[".action.towishlist"],"isRedirectCmsPage":true} } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Catalog/js/product/view/provider": { "data": {"items":{"1012":{"add_to_cart_button":{"post_data":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/checkout\\\/cart\\\/add\\\/uenc\\\/%25uenc%25\\\/product\\\/1012\\\/\",\"data\":{\"product\":\"1012\",\"uenc\":\"%uenc%\"}}","url":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/%25uenc%25\/product\/1012\/","required_options":false},"add_to_compare_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/catalog\\\/product_compare\\\/add\\\/\",\"data\":{\"product\":\"1012\",\"uenc\":\"aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s\"}}","required_options":null},"price_info":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":null,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":null,"regular_price":"<span class=\"price\">$0.00<\/span>"},"extension_attributes":{"msrp":{"msrp_price":"<span class=\"price\">$0.00<\/span>","is_applicable":"","is_shown_price_on_gesture":"","msrp_message":"","explanation_message":"Our price is lower than the manufacturer's "minimum advertised price." As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart."},"tax_adjustments":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":0,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":"<span class=\"price\">$0.00<\/span>","regular_price":"<span class=\"price\">$0.00<\/span>"}},"weee_attributes":[],"weee_adjustment":"<span class=\"price\">$0.00<\/span>"}},"images":[{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/5400799395efa676cdf8a9f2110724cf\/s\/a\/sample-management-inside.jpg","code":"recently_viewed_products_grid_content_widget","height":300,"width":240,"label":"Sample management","resized_width":240,"resized_height":300},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/83fae886ac6bf3639f673f892954b468\/s\/a\/sample-management-inside.jpg","code":"recently_viewed_products_list_content_widget","height":340,"width":270,"label":"Sample management","resized_width":270,"resized_height":340},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/ac53f6ae6524f4ecef925ce67835248f\/s\/a\/sample-management-inside.jpg","code":"recently_viewed_products_images_names_widget","height":90,"width":75,"label":"Sample management","resized_width":75,"resized_height":90},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/5400799395efa676cdf8a9f2110724cf\/s\/a\/sample-management-inside.jpg","code":"recently_compared_products_grid_content_widget","height":300,"width":240,"label":"Sample management","resized_width":240,"resized_height":300},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/83fae886ac6bf3639f673f892954b468\/s\/a\/sample-management-inside.jpg","code":"recently_compared_products_list_content_widget","height":340,"width":270,"label":"Sample management","resized_width":270,"resized_height":340},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/ac53f6ae6524f4ecef925ce67835248f\/s\/a\/sample-management-inside.jpg","code":"recently_compared_products_images_names_widget","height":90,"width":75,"label":"Sample management","resized_width":75,"resized_height":90}],"url":"https:\/\/immunospot.com\/sample-management.html","id":1012,"name":"Sample management","type":"simple","is_salable":"1","store_id":1,"currency_code":"USD","extension_attributes":{"review_html":"","wishlist_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/wishlist\\\/index\\\/add\\\/\",\"data\":{\"product\":1012,\"uenc\":\"aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9zYW1wbGUtbWFuYWdlbWVudC5odG1s\"}}","required_options":null}},"is_available":true}},"store":"1","currency":"USD","productCurrentScope":"website"} } } } </script> <div id="itoris_dynamicproductoptions_add_to_cart_configure" style="display: none;"> <button type="button" class="button"> <span><span>Configure</span></span> </button> </div> <div id="itoris_dynamicproductoptions_popup_mask" style="display: none;"></div> <div id="itoris_dynamicproductoptions_popup" style="display: none;"> <div id="itoris_dynamicproductoptions_popup_close_icon"></div> <div class="popup-title">Configure Sample management</div> <div id="itoris_dynamicproductoptions"> </div> <div class="product-options-bottom"> <button id="itoris_dynamicproductoptions_popup_button_cancel" type="button" class="button"><span><span>Cancel</span></span></button> <div class="add-to-box"> <span id="itoris_dynamicproductoptions_popup_price"></span> <button id="itoris_dynamicproductoptions_popup_button_apply" type="button" class="button"><span><span>Apply</span></span></button> <span class="or">OR</span> <div class="add-to-cart"> <label for="qty">Qty:</label> <input type="text" name="qty" id="itoris_dynamicoptions_qty" maxlength="12" value="" title="Qty" class="input-text qty" /> <button type="button" title="Add to Cart" id="itoris_dynamicoptions_add_to_cart" class="button btn-cart"><span><span>Add to Cart</span></span></button> </div> </div> </div> </div> <div id="itoris_dynamicproductoptions_configuration" style="display: none;"> <ul></ul> <button id="itoris_dynamicproductoptions_button_edit" type="button" class="button"><span><span>Edit</span></span></button> </div> <script type="text/javascript"> require(['jquery','prototype','Itoris_DynamicProductOptions/js/options'], function(jQuery, _, dpo) { window.opConfig1012 = []; window.dynamicOptions1012 = jQuery.extend({}, window.DynamicProductOptions); window.dynamicOptions1012.initialize({"form_style":"table_sections","appearance":"on_product_view","absolute_pricing":"0","absolute_sku":"0","sku_order":"","absolute_weight":"0","product_id":"1012","is_configured":false,"is_grouped":false,"option_errors":[],"error_message":"","product_type":"simple","configure_product_message":"Please configure the product","out_of_stock_message":"out of stock","section_conditions":[],"options_qty":[],"extra_js":""}, [], 0, [], {"Qty":"Qty","Buy %1 for %2 each":"Buy %1 for %2 each","Search...":"Search...","Sorry, nothing found...":"Sorry, nothing found...","Was: %1":"Was: %1","Stock availability: %1":"Stock availability: %1"}, {taxRate: 1, priceAlreadyIncludesTax: 0, displayPriceMode: 1}); }); </script> <div id="frequentlyBoughtTogether" class="recommend-component"></div> <div id="relatedProducts" class="recommend-component"></div> <div id="trendItems" class="trendsItem recommend-component"></div> <script> require([ 'jquery', 'domReady!' ], function($){ window.algoliObjectId = ["1012"]; }); </script> <script type="text/x-magento-init"> { "[data-role=tocart-form]": { "catalogAddToCart": {} } } </script> </div></div></main><footer class="page-footer"><div class="footer content"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row no-gutters font-size-sm"> <div class="col-md-4 col-lg-3 mt-1"><img src="https://immunospot.com/media/images/logo/immunospot_logo_black.png" alt=""> <p>20521 Chagrin Boulevard <br>Shaker Heights, Cleveland, <br>OH 44122-5350 USA</p> <p>Tel: +1 216-791-5084<br>US Toll Free: +1 888-791-4005<br>Fax: +1 216-751-1373</p> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Products</h5> <ul class="compact"> <li><a href="/products/analyzers">Analyzers & software</a></li> <li><a href="/products/immunospot-kits-components">Kits & components</a></li> <li><a href="/products/epbmc">ePBMC</a></li> <li><a href="/products/serum-free-media">Serum-free media</a></li> <li><a href="/products/positive-controls-tcell-activation">Positive controls for T cell activation</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2 pr-4"> <h5>Services</h5> <ul class="compact"> <li><a href="/services/contract-laboratory-services">Contract laboratory services</a></li> <li><a href="/services/training-consultation">Training & consultation</a></li> <li><a href="/products/kit-scanning-analysis">ELISPOT/FluoroSpot plate analysis</a></li> <li><a href="/services/elispot-proficiency-testing">ELISPOT/FluoroSpot proficiency testing</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Resources</h5> <ul class="compact"> <li><a href="/resources/news">Latest news from CTL</a></li> <li><a href="/resources/recent-publications">Latest publications</a></li> <li><a href="/terms-and-conditions">Terms and conditons of Sale of Products</a></li> <li><a href="/privacy-policy">Privacy policy</a></li> <li><a href="/sitemap">Site map</a></li> <li><a href="/website-terms-of-use">Website Terms of Use</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Contact</h5> <ul class="compact"> <li><a href="/contact-support/contact-us">General contact</a></li> <li><a href="/contact-support/contact-us">Distributors</a></li> <li><a href="/careers">Careers</a></li> <li><a href="/contact-support/contact-elispot-workshop">ELISPOT workshops</a></li> <li><a href="/contact-support/customer-support">Customer support</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-1"> <h5>Social</h5> <ul class="compact"> <li class="mb-1"><a title="Linkedin" href="https://www.linkedin.com/company/cellular-technology-ltd./" target="_blank" rel="noreferrer noopener"><img src="https://immunospot.com/media/images/footer/linkedin-footer-grey.png" alt="Follow Us on LinkedIn" width="40" height="40"></a></li> <li class=""><a title="YouTube" href="https://www.youtube.com/user/ImmunoSpot/videos" target="_blank" rel="noreferrer noopener"><img src="https://immunospot.com/media/images/footer/youtube-footer-grey.png" alt="Follow Us on YouTube" width="40" height="40"></a></li> </ul> </div> </div> <div class="鈥渞ow text-center mt-3 font-size-sm"><a href="/terms-and-conditions">Terms and conditions | </a> <a href="/privacy-policy">Privacy policy | </a> Copyright 漏<script>document.write(new Date().getFullYear())</script> Cellular Technology Limited</div> <a class="btn-scroll-top" href="#top" data-scroll data-fixed-element><span class="btn-scroll-top-tooltip text-muted fs-sm me-2">Top</span><i class="btn-scroll-top-icon ai-arrow-up"> </i></a></div><div class="field-recaptcha" id="recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container" data-bind="scope:'recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796'" > <!-- ko template: getTemplate() --><!-- /ko --> </div> <script> require(['jquery', 'domReady!'], function ($) { $('#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container') .appendTo('#newsletter-validate-detail'); }); </script> <script type="text/x-magento-init"> { "#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container": { "Magento_Ui/js/core/app": {"components":{"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796":{"settings":{"rendering":{"sitekey":"6LeOT5EcAAAAAHi4oucEmcs91zYtY-3SsXHt2B5y","badge":"inline","size":"invisible","theme":"light","hl":""},"invisible":true},"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","reCaptchaId":"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796"}}} } } </script> </div></footer> <script type="text/x-magento-init"> {"*": {"Magento_Ui/js/core/app": {"components":{"couponCodeContent":{"component":"Mageside_CouponCodeLink\/js\/content","contentType":"1"}}}}} </script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "storage-manager": { "component": "Magento_Catalog/js/storage-manager", "appendTo": "", "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/immunospot.com\/rest\/default\/V1\/products-render-info"},"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"allowToSendRequest":null}} } } } } } </script> <script> window.screenM = '768'; window.widthThreshold = '1315'; require(['jquery', 'navigationJs' ], function ($, navigationJs) { $(document).ready(function() { navigationJs.init(); $(window).on('resize', function() { navigationJs.init(); }); }); }); </script> <script> require(['jquery', 'supscript'], function($, supscript) { supscript(); }); </script> <script type="text/x-magento-init"> { "*": { "Magento_Theme/js/theme.min": {} } } </script> <script> require(['jquery', 'chartjs'], function() { if (document.querySelectorAll('#Chart1').length > 0) { var ctx = document.getElementById('Chart1'); var Chart1 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-466', data: [78, 72, 47, 30, 17, 12, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart2').length > 0) { var ctx = document.getElementById('Chart2'); var Chart2 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-465', data: [80, 71, 49, 28, 19, 3, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart3').length > 0) { var ctx = document.getElementById('Chart3'); var Chart3 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-453', data: [59, 41, 12, 2, 0, 0, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart4').length > 0) { var ctx = document.getElementById('Chart4'); var Chart4 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-448', data: [78, 37, 21, 13, 9, 0, 8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart5').length > 0) { var ctx = document.getElementById('Chart5'); var Chart5 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-447', data: [65, 33, 21, 8, 8, 7, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart6').length > 0) { var ctx = document.getElementById('Chart6'); var Chart6 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-446', data: [80, 75, 59, 42, 21, 19, 15], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart7').length > 0) { var ctx = document.getElementById('Chart7'); var Chart7 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-438', data: [62, 31, 19, 9, 3, 2, -8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart8').length > 0) { var ctx = document.getElementById('Chart8'); var Chart8 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-435', data: [59, 33, 13, 9, 1, 1, -2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart9').length > 0) { var ctx = document.getElementById('Chart9'); var Chart9 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-441', data: [72, 40, 17, 7, 8, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart10').length > 0) { var ctx = document.getElementById('Chart10'); var Chart10 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-433', data: [57, 48, 22, 13, 7, 3, 0], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart11').length > 0) { var ctx = document.getElementById('Chart11'); var Chart11 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-425', data: [54, 35, 10, 8, 1, 2, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart12').length > 0) { var ctx = document.getElementById('Chart12'); var Chart12 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-424', data: [70, 50, 28, 13, 9, 5, 4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart13').length > 0) { var ctx = document.getElementById('Chart13'); var Chart13 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-406', data: [63, 39, 23, 14, 4, 5, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart14').length > 0) { var ctx = document.getElementById('Chart14'); var Chart14 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-404', data: [60, 35, 25, 14, 5, 8, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart15').length > 0) { var ctx = document.getElementById('Chart15'); var Chart15 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-401', data: [65, 38, 18, 15, 5, 8, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart16').length > 0) { var ctx = document.getElementById('Chart16'); var Chart16 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-394', data: [50, 28, 18, 9, 3, 1, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart17').length > 0) { var ctx = document.getElementById('Chart17'); var Chart17 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-393', data: [73, 44, 24, 15, 8, 4, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart18').length > 0) { var ctx = document.getElementById('Chart18'); var Chart18 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-391', data: [75, 49, 31, 18, 11, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart19').length > 0) { var ctx = document.getElementById('Chart19'); var Chart19 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-390', data: [60, 38, 21, 12, 10, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart20').length > 0) { var ctx = document.getElementById('Chart20'); var Chart20 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-387', data: [72, 39, 24, 12, 5, 4, 6], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart21').length > 0) { var ctx = document.getElementById('Chart21'); var Chart21 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-386', data: [52, 34, 18, 11, 3, 4, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart22').length > 0) { var ctx = document.getElementById('Chart22'); var Chart22 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-385', data: [58, 29, 19, 12, 3, 0, 4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart23').length > 0) { var ctx = document.getElementById('Chart23'); var Chart23 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-381', data: [80, 68, 42, 23, 11, 5, 0], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart24').length > 0) { var ctx = document.getElementById('Chart24'); var Chart24 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-372', data: [80, 65, 43, 30, 14, 10, 8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart25').length > 0) { var ctx = document.getElementById('Chart25'); var Chart25 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-371', data: [68, 33, 20, 8, 5, 1, -8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart26').length > 0) { var ctx = document.getElementById('Chart26'); var Chart26 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-368', data: [74, 49, 27, 18, 9, 2, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart27').length > 0) { var ctx = document.getElementById('Chart27'); var Chart27 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-367', data: [80, 61, 41, 27, 14, 3, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart28').length > 0) { var ctx = document.getElementById('Chart28'); var Chart28 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-366', data: [56, 37, 22, 8, 2, -1, -1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart29').length > 0) { var ctx = document.getElementById('Chart29'); var Chart29 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-355', data: [75, 69, 44, 21, 11, 8, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart30').length > 0) { var ctx = document.getElementById('Chart30'); var Chart30 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-353', data: [59, 39, 18, 9, 2, 7, -1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart31').length > 0) { var ctx = document.getElementById('Chart31'); var Chart31 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP349', data: [59, 37, 18, 2, -2, -3, -4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart32').length > 0) { var ctx = document.getElementById('Chart32'); var Chart32 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP341', data: [56, 40, 19, 10, 7, 2, -2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart33').length > 0) { var ctx = document.getElementById('Chart33'); var Chart33 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP98', data: [73, 53, 40, 25, 15, 9, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } }); </script> <script> require(['jquery', 'tinyslider'], function() { if (document.querySelectorAll('.front-header-slider').length > 0) { const front = tns({ "container": ".front-header-slider", "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.well-soft-slider').length > 0) { const well = tns({ "container": ".well-soft-slider", "gutter": 15, "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.comment-slider').length > 0) { const well = tns({ "container": ".comment-slider", "gutter": 15, "controls": false, "nav": false, "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 5000, "autoplayHoverPause": false }); } if (document.querySelectorAll('#nested').length > 0) { const outer = tns({ "container": "#nested", "gutter": 15, "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayTimeout": 3500, "autoplayButtonOutput": false, "autoplayHoverPause": false }); } if (document.querySelectorAll('.header-slider').length > 0) { const header = tns({ "container": ".header-slider", "mode": "gallery", "nav": false, "controls": false, "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.gallery-slider').length > 0) { const tnsCarousel = document.querySelectorAll('.gallery-slider'); tnsCarousel.forEach(slider => { const tnsSlider = tns({ container: slider, "mode": "gallery" }); }); } if (document.querySelectorAll('.world-soft-slider').length > 0) { const world = tns({ "container": ".world-soft-slider", "gutter": 15, "controls": false, "navPosition": "top", "autoplay": true, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } }); function resetFunction() { document.querySelector('[aria-label="Carousel Page 1"]').click() document.querySelector('[data-action="start"]').click() } </script> <script type="text/javascript">require(['fancybox']);</script> <script> require(['jquery'], function($){ $(document).ready(function(){ $(".field .options-list #options_2684_2").click(function() { $('#96-well-white').toggleClass("swap-on swap-off"); $('#96-well-strip').addClass("swap-off"); $('#384-well-white').addClass("swap-off"); }); $(".field .options-list #options_2684_3").click(function() { $('#96-well-strip').toggleClass('swap-on swap-off'); $('#96-well-white').addClass("swap-off"); $('#384-well-white').addClass("swap-off"); }); $(".field .options-list #options_2684_4").click(function() { $('#384-well-white').toggleClass('swap-on swap-off'); $('#96-well-white').addClass("swap-off"); $('#96-well-strip').addClass("swap-off"); }); }); }); </script> <!-- Wrapping template --> <script type="text/template" id="instant_wrapper_template"> {{#findAutocomplete}} <div id="algolia-autocomplete-container"></div> {{/findAutocomplete}} <div id="algolia_instant_selector" class=" with-facets"> <div class="row"> <div class="col-md-4" id="algolia-left-container"> <div id="refine-toggle" class="visible-xs visible-sm"> + Refine </div> <div class="hidden-xs hidden-sm" id="instant-search-facets-container"> <div id="clear-refinements"></div> <h3 class="filter_heading">Filters</h3> </div> </div> <div class="col-md-8" id="algolia-right-container"> <div class="row"> <div class="col-md-12"> <div> {{#second_bar}} <div id="instant-search-bar"></div> {{/second_bar}} </div> </div> </div> <div class="row"> <div class="col-md-12"> <div itemscope itemtype="http://schema.org/ItemList" class="hits"> <div class="algolia-infos"> <div class="pull-left" id="algolia-stats"></div> <div class="pull-right"> <div class="sort-by-label pull-left"> <h4>SORT BY </h4> </div> <div class="pull-left" id="algolia-sorts"></div> </div> <div class="algolia-clearfix"></div> </div> <div id="algolia-banner"></div> <div id="current-refinements"></div> <div id="instant-empty-results-container"></div> <div id="instant-search-results-container"></div> </div> </div> <div class="algolia-clearfix"></div> </div> <div class="text-center"> <div id="instant-search-pagination-container"></div> </div> </div> </div> </div> </script> <script type="text/template" id="instant-hit-template"> <a class="col-md-12" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> <meta itemprop="position" content="{{__position}}" /> <div class="result-wrapper" itemprop="item" itemscope itemtype="http://schema.org/Product"> <meta itemprop="url" {{^__queryID}} content="{{url}}" {{/__queryID}} {{#__queryID}} content="{{urlForInsights}}" {{/__queryID}} /> <div class="result-content row"> <div class="result-thumbnail col-md-3"> <a class="result" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> {{#image_url}}<img itemprop="image" src="{{{image_url}}}" alt="{{{name}}}" />{{/image_url}} {{^image_url}}<span class="no-image"></span>{{/image_url}} </a> </div> <div class="result-sub-content col-md-9"> <a class="result" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> <div class="row"> <div class="col-md-12"> <h5 itemprop="name" class="result-title-categires"> <span class=""> {{{categories}}}</span> </h5> </div> </div> <div class="row"> <div class="col-md-12"> <h3 itemprop="name" class="result-title"> {{{ _highlightResult.name.value }}} </h3> </div> </div> <div class="catalog-list-item__list"> <div class="catalog_list-item__attribute"> <div class="price-wrapper"> <div> {{#price}} <span class="after_special hide"> Starting at {{{custom_price}}} </span> {{/price}} </div> </div> </div> </div> <div class="catalog-list-item__actions"> {{#isAddToCartEnabled}} <form data-role="tocart-form" action="{{ addToCart.action }}" method="post"> <input type="hidden" name="product" value="{{objectID}}"> <input type="hidden" name="uenc" value="{{ addToCart.uenc }}"> <input name="form_key" type="hidden" value="{{ addToCart.formKey }}"> <button type="submit" title="Add to Cart" class="action tocart primary" data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}" > <span>Add to Cart</span> </button> </form> {{/isAddToCartEnabled}} </div> </a> </div> </div> <div class="algolia-clearfix"></div> </div> </a> </script> <script type="text/template" id="instant-stats-template"> {{#hasOneResult}}<strong>1</strong>result found{{/hasOneResult}} {{#hasManyResults}} {{^hasNoResults}}{{last}} of{{/hasNoResults}} <span itemprop="numberOfItems">{{nbHits}}</span> products {{/hasManyResults}} </script> <script type="text/template" id="refinements-lists-item-template"> <label class="{{cssClasses.label}} {{#isRefined}}checked{{/isRefined}}"> <input class="{{cssClasses.checkbox}}" {{#isRefined}}checked{{/isRefined}} type="checkbox" value="{{value}}" /> {{value}} <span class="{{cssClasses.count}}">{{count}}</span> </label> </script><script type="text/template" id="current-refinements-template"> <div class="cross-wrapper"> <span class="clear-cross clear-refinement"></span> </div> <div class="current-refinement-wrapper"> {{#label}} <span class="current-refinement-label">{{label}}{{^operator}}:{{/operator}}</span> {{/label}} {{#operator}} {{{displayOperator}}} {{/operator}} {{#exclude}}-{{/exclude}} <span class="current-refinement-name">{{name}}</span> </div> </script><small class="copyright"> <span></span> </small> </div> <script> require(['jquery','weltpixel_persistentLayer', 'weltpixel_gtm', 'Magento_Customer/js/customer-data'], function ($, wpPersDl, wpgtm, customerData) { $( document ).ajaxComplete(function( event, xhr, settings ) { if (settings.url.search('/customer\/section\/load/') > 0) { var response = xhr.responseJSON; if (response.gtm) { var dataLayerData = $.parseJSON(response.gtm.datalayer); for (index in dataLayerData) { window.dataLayer.push(dataLayerData[index]); } } } }); var wpPersDlOptions = {'storageExpiryTime' : 30 }; var wpGtmOptions = { 'enabled' : 0, 'persDataLayer' : wpPersDl }; wpPersDl.init(wpPersDlOptions); wpgtm.trackPromotion(wpGtmOptions); }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-694e2d93d0829b3aaa4","applicationID":"251439689","transactionName":"MhBSZQoZC0NQUUBcWAtacVIMEQpeHlFVQVYJGlceCAoKVERRQBpBDBBH","queueTime":0,"applicationTime":956,"atts":"HldRE0IDGE0=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html>