`),[e.width,e.height]=y[r.size_id].split("x").map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:a.adUnitCode}),t.push(e)}else(0,u.logError)(`Rubicon: bidRequest undefined at index position:${n}`,s,e);var p;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0)))},getUserSyncs:function(e,t,r,i,n){if(!I&&e.iframeEnabled){let e={};return r&&("boolean"==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),"string"==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),n?.gppString&&(e.gpp=n.gppString,e.gpp_sid=n.applicableSections?.toString()),e=Object.keys(e).length?`?${(0,u.formatQS)(e)}`:"",I=!0,{type:"iframe",url:`https://${b.syncHost||"eus"}.rubiconproject.com/usync.html`+e}}},transformBidParams:function(e,t){return(0,f.u)({accountId:"number",siteId:"number",zoneId:"number"},e)}};function _(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,"https:"):r}function k(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector("div[id^='google_ads']");t&&t.style.setProperty("display","none")}(t),function(e){const t=e.querySelector("script[id^='sas_script']"),r=t&&t.nextSibling;r&&"iframe"===r.localName&&r.style.setProperty("display","none")}(t);const r=e.renderer.getConfig();e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align||"center",position:r.position||"append"},closeButton:r.closeButton||!1,label:r.label||void 0,collapse:r.collapse||!0})}))}function j(e,t){let r=e.params;if(t===d.pX){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.Z)(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.Z)(e,"mediaTypes.banner.sizes")?i=S(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=S(e.sizes):(0,u.logWarn)("Rubicon: no sizes are setup or found"),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function S(e){return(0,u.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(y[t],10);return r&&e.push(r),e}),[])}function C(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.Z)(e,`mediaTypes.${d.pX}`),r=void 0!==(0,m.Z)(e,`mediaTypes.${d.Mk}`),i=void 0!==(0,m.Z)(e,"params.bidonmultiformat"),n="object"!=typeof(0,m.Z)(e,"params.video");return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,l.N)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.Z)(e,`mediaTypes.${d.pX}.context`)))return t&&(0,u.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(j(e,d.pX).length<2)return t&&(0,u.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,u.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.pX)}if(void 0!==(0,m.Z)(e,`mediaTypes.${d.B5}`)&&r.push(d.B5),void 0!==(0,m.Z)(e,`mediaTypes.${d.Mk}`)){if(0===j(e,d.Mk).length)return t&&(0,u.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,u.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.Mk)}return r}function R(e){let t=!1;const r=["asi","sid","hp"];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,u.logError)("Rubicon: required schain params missing"),t):t}function A(e,t){return"rp_schain"===e?`rp_schain=${t}`:`${e}=${encodeURIComponent(t)}`}var I=!1;(0,s.dX)(v),(0,i.z)("rubiconBidAdapter")},26372:(e,t,r)=>{r.d(t,{DZ:()=>o,Px:()=>s,TP:()=>d,YC:()=>a,Z:()=>n,f8:()=>u,fP:()=>l,gm:()=>i,md:()=>p});const i=["request","imp","bidResponse","response"],[n,o,s,a]=i,[d,p]=["default","pbs"],c=new Set(i);const{registerOrtbProcessor:u,getProcessors:l}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:n,fn:o,priority:s=0,dialects:a=[d]}=t;if(!c.has(r))throw new Error(`ORTB processor type must be one of: ${i.join(", ")}`);a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(r)||(e[t][r]={}),e[t][r][n]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[85279,33402,93157,70951],(()=>{return t=40060,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[33238],{93444:(e,t,n)=>{var i=n(78640),r=n(64358),a=n(14699),s=n(24679),o=n(3193);const p=["inScreen","inImage","inArticle","inBanner"],c={[s.Mk]:"display",[s.pX]:"video"},d="fixed",u="mobile",m="unknown",l=()=>{const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};switch(e.type||e.effectiveType){case"wifi":case"ethernet":return d;case"cellular":case"wimax":return u;default:return/iPad|iPhone|iPod/.test(navigator.userAgent)||/android/i.test(navigator.userAgent)?m:d}};function g(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function y(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&p.indexOf(t.placement)>-1}function f(e){const t=e.params,n=(0,r._map)(Object.keys(e.mediaTypes),(function(e){return c[e]})),i={id:e.bidId,transactionId:e.ortb2Imp?.ext?.tid,sizes:e.sizes,supplyTypes:n,adUnitId:t.adUnitId,adUnitCode:e.adUnitCode,placement:t.placement,requestCount:e.bidderRequestsCount||1};return g(e)&&(i.videoParams=b(e)),i}function b(e){const t=e.mediaTypes.video||{};return t.playerSize&&(t.w=t.playerSize[0][0],t.h=t.playerSize[0][1]),t}function h(e){const t="display"===(n=e.mediaType)?s.Mk:"video"===n?s.pX:n;var n;const i={requestId:e.bidId,cpm:e.price,width:e.width,height:e.height,creativeId:e.creativeId,currency:e.currency,netRevenue:!0,mediaType:t,ttl:e.ttl,nurl:e.nurl,meta:{advertiserDomains:e&&e.adomain&&e.adomain.length>0?e.adomain:[]}};return t===s.pX?i.vastXml=e.content:i.ad=e.content,i}function S(){const e=(()=>{try{const e=performance.getEntriesByType("navigation")[0];return Math.round(e.responseStart-e.startTime)}catch(e){try{const e=performance.timing;return Math.round(e.responseStart-e.fetchStart)}catch(e){return 0}}})();return e>=0&&e<=performance.now()?e:0}const v={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[s.Mk,s.pX],isBidRequestValid:e=>g(e)?function(e){const t=b(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&g(e)&&!!t.playerSize&&(0,r.isArray)(t.playerSize)&&t.playerSize.length>0;return"inStream"===e.params.placement?n&&"instream"===t.context:n&&"outstream"===t.context&&function(e){return!!e.mediaTypes&&!!e.mediaTypes.banner}(e)&&y(e)}(e):y(e),buildRequests(e,t){const n={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.20.0",connectionType:l(),auctionStart:t.auctionStart||Date.now(),ttfb:S(),bidRequests:(0,r._map)(e,f)};if(n.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(n.ga=e),n.cd=t.gdprConsent.consentString}t.uspConsent&&(n.uspConsent=t.uspConsent),e[0].schain&&(n.schain=e[0].schain);let i=o.config.getConfig("coppa");i&&(n.coppa=i),t.gppConsent?n.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:t.ortb2?.regs?.gpp&&(n.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid});return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(n)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,r.isArray)(t.bids)?(0,r._map)(t.bids,(function(e){return h(e)})):[]},getUserSyncs(e,t){const n=t[0];if(e.iframeEnabled&&n){const e=n.body.cookieSync;return e?[{type:"iframe",url:e}]:[]}return[]},onTimeout(e){const t=function(e){let t="";if((0,r.isArray)(e)&&e[0]&&(0,r.isArray)(e[0].params)&&e[0].params[0]){const n=e[0].params[0],i=e[0].timeout;t="?publisherToken="+n.publisherId+"&adUnitId="+n.adUnitId+"&timeout="+i}return"https://s.seedtag.com/se/hb/timeout"+t}(e);(0,r.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,r.triggerPixel)(e.nurl)}};(0,a.dX)(v),(0,i.z)("seedtagBidAdapter")}},e=>{var t;t=93444,e(e.s=t)}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[92972],{54834:(e,o,t)=>{var n=t(78640),r=t(64358),d=t(92797),i=t(34516),a=t(15164),u=t(9633),c=t(81694);const l=(0,a.df)({moduleType:u.y2,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(e,o){if(o===s)return l.getCookie(e);if(o===m&&l.hasLocalStorage()){const o=l.getDataFromLocalStorage(`${e}_exp`);if(!o)return l.getDataFromLocalStorage(e);if(new Date(o).getTime()-Date.now()>0)return l.getDataFromLocalStorage(e)}}function I(e,o){return function(t,n){o?b(o,e,(()=>{t(n()||e)}))():t(e)}}function b(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2?arguments[2]:void 0;if(!e)return;const n=(0,r.parseUrl)(e);n.search.id=encodeURIComponent("pubcid:"+o);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function h(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const v={name:"sharedId",aliasName:"pubCommonId",gvlid:i.$P,decode(e,o){if(h())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+e);return{pubcid:e}},getId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(h())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.VP.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=e;let d=o;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(e){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(h())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.VP.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=e;if(t){if(n){return{callback:b(n,o)}}return{id:o}}},domainOverride:(0,c.U)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.Bx)("userId",v),(0,n.z)("sharedIdSystem")}},e=>{e.O(0,[57748],(()=>{return o=54834,e(e.s=o);var o}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[88029],{76401:(e,t,n)=>{var r=n(78640),i=n(64358),o=n(20265),a=n(14699),d=n(15164);const s="teads",c=12,p=11,u=0,l=22,m=(0,d.df)({bidderCode:s}),g={code:s,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=b((0,i.getValue)(e.params,"placementId")),r=b((0,i.getValue)(e.params,"pageId"));t=n&&r}return t||(0,i.logError)("Teads placementId and pageId parameters are required. Bid aborted."),t},buildRequests:function(e,t){const n=e.map(S),r={referrer:y(t),pageReferrer:document.referrer,pageTitle:f().slice(0,300),pageDescription:v().slice(0,300),networkBandwidth:(i=window.navigator,i&&i.connection&&i.connection.downlink>=0?i.connection.downlink.toString():""),timeToFirstByte:h(window),data:n,deviceWidth:screen.width,hb_version:"8.20.0",...I(e),...q(e)};var i;const a=e[0];a.schain&&(r.schain=a.schain);let d=t.gdprConsent;if(t&&d){let e="boolean"==typeof d.gdprApplies,t="string"==typeof d.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=p):n=u;return n}(d.gdprApplies,d.vendorData):l;r.gdpr_iab={consent:t?d.consentString:"",status:n,apiVersion:d.apiVersion}}t&&t.uspConsent&&(r.us_privacy=t.uspConsent);const s=(0,o.Z)(a,"ortb2.device.sua");s&&(r.userAgentClientHints=s);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(r)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(e){const t={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};e.dealId&&(t.dealId=e.dealId),n.push(t)})),n}};function I(e){const t={unifiedId2:"uid2.id",liveRampId:"idl_env",lotamePanoramaId:"lotamePanoramaId",id5Id:"id5id.uid",criteoId:"criteoId",yahooConnectId:"connectId",quantcastId:"quantcastId",epsilonPublisherLinkId:"publinkId",publisherFirstPartyViewerId:"pubcid",merkleId:"merkleId.id",kinessoId:"kpuid"};let n={};for(const r in t){const i=t[r],a=(0,o.Z)(e,`0.userId.${i}`);a&&(n[r]=a)}return n}function y(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function f(){try{const e=window.top.document.querySelector('meta[property="og:title"]');return window.top.document.title||e&&e.content||""}catch(e){const t=document.querySelector('meta[property="og:title"]');return document.title||t&&t.content||""}}function v(){let e;try{e=window.top.document.querySelector('meta[name="description"]')||window.top.document.querySelector('meta[property="og:description"]')}catch(t){e=document.querySelector('meta[name="description"]')||document.querySelector('meta[property="og:description"]')}return e&&e.content||""}function h(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,n=t&&"function"==typeof t.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType("navigation")[0]&&t.getEntriesByType("navigation")[0].responseStart&&t.getEntriesByType("navigation")[0].requestStart&&t.getEntriesByType("navigation")[0].responseStart>0&&t.getEntriesByType("navigation")[0].requestStart>0&&Math.round(t.getEntriesByType("navigation")[0].responseStart-t.getEntriesByType("navigation")[0].requestStart);if(n)return n.toString();const r=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return r?r.toString():""}function S(e){const t={};let n=(0,i.getValue)(e.params,"placementId"),r=(0,i.getValue)(e.params,"pageId");const a=(0,o.Z)(e,"ortb2Imp.ext.gpid"),d=(0,o.Z)(e,"mediaTypes.video.plcmt");return t.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.Z)(e,"mediaTypes.video.playerSize"),n=(0,o.Z)(e,"mediaTypes.video.sizes"),r=(0,o.Z)(e,"mediaTypes.banner.sizes");if((0,i.isArray)(r)||(0,i.isArray)(t)||(0,i.isArray)(n)){return[r,n,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),t.bidId=(0,i.getBidIdParameter)("bidId",e),t.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),t.placementId=parseInt(n,10),t.pageId=parseInt(r,10),t.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),t.transactionId=e.ortb2Imp?.ext?.tid||"",a&&(t.gpid=a),d&&(t.videoPlcmt=d),t}function b(e){return parseInt(e)>0}function q(e){const t=(0,o.Z)(e,"0.userId.teadsId");if(t)return{firstPartyCookieTeadsId:t};if(m.cookiesAreEnabled(null)){const e=m.getCookie("_tfpvi",null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,a.dX)(g),(0,r.z)("teadsBidAdapter")}},e=>{var t;t=76401,e(e.s=t)}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[82599],{70789:(e,t,r)=>{var i=r(78640),n=r(64358),o=r(24679),a=r(14699),s=r(3193),d=r(15164),l=r(29865);const c="triplelift";let p=null,u=null;const m=(0,d.df)({bidderCode:c}),f={gvlid:28,code:c,supportedMediaTypes:[o.Mk,o.pX],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r="https://tlx.3lift.com/header/auction?",i=function(e,t){let r={},{schain:i}=e[0];const o=function(e){const t={},r={},i={},o=e.ortb2||{},a=function(){const e=m.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,n.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},o.site),d=Object.assign({},o.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,n.logError)("Triplelift: error adding 1plusX segments: ",e)}}v(r,s),v(i,d),(0,n.isEmpty)(r)||(t.context=r);(0,n.isEmpty)(i)||(t.user=i);return t}(t);r.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:h(e)};return g(e)&&(r.video=function(e){let t={...e.params.video,...e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,n.logWarn)("Video size not defined",e)}"instream"===t.context&&(t.placement||(t.placement=1));"outstream"===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,n.logMessage)(`video.placement value of ${t.placement} is invalid for outstream context. Setting placement to 3`),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!b(e)&&(r.banner={format:O(e.sizes)}),(0,n.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};v(r,e.ext),(0,n.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,n.isEmpty)(e.ortb2Imp.ext)||(r.ext={...e.ortb2Imp.ext})),r}));let a=[...x([e[0]]),...E([e[0]]),...I([e[0]]),...S([e[0]]),..._(e[0])];a.length>0&&(r.user={ext:{eids:a}});let s=function(e,t){let r={};(0,n.isEmpty)(e)||(r.schain={...e});(0,n.isEmpty)(t)||(r.fpd={...t});return r}(i,o);(0,n.isEmpty)(s)||(r.ext=s);t?.ortb2?.regs?.gpp&&(r.regs=Object.assign({},t.ortb2.regs));t?.ortb2&&(r.ext.ortb2=Object.assign({},t.ortb2));return r}(e,t);if(r=(0,l.t)(r,"lib","prebid"),r=(0,l.t)(r,"v","8.20.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,l.t)(r,"referrer",e)}return t&&t.timeout&&(r=(0,l.t)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(p=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,l.t)(r,"gdpr",p.toString()),void 0!==t.gdprConsent.consentString&&(u=t.gdprConsent.consentString,r=(0,l.t)(r,"cmp_cs",u))),t&&t.uspConsent&&(r=(0,l.t)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,l.t)(r,"fledge",t.fledgeEnabled)),!0===s.config.getConfig("coppa")&&(r=(0,l.t)(r,"coppa",!0)),r.lastIndexOf("&")===r.length-1&&(r=r.substring(0,r.length-1)),(0,n.logMessage)("tlCall request built: "+r),{method:"POST",url:r,data:i,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t,i=e.body.bids||[];const o=e.body.paapi||[];if(i=i.map((e=>function(e,t){let r={},i=t.width||1,n=t.height||1,o=t.deal_id||"",a=t.crid||"",s=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:s.bidId,cpm:t.cpm,width:i,height:n,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:"USD",ttl:300,tl_source:t.tl_source,meta:{}},g(s)&&"video"===t.media_type&&(r.vastXml=t.ad,r.mediaType="video",r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&"hdx"==t.tl_source&&(g(s)&&"video"===t.media_type?r.meta.mediaType="video":r.meta.mediaType="banner"),t.tl_source&&"tlx"==t.tl_source&&(r.meta.mediaType="native"),a&&(r.meta.networkId=a.slice(0,a.indexOf("_"))));return r}(r,e))),o.length>0){const e=o.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,n.logMessage)("Response with FLEDGE:",{bids:i,fledgeAuctionConfigs:e}),{bids:i,fledgeAuctionConfigs:e}}return i},getUserSyncs:function(e,t,r,i,n){let o=function(e){if(!e)return;if(e.iframeEnabled)return"iframe";if(e.pixelEnabled)return"image"}(e);if(!o)return;let a="https://eb2.3lift.com/sync?";return"image"===o&&(a=(0,l.t)(a,"px",1),a=(0,l.t)(a,"src","prebid")),(null!==u||p)&&(a=(0,l.t)(a,"gdpr",p),a=(0,l.t)(a,"cmp_cs",u)),i&&(a=(0,l.t)(a,"us_privacy",i)),n&&(n.gppString&&(a=(0,l.t)(a,"gpp",n.gppString)),n.applicableSections&&0!==n.applicableSections.length&&(a=(0,l.t)(a,"gpp_sid",n.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function g(e){return y(e)&&(b(e)||function(e){return y(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function b(e){return y(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function y(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function h(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:g(e)?"video":"banner",size:"*"});"object"!=typeof r||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,n.logError)("Triplelift: getFloor threw an error: ",e)}return null!==t?t:e.params.floor}function v(e,t){(0,n.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function x(e){return C(e,"tdid","adserver.org","TDID")}function E(e){return C(e,"idl_env","liveramp.com","idl")}function I(e){return C(e,"criteoId","criteo.com","criteoId")}function S(e){return C(e,"pubcid","pubcid.org","pubcid")}function _(e){let t=["adserver.org","liveramp.com","criteo.com","pubcid.org"],r=[];return e.userIdAsEids&&e.userIdAsEids.forEach((e=>{try{if(-1===t.indexOf(e.source)){let t=e.uids.map((t=>({id:t.id,ext:{rtiPartner:e.source}})));r.push({source:e.source,uids:t})}}catch(t){(0,n.logWarn)(`Triplelift: Error attempting to add ${e} to bid request`,t)}})),r}function C(e,t,r,i){return e.map(function(e){return t=>t&&t.userId&&t.userId[e]}(t)).filter(T(t)).map(function(e,t){return r=>({source:e,uids:[{id:r.id?r.id:r,ext:{rtiPartner:t}}]})}(r,i))}const T=e=>(t,r,i)=>{let o=!!t&&((0,n.isStr)(t)?!!t:(0,n.isPlainObject)(t)&&!(0,n.isArray)(t)&&!(0,n.isEmpty)(t)&&t.id&&(0,n.isStr)(t.id)&&!!t.id);return o||void 0===i[0]||(0,n.logWarn)(`Triplelift: invalid ${e} userId format`),o};function O(e){return e.filter(w).map((function(e){return{w:e[0],h:e[1]}}))}function w(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,a.dX)(f),(0,i.z)("tripleliftBidAdapter")}},e=>{e.O(0,[54213],(()=>{return t=70789,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[34579],{98709:(r,e,t)=>{var d=t(78640),n=t(64358),o=t(48928),s=t(92797);const i="unifiedId",u={name:i,gvlid:21,decode:r=>r&&"string"==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||"string"!=typeof e.partner&&"string"!=typeof e.url)return void(0,n.logError)("User ID - unifiedId submodule requires either partner or url to be defined");const t=e.url||`https://match.adsrvr.org/track/rid?ttd_pid=${e.partner}&fmt=json`;return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,n.logError)(r)}r(t)},error:e=>{(0,n.logError)(`${i}: ID fetch encountered an error`,e),r()}};(0,o.hj)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}}}};(0,s.Bx)("userId",u),(0,d.z)("unifiedIdSystem")}},r=>{var e;e=98709,r(r.s=e)}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[69039],{83806:(e,r,n)=>{var t=n(78640),i=n(20265),d=n(64358),o=n(35706),s=n(14699),a=n(24679);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((e=>{const r=e.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n="function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:r,size:"*"}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(e),(e=>{let r=(0,i.Z)(e,"mediaTypes.banner");if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(e),u[r]=u[r]||[],u[r].push(e)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,...s})};l.push(Object.assign({},{data:n,...e}))})),l},l=e=>{if(e.ad)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing ad config."))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing vastUrl or vastXml config."))},c=e=>{const r=!!(0,i.Z)(e,"ext.renderer.config"),n=!!(0,i.Z)(e,"ext.renderer.config.siteId");if(!r)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer config."));if(!n)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer siteId."));const t=(0,i.Z)(e,"ext.renderer");!function(e,r){if(!e.config)throw new Error("UnrulyBidAdapter: Missing renderer config.");if(!e.config.siteId)throw new Error("UnrulyBidAdapter: Missing renderer siteId.");parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode="prebid"}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.Th.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.Z)(e,"ext.adUnitCode")});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push(["render",e])})),e.renderer=e.renderer||s,e},y=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},f=e=>e.sizes,w={code:"unruly",supportedMediaTypes:[a.pX,a.Mk],gvlid:36,isBidRequestValid:function(e){let r=(0,i.Z)(e,"params.siteId")&&(e=>{const r=(0,i.Z)(e,"mediaTypes.video"),n=(0,i.Z)(e,"mediaTypes.banner");let t=!(!r&&!n);return t&&r&&(t=y(r)),t&&n&&(t=f(n)),t})(e);return!!r},buildRequests:function(e,r){let n="https://targeting.unrulymedia.com/unruly_prebid";e[0]&&(n=(0,i.Z)(e[0],"params.endpoint")||n);return u({url:n,method:"POST",options:{contentType:"application/json"}},e,r)},interpretResponse:function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).body;return!e||!e.bids?[]:(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.Z)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.Mk,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.Z)(e,"meta.videoContext");e.mediaType=a.pX,"instream"===r?n=p(e):"outstream"===r&&(n=c(e))}n&&r.push(n)})),r})(e.bids)}};(0,s.dX)(w),(0,t.z)("unrulyBidAdapter")}},e=>{var r;r=83806,e(e.s=r)}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[9215],{82547:(e,t,n)=>{var o=n(78640),r=n(34614),s=n(3193),i=n(52021),a=n(34516),c=n(86104),u=n(5644),l=n(92797),d=n(64358),g=n(20265);const f=new Map;function m(e){const t={};function n(e){const n=JSON.stringify([e.source?.toLowerCase(),e.ext]);t.hasOwnProperty(n)?t[n].uids.push(...e.uids):t[n]=e}return Object.entries(e).forEach((e=>{let[t,o]=e;o=Array.isArray(o)?o:[o];("pubProvidedId"===t?o:o.map((e=>function(e,t){const n=f.get(t);if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}(e,t)))).filter((e=>null!=e)).forEach(n)})),Object.values(t)}var b=n(15164),h=n(96475),y=n(7563),p=n(68792),E=n(26372),I=n(99128),w=n(38196),S=n(9633),D=n(50571),O=n(74947),v=n(10286);const j="User ID",P=b.c$,k=b.Dp,$="_pbjs_id_optout",A=(0,b.eA)("userId"),C={isAllowed:D.xD};let N,T,x,U,R,L,_=!1,F=[],Z=[],q={},G=[];const M=(()=>{let e;return()=>(null==e&&(e=(0,I.V6)()),e)})();function B(e){return M().fork().renameWith((t=>[`userId.mod.${t}`,`userId.mods.${e}.${t}`]))}function W(e,t){t=t||e.storageMgr;const n="function"==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,s){t.setCookie(o+(e||""),r,s,"Lax",n)}}function J(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),s=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===P){const t=W(e);t(null,s,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===k&&(o.setDataInLocalStorage(`${n.name}_exp`,r),o.setDataInLocalStorage(`${n.name}_cst`,ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(s)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage(`${n.name}_last`,(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function V(e){let t=(0,d.getPrebidInternal)().setEidPermissions;"function"==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{const o=f.get(n)||{};(0,g.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&o.source&&t.push({source:o.source,bidders:e.config.bidders})}))})),t}(e))}function z(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?`${o.name}_${t}`:o.name;let s;try{if(o.type===P)s=n.getCookie(r);else if(o.type===k){const e=n.getDataFromLocalStorage(`${o.name}_exp`);""===e?s=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(s=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof s&&"{"===s.trim().charAt(0)&&(s=JSON.parse(s))}catch(e){(0,d.logError)(e)}return s}function Y(e,t,n){t=M().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(T),t()}),e.length);e.forEach((function(e){const t=B(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&J(e,o),e.idObj=e.submodule.decode(o,e.config),me(H(n))):(0,d.logInfo)(`${j}: ${e.submodule.name} - request id responded with an empty value`),t()}),z.bind(null,e))}catch(n){(0,d.logError)(`Error in userID module '${e.submodule.name}':`,n),t()}e.callback=void 0}))}function H(e){return Array.isArray(e)&&e.length?Q(e):{}}function K(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{const s=q[t]?.indexOf(n(o)),i={priority:(0,d.isNumber)(s)?s:-1,value:r[t]};if(e[t]){const n=i.priority>e[t].priority?i:e[t];e[t]=n}else e[t]=i})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function Q(e){return K(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function X(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?Q(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.q9)(e.config.bidders,t)))):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=m(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:se()||[];const t=R&&e.find((e=>e.source===R));if(t&&"string"==typeof(0,g.Z)(t,"uids.0.id")){const e=t.uids[0].id.replace(/[\W_]/g,"");if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(`User ID - Googletag Publisher Provided ID for ${R} is not between 32 and 150 characters - ${e}`)}}const oe=(0,I.g3)("userId",(function(e,t){let{delay:n=p.Z.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.Z.race([r().catch((()=>null)),n(U)]).then((()=>{X(t.adUnits||(0,o.R)().adUnits,N),M().join((0,I.Bf)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return H(N)}function se(){return m(re())}function ie(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=Q(e),o=Object.keys(n).find((e=>{const n=f.get(e);return n?.source===t||(0,d.isFn)(n?.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(N,e))[0]}function ae(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(`${j} - Getting encrypted signal from custom function : ${n.name} & source : ${e} `);const t=n(e);o[e]=t?ce(t):null}else{const n=ie(e);(0,d.logInfo)(`${j} - Getting encrypted signal for eids :${JSON.stringify(n)}`),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ce(n):n.uids[0].id)}return(0,d.logInfo)(`${j} - Fetching encrypted eids: ${o[e]}`),o[e]}))}function ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n="";if(1===t)n="object"==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return`${t}||${n}`}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=s.config.getConfig("userSync.encryptedSignalSources");if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.secureSignalProviders.push({id:e,collectorFunction:()=>ae(e,n,o)})}))}))}),t)}else(0,d.logWarn)(`${j} - ESP : encryptedSignalSources config not defined under userSync Object`)}function le(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function de(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(de):((0,d.logError)("Error initializing userId",e),p.Z.reject(e))))}function ge(){let e=Number(a.NO.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function fe(e,t,n){const o=a.rp.getConsentData();if(e.config.storage){let n,r=z(e),s=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(z(e,"last"));s=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||s||t||function(e){const t=z(e,"cst");return!t||t!==ge()}(e)?n=e.submodule.getId(e.config,o,r):"function"==typeof e.submodule.extendId&&(n=e.submodule.extendId(e.config,o,r)),(0,d.isPlainObject)(n)&&(n.id&&(J(e,n.id),r=n.id),"function"==typeof n.callback&&(e.callback=n.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,o,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}me(H(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&R){const t=ne(m(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function be(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return M().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){switch(e.config?.storage?.type){case k:if(e.storageMgr.localStorageIsEnabled())return!A.getDataFromLocalStorage($)||((0,d.logInfo)(`${j} - opt-out localStorage found, storage disabled`),!1);break;case P:if(e.storageMgr.cookiesAreEnabled())return!A.getCookie($)||((0,d.logInfo)(`${j} - opt-out cookie found, storage disabled`),!1)}return!1}(e))&&C.isAllowed(O.EL,(0,v.T)(S.y2,e.config.name))))).length)return(0,d.logWarn)(`${j} - no ID module configured`),[];const o=t.reduce(((e,o)=>B(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)(`Error in userID module '${o.submodule.name}':`,e)}return e}))),[]);return o.length&&V(o),o.forEach(he.bind(null,e)),o}))}function he(e,t){let n=!1;for(let o=0;o
FAQs
How to build an artificer battle smith? ›
As mentioned in the previous section, Battle Smith Artificers will want to prioritize Intelligence first, Constitution second, and Dexterity third when choosing their ability scores. Either Strength or Charisma can be largely ignored, while a modicum of Wisdom is often helpful for perception checks.
What does a battle Smith do in artificer? ›A combination of protector and medic, a Battle Smith is an expert at defending others and repairing both materiel and personnel. To aid in their work, Battle Smiths are accompanied by a steel defender, a protective companion of their own creation.
What makes artificer good? ›The Artificer is a class with a tool for every job and a solution to every problem. They excel as a Support character, but make decent Defenders, Healers, and Strikers, too. With the right infusions and spells, they can fill nearly any role in the party, making the Artificer's versatility rival that of the Bard.
Do artificers need mending? ›So technically the only artificer that needs the mending cantrip would be an Alchemist or an Artillerist who decides on having a Homunculus Servant but even then they can just accept that if it dies it's gone until the next day.
Why is Artificer not a full caster? ›The Artificer can cast spells as ritual. Neither of the other half casters are able to do this as part of their spellcasting kit. In fact, the only spellcasters that can inherently cast spells as rituals are bards, clerics, druids, and wizards (all full casters).
Which Artificer is best? ›1 Battlesmith
The Battlesmith is the quintessential Artificer subclass in the eyes of many, as it combines many of the most notable traits of the character class while also adding a few unique inventions to the handbook.
Intelligence is the key attribute for an Artificer. It affects your spells, and the two subclasses tailored for martial builds let you use INT for weapon attacks. However, Strength and Dexterity still come in handy for making regular attacks, so you could equally focus on one of these as your primary DnD stat.
Can an Artificer have a gun? ›Given its thematic context, an Artificer can acquire a Pistol from the nearby blacksmith, or even craft one themselves. Artificers can infuse the Pistol with Repeating Shot, grab a Shield, and they can become a potent long-ranged combatant.
What items are best on Artificer? ›Flamethrower boasts the most raw damage of Artificer's abilities, and is her only way to reliably utilize items that rely on high attack speed. Tri-Tip Dagger . These can bolster its already impressive damage and even allow a more traditional playstyle based around on-hit items.
What tools should an Artificer have? ›The Artificer starts off with a whopping 3 tool proficiencies right at level one: thieves' tools, tinker's tools, and one type of artisan's tools of their choice.
What race makes the best Artificer? ›
Earth Genasi Fill Some Unique Roles
However, Artificers can make it redundant with Infusions that offer other forms of mobility. Instead, it's Merge with Stone that makes Earth Genasi competitive as the best race for Artificers in D&D 5e.
Given its thematic context, an Artificer can acquire a Pistol from the nearby blacksmith, or even craft one themselves. Artificers can infuse the Pistol with Repeating Shot, grab a Shield, and they can become a potent long-ranged combatant.
How many infusions can an Artificer have? ›The rules say that you can infuse a maximum of 2, 3, 4, 5, 6 per long rest. The only explicit writing on the maximum number of infused items is: "each of your infusions can be in only one object at a time. Moreover, no object can bear more than one of your infusions at a time."