PageSourceSearch

https://assets.cdn.ifixit.com/AssetsV2/scripts/1328.aef3cd5f028ad15bd961.js

js ifixit.com collected 2026-09-24 08:27:03 UTC 17,929 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"5ca8a1b1efcc5b3a726c344b106a830e13abf521"},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:ifixitFirstParty":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="50d68493-bc27-4160-8d0c-853f691dec39",e._sentryDebugIdIdentifier="sentry-dbid-50d68493-bc27-4160-8d0c-853f691dec39")}catch(e){}}(),(globalThis.webpackChunkcarpenter_frontend=globalThis.webpackChunkcarpenter_frontend||[]).push([[306,1328,1587,2627,3635,5008,9782],{5058(e,t,n){n.d(t,{AY:()=>l,cx:()=>a,wv:()=>r});var i=n(4079);const s={adjust:{style:"solid",name:"circle-half-stroke"},"angle-left":{style:"solid",name:"angle-left"},"angle-right":{style:"solid",name:"angle-right"},"arrow-left":{style:"solid",name:"arrow-left"},"arrow-right":{style:"solid",name:"arrow-right"},bold:{style:"solid",name:"bold"},"caret-down":{style:"solid",name:"caret-down"},"caret-left":{style:"solid",name:"caret-left"},"caret-right":{style:"solid",name:"caret-right"},certificate:{style:"solid",name:"certificate"},check:{style:"solid",name:"check"},"check-circle":{style:"solid",name:"circle-check"},circle:{style:"solid",name:"circle"},"circle-o":{style:"regular",name:"circle"},cog:{style:"solid",name:"gear"},compress:{style:"solid",name:"compress"},"exclamation-circle":{style:"solid",name:"circle-exclamation"},expand:{style:"solid",name:"expand"},eye:{style:"solid",name:"eye"},"eye-slash":{style:"solid",name:"eye-slash"},"file-excel-o":{style:"regular",name:"file-excel"},"file-o":{style:"regular",name:"file"},"file-pdf-o":{style:"regular",name:"file-pdf"},"file-powerpoint-o":{style:"regular",name:"file-powerpoint"},"file-word-o":{style:"regular",name:"file-word"},gift:{style:"solid",name:"gift"},header:{style:"solid",name:"heading"},image:{style:"regular",name:"image"},italic:{style:"solid",name:"italic"},link:{style:"solid",name:"link"},"list-ol":{style:"solid",name:"list-ol"},"list-ul":{style:"solid",name:"list-ul"},mobile:{style:"solid",name:"mobile"},"pencil-square-o":{style:"regular",name:"pen-to-square"},plus:{style:"solid",name:"plus"},"question-circle":{style:"solid",name:"circle-question"},"search-minus":{style:"solid",name:"magnifying-glass-minus"},"search-plus":{style:"solid",name:"magnifying-glass-plus"},"shopping-cart":{style:"solid",name:"cart-shopping"},"smile-o":{style:"regular",name:"face-smile"},sort:{style:"solid",name:"sort"},times:{style:"solid",name:"xmark"},trash:{style:"solid",name:"trash"},"trash-o":{style:"regular",name:"trash-can"},underline:{style:"solid",name:"underline"},"video-camera":{style:"solid",name:"video"}},o=new Set;function r(e){const t=s[e]??null;return t||o.has(e)||(o.add(e),(0,i.wd)(`faLegacyIcon: "${e}" is not in FA4_TO_FA6`,{level:"warning",tags:{iconDiagnostic:"true"}})),t}function a(e){const t=r(e);return t?`<svg width="1em" height="1em" aria-hidden="true" focusable="false"><use href="${n=t.name,`/_next/charge/icons/next/classic/${t.style}/${n}.svg?v=3#${n}`}" /></svg>`:"";var n}function l(e,t=""){const n=a(e);return n?`<i class="fa fa-${e} fa-svg${t?` ${t}`:""}">${n}</i>`:""}},7045(e,t,n){n.d(t,{d:()=>s,t:()=>i});const i=(()=>{let e=null;return function(){if(null!==e)return e;const t=navigator.userAgent||navigator.vendor||window.opera,n=t.slice(0,4);return e=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[23]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(n)}})(),s=(()=>{let e=null;return function(){if(null!==e)return e;const t=navigator.userAgent||navigator.vendor||window.opera;return e=/android|ipad|playbook|silk/i.test(t)}})()},13023(e,t,n){function i(e){const t="string"==typeof e?document.getElementById(e):e;return t&&"form"===t.tagName.toLowerCase()?t:null}n.d(t,{y:()=>s});const s={getFields:e=>Array.from(e.querySelectorAll("input,select,textarea,div[contenteditable]")),getEditableFields(e){return this.getFields(e).filter((e=>"hidden"!==e.type&&!e.disabled))},getValues(e,t){const n=i(e);if(!n)return;const s=/\[([\w#-]*)]/,o={},r={prefix:"",submitDisabled:!1,ignoreClass:null,...t};
1return Array.from(n.elements).forEach((e=>{const t=e;if(!t.name)return;if(t.name.slice(0,Math.max(0,r.prefix.length))!==r.prefix)return;if(t.type&&("radio"===t.type||"checkbox"===t.type)&&!t.checked)return;if(t.disabled&&!r.submitDisabled)return;let n=t.name;const i=[];let a=null;for(;a=n.match(s);)i.push(a[1]),n=n.replace(s,"");i.unshift(n);let l,c,d=o;for(c=0;c<i.length-1;c++){let e;l=i[c],""===l?(e=""===i[c+1]?[]:{},d.push(e),d=e):(d[l]||(e=""===i[c+1]?[]:{},d[l]=e),d=d[l])}const u=r.ignoreClass&&e.classList.contains(r.ignoreClass)?"":e.value;l=i[c],""===l?d.push(u):d[l]=u})),o},getFirstField(e){const t=this.getEditableFields(e);return t.filter((e=>e.tabIndex>=1)).sort(((e,t)=>e.tabIndex-t.tabIndex))[0]||t[0]},focusFirst(e){const t=this.getFirstField(e);t&&t.focus()},selectedValue(e){const t="string"==typeof e?document.getElementById(e):e;return t.options[t.selectedIndex].value},submit(e){const t=i(e);if(t)return!("function"==typeof t.onsubmit&&!t.onsubmit(new SubmitEvent("submit")))&&void t.submit()},create(e){const t=document.createElement("form");e.id&&(t.id=e.id),e.class&&(t.className=e.class);const n=document.createElement("div");n.className="formBody",t.append(n);for(const[t,i]of Object.entries(e.fields||{})){const e=document.createElement("div");e.className="formField",n.append(e);const s=i.properties?i.properties.id:"";if(i.label){const n=document.createElement("label");n.setAttribute("for",s||t),n.textContent=i.label,e.append(n)}let o=null;if("text"===i.type){const e=document.createElement("input");e.name=t,e.type="text",e.value=i.value||"";for(const[t,n]of Object.entries(i.properties||{}))e.setAttribute(t,n);o=e}if("switch"===i.type){const e=document.createElement("input");e.name=t,e.type="checkbox",e.value=String(i.value||!1),e.className="switch-input";for(const[t,n]of Object.entries(i.properties||{}))e.setAttribute(t,n);const n=document.createElement("span");n.className="switch-track";const s=document.createElement("label");s.className="switch",s.append(e),s.append(n),o=s}o&&e.append(o)}const i=document.createElement("div");i.className="formField";const s=document.createElement("button");return s.type="submit",s.className="button button-action-solid",s.textContent=e.submit||"Submit",i.append(s),n.append(i),t}}},14659(e,t,n){function i(e,t,n){n=n||6e5;const i=Date.now(),s=setInterval((()=>{e&&e.closed?(clearInterval(s),t(!0)):Date.now()-i>n&&(clearInterval(s),t(!1))}),250)}n.d(t,{U:()=>i})},21328(e,t,n){function i(e){return e.replace(/^on([A-Z])/,((e,t)=>t.toLowerCase()))}n.d(t,{b:()=>s,k:()=>o});const s={addEvent(e,t,n){e=i(e),this.$events||(this.$events={});const s=this.$events[e]||[];return s.includes(t)||s.push(t),this.$events[e]=s,n&&(t.internal=!0),this},addEvents(e){this.$events||(this.$events={});for(const t in e)this.addEvent(t,e[t]);return this},fireEvent(e,t,n){if(!this.$events)return this;e=i(e);const s=this.$events[e];if(!s)return this;const o=null==(r=t)?[]:Array.isArray(r)?r:"object"==typeof r&&"number"==typeof r.length?Array.from(r):[r];var r;for(let e=0;e<s.length;e++){if(!(e in s))continue;const t=s[e];n?setTimeout((()=>t.apply(this,o)),n):t.apply(this,o)}return this},removeEvent(e,t){if(!this.$events)return this;e=i(e);const n=this.$events[e];if(n&&!t.internal){const e=n.indexOf(t);-1!==e&&delete n[e]}return this},removeEvents(e){if(!this.$events)return this;if("object"==typeof e&&null!==e&&!Array.isArray(e)){for(const t in e)this.removeEvent(t,e[t]);return this}let t;e&&(t=i(e));for(const e in this.$events){if(t&&t!==e)continue;const n=this.$events[e];for(let t=n.length;t--;)t in n&&this.removeEvent(e,n[t])}return this}};function o(e,t,n){t.addEvent(e,((...t)=>{n.fireEvent(e,t)}))}},41791(e,t,n){n.d(t,{s:()=>o});var i,s=n(53401);!function(e){e.none="none",e.lax="lax",e.strict="strict"}(i||(i={}));class o{static set(e,t,n={}){const i=o.convertCustomOptions({...o.getDefaultOptions(),...n});return(new s.A).set(e,t,i),e}static getDefaultOptions(){const e={sameSite:"lax",secure:!0,path:"/"};return"boolean"==typeof App.useSecureCookies&&(e.secure=App.useSecureCookies),"None"===App.sameSiteValue?e.sameSite="none":"Strict"===App.sameSiteValue&&(e.sameSite="strict"),e}static convertCustomOptions(e){const t={...e};return void 0!==t.maxAgeInSeconds&&(t.maxAge=t.maxAgeInSeconds,delete t.maxAgeInSeconds),t}}},44445(e,t,n){function i(){const e=window.location.host.match(/\b([^.]+)\.([^.]+\.[^.]+)$/);return{subdomain:e?.[1]??"",domain:e?.[2]??window.location.host}}n.d(t,{g:()=>i})}
1,51177(e,t,n){function i(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>{setTimeout(e,0)})):setTimeout(e,0)}function s(e){"complete"===document.readyState?e():window.addEventListener("load",e)}n.d(t,{P:()=>i,k:()=>s})},53664(e,t,n){function i(e){return new Promise((t=>{setTimeout(t,e)}))}n.d(t,{B:()=>i})},55552(e,t,n){n.d(t,{q:()=>s,r:()=>o});const i={};function s(e,...t){(i[e]||[]).forEach((e=>e(...t)))}function o(e,t){var n,s;((n=i)[s=e]||(n[s]=[])).push(t)}},60128(e,t,n){function i({from:e,newUser:t}){const n=t?"Join":"Log In",i=(()=>{switch(e){case"google":return n+" - Google Sign-in";case"facebook":return n+" - Facebook Sign-in";case"apple":return n+" - Apple Sign-in";case"register":return n+" - Email Sign-up";case"email":return n+" - Email Sign-in";case"registerWithCode":return"Join - Email Code";case"loginWithCode":return"Log In - Email Code";default:return null}})();return i?{eventCategory:i.startsWith("Join")?"Join":"Log In",eventAction:i}:null}n.d(t,{o:()=>i})},73453(e,t,n){n.d(t,{c:()=>a});var i=n(53401),s=n(41791),o=n(44445);const r=new i.A,a={get:e=>r.get(e+`_${App.siteid}`),set(e,t,n){let i=window.location.host;"ifixit"==App.which&&(i=(0,o.g)().domain);const r={domain:"."+i,maxAgeInSeconds:n??2592e3};s.s.set(e+`_${App.siteid}`,t,r)}}},75195(e,t,n){n.r(t),n.d(t,{default:()=>m});var i=n(50061),s=n(93078),o=n(18891),r=n(82306),a=n(78967),l=n(35348),c=n(97145);function d({links:e,heading:t,pageTitle:n,onIfixit:s,isLoggedIn:o,tabsOnly:d}){const u=e.tabLinks.filter((e=>e.showTab)),m=t??n,p=(0,c.useRef)(null),h=(0,c.useRef)(null),g=function(){let e=0;for(;e<u.length&&u[e].label!==n;)e++;return e}(),f=u[g],y=u[g]?.label??"";return(0,c.useEffect)((()=>{const e=p.current,t=h.current;if(!e||!t)return;const n=e.getBoundingClientRect(),i=t.getBoundingClientRect();n.left<i.left+16?t.scrollLeft-=i.left+16-n.left:n.right>i.right-16&&(t.scrollLeft+=n.right-i.right+16)}),[]),(0,i.jsxs)("div",{id:"communityNav",className:"mt-6",children:[(0,i.jsx)("nav",{"aria-label":(0,r.N)("Community"),children:(0,i.jsx)("div",{ref:h,className:"scroll-fade-x -my-1 flex items-center py-1",children:u.map((e=>(0,i.jsx)("a",{ref:e.label===y?p:void 0,href:e.url,"aria-current":e.label===y?"page":void 0,className:"relative inline-flex min-w-[120px] flex-1 shrink-0 items-center justify-center whitespace-nowrap border-gray-200 border-b-2 px-5 py-2 font-semibold text-gray-500 text-sm no-underline transition-colors hover:border-gray-400 hover:text-gray-600 hover:no-underline focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-[current=page]:border-brand-500 aria-[current=page]:text-brand-500",children:e.label},e.label)))})}),d?null:(0,i.jsxs)("header",{className:"mt-6 flex flex-wrap items-center justify-center md:justify-between",children:[(0,i.jsx)("h1",{className:"mb-1.5 w-full text-[30px] font-medium text-gray-800 md:mb-0 md:w-auto",children:m}),(0,i.jsxs)("div",{className:"hidden flex-auto flex-wrap justify-end gap-2 md:flex md:gap-4",children:[s&&(0,i.jsxs)("a",{href:f?.help,className:"inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100",onClick:()=>{(0,l.jv)({eventCategory:n,eventAction:`${n} - Btn "How this Works"`,eventName:f?.help})},children:[(0,r.N)("How this Works"),(0,i.jsx)(a.hw,{name:"circle-info",className:"size-4"})]}),!o&&(0,i.jsx)("a",{href:"/Join",className:"buttonLink inline-block",onClick:()=>{(0,l.jv)({eventCategory:n,eventAction:`${n} - Btn - Join`})},children:(0,r.N)("Join")})]})]})]})}function u(){o.Auth.login({reload:!s.Aq.hasUnsavedChanges()})}const m=e=>{const t=o.Auth.isLoggedIn();return(0,i.jsx)(d,{...e,logIn:u,isLoggedIn:t})}},86318(e,t,n){n.d(t,{Y:()=>i}),onDomReady((()=>{i.initialize();let e="#menu-button";$("searchDropdown")||(e+=", .search-toggle"),$$(e).addEvent("click",(e=>{e.stop(),$$(".mobile-nav").toggleClass("expanded")}))}));var i=window.Header=new function(){this.headerDropdownCallbacks={},this.toggleHeaderDropdown=function(e,t){let n=e.getElement(".header-dropdown"),i=e&&""===e.get("data-dropdown-header-open");if(void 0!==t&&t===i)return;i?(e.set("data-dropdown-header-open",null),n.style.transition="transform 400ms linear",n.style.transform="translateY(-100%)",setTimeout((()=>{e.removeClass("dropdown-container-active"),n.style.transition="",n.style.transform=""}),400)):(this.closeOpenHeaderDropdowns(),e.set("data-dropdown-header-open",""),e.addClass("dropdown-container-active"),n.style.transition="transform 200ms linear",requestAnimationFrame((()=>{n.style.transform="translateY(0%)"})));let s=this.headerDropdownCallbacks[e.get("id")];s&&s(!i)},this.setupHeaderDropdown=function(e,t,n){e&&t&&(n||(n={}),e.addEvent("click",(e=>{n.unlock&&!n.unlock()||(n.onFirstOpen&&n.onFirstOpen(),delete n.onFirstOpen,e.preventDefault(),e.stopPropagation(),this.toggleHeaderDropdown(t))})),window.addEvent("click",(n=>{t.contains(n.target)||e.contains(n.target)||this.toggleHeaderDropdown(t,!1)})))},this.closeOpenHeaderDropdowns=function(){$$("[data-dropdown-header-open]").each((e=>{this.toggleHeaderDropdown(e,!1)}))},this.showLoggedIn=function(e){when($("loggedInNav"),(t=>{let n=e.username.replace(/\s+.*$/,"");$("menuUsername").set("text",n),$("loggedOutNav").hide(),t.show()}))},this.showLoggedOut=function(){when($("loggedInNav"),(e=>{e.hide(),$("loggedOutNav").show()}))}};i.initialize=function(){this.profileMenuToggle=$("profileMenuToggle"),this.profileMenuContainer=$("profileMenuContainer"),this.profileMenu=$("profileMenu"),this.initLanguageModal(),when(this.profileMenuToggle,(()=>{this.setupHeaderDropdown(this.profileMenuToggle,this.profileMenuContainer)})),window.addEvent("click",(e=>{this.searchDropdown&&this.searchDropdown.isVisible()&&e.page.y>=this.searchDropdown.getCoordinates().bottom&&this.hideSearchDropdown()})),this.searchDropdown=$("searchDropdown"),this.searchDropdown&&(this.searchDropdown.store("visible",!1),$$(".search-toggle").addEvent("click",(e=>{e.stop(),this.searchDropdown.retrieve("visible")?this.hideSearchDropdown():this.showSearchDropdown()})))},i.initLanguageModal=function(){$$(".js-trigger-language-modal").addEvent("click",(e=>{e.stop();let t={type:"element",href:"#language-modal"};Promise.all([n.e(7108),n.e(4652),n.e(552),n.e(697),n.e(1754)]).then(n.bind(n,60596)).then((({Modal:e})=>e.open(t)))}))},i.showSearchDropdown=function(){this.searchDropdown.removeClass("search-hidden"),this.searchDropdown.store("visible",!0),$("mobileSearchForm").focus()},i.hideSearchDropdown=function(){this.searchDropdown.addClass("search-hidden"),this.searchDropdown.store("visible",!1),$("mobileSearchForm").blur()}},92286(e,t,n){n.d(t,{A:()=>i});const i={zipcode:function(e){return/^\s?(\d{5})(?:\s?[\s-]\s?(\d{4}))?/.test(e)},email:function(e){return/.+@.+\..+/.test(e.trim())},phone:function(e){return/^([ ()+./Xex-]*\d){10,}$/.test(e)},phoneExt:function(e){return/^[\d#*]*$/.test(e)},username:function(e){return/^[^<>]{3,30}$/.test(e)},orderid:function(e){return/^(\d){5,8}$|^$/i.test(e)},isValidWikiTitle:function(e){if(null===e)return!1;const t=e.trim();return""!==t&&"."!=t&&".."!=t&&!/[\t#$%&*+,/:;<>?[\\\]^{|}]/.test(e)}}}}]);
2//# sourceMappingURL=1328.aef3cd5f028ad15bd961.js.map

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