});t instanceof Error||(d.originalPrototype=t?.originalObject,d.originalPrototypeProperties=t?.originalProperties)}return a({context:r,property:o,value:c,enumerable:f?.enumerable}),d}})}catch{}try{a({property:"defineStrictMethod",value:function(e,t){let r=(t||globalThis)[e],o=u(t||globalThis,e);return r&&o&&(o.writable||o.configurable)?(Object.freeze(r),a({context:globalThis,property:e,value:r})):r}})}catch{}var s=["toString","toLocaleString","valueOf","constructor","prototype"];function u(e,t){if(!(!e||!t))try{return Reflect.getOwnPropertyDescriptor(e,t)}catch{return}}function p(e){if("string"!=typeof e)return e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function f(e,t){let r="";if("string"==typeof e)r=e.split("=")[0]?.trim()||"";else{if(!e||"string"!=typeof e.name)return!1;r=e.name}return t.has(p(r)||"")}function d(e,t){return("string"==typeof e?e.split(";").map(e=>e.trim()).filter(e=>e.length>0):e||[]).filter(e=>!f(e,t))}var y=null;function g(){return null===y&&(y=typeof Document>"u"?void 0:Object.getOwnPropertyDescriptor(Document.prototype,"cookie")),y}let b=(e,t)=>{try{let r=t?t.get.call(document):document.cookie;return r.split(";").map(e=>e.trim()).filter(t=>t?.startsWith(e))[0]?.split("=")[1]}catch(e){return""}},h=(e="",t="",r="/")=>`${e}=; ${t?`domain=${t};`:""} max-age=0; path=${r}; expires=Thu, 01 Jan 1970 00:00:01 GMT`;function m(e,t){try{return sessionStorage[e]("reload",t||"")}catch(e){console.error("ATS: Error calling sessionStorage:",e)}}let v="client-session-bind",w="sec-fetch-unsupported",{experiments:T}=window.viewerModel,{cookie:S}=(e=new Set([v,"client-binding",w,"svSession","smSession","server-session-bind","wixSession2","wixSession3"].map(e=>e.toLowerCase())),a({context:document,property:"cookie",set:{func:t=>{var r,o;let n,i;return r=document,o=void 0,n=g(),i=p(t.split(";")[0]||"")||"",void([...e].every(e=>!i.startsWith(e.toLowerCase()))&&n?.set?n.set.call(r,t):o&&console.warn(o))}},get:{func:()=>(function(e,t){let r=g();if(!r?.get)throw Error("Cookie descriptor or getter not available");return d(r.get.call(e),t).join("; ")})(document,e)},enumerable:!0}),{cookieStore:function(e,t){if(!globalThis?.cookieStore)return;let r=globalThis.cookieStore.get.bind(globalThis.cookieStore),o=globalThis.cookieStore.getAll.bind(globalThis.cookieStore),n=globalThis.cookieStore.set.bind(globalThis.cookieStore),i=globalThis.cookieStore.delete.bind(globalThis.cookieStore);return a({context:globalThis.CookieStore.prototype,property:"get",value:async function(t){return f(("string"==typeof t?t:t.name)||"",e)?null:r.call(this,t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"getAll",value:async function(){let t=await o.apply(this,Array.from(arguments));return d(t,e)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"set",value:async function(){let r=Array.from(arguments);if(!f(1===r.length?r[0].name:r[0],e))return n.apply(this,r);t&&console.warn(t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"delete",value:async function(){let t=Array.from(arguments);if(!f(1===t.length?t[0].name:t[0],e))return i.apply(this,t)},enumerable:!0}),a({context:globalThis.cookieStore,property:"prototype",value:globalThis.CookieStore.prototype,enumerable:!1}),a({context:globalThis,property:"cookieStore",value:globalThis.cookieStore,enumerable:!0}),{get:r,getAll:o,set:n,delete:i}}(e,void 0),cookie:g()}),k="tbReady",x="security_overrideGlobals",{experiments:E,siteFeaturesConfigs:P,accessTokensUrl:C}=window.viewerModel,D={},M=(t=b(v,S),T["specs.thunderbolt.browserCacheReload"]&&(b(w,S)||t?m("removeItem"):function(){if("undefined"!=typeof window){let e=performance.getEntriesByType("navigation")[0];return"back_forward"===(e?.type||"")}return!1}()&&function(){let{counter:e}=function(){let e=m("getItem");if(e){let[t,r]=e.split("-"),o=r?parseInt(r,10):0;if(o>=3){let e=t?Number(t):0;if(Date.now()-e>6e4)return{counter:0}}return{counter:o}}return{counter:0}}();e<3?(function(e=1){m("setItem",`${Date.now()}-${e}`)}(e+1),window.location.reload()):console.error("ATS: Max reload attempts reached")}()),r=h(v),o=h(v,location.hostname),S.set.call(document,r),S.set.call(document,o),t);M&&(D["client-binding"]=M);let O=fetch;addEventListener(k,function e(t){let{logger:r}=t.detail;try{window.tb.init({fetch:O,fetchHeaders:D})}catch(t){let e=Error("TB003");r.meter(`${x}_${e.message}`,{paramsOverrides:{errorType:x,eventString:e.message}}),window?.viewerModel?.mode.debug&&console.error(t)}finally{removeEventListener(k,e)}}),E["specs.thunderbolt.hardenFetchAndXHR"]||(window.fetchDynamicModel=()=>P.sessionManager.isRunningInDifferentSiteContext?Promise.resolve({}):fetch(C,{credentials:"same-origin",headers:D}).then(function(e){if(!e.ok)throw Error(`[${e.status}]${e.statusText}`);return e.json()}),window.dynamicModelPromise=window.fetchDynamicModel())})();
//# sourceMappingURL=handleAccessTokens.inline.dc220a1a.bundle.min.js.map
top of page
WELCOME Welcome to ExpertErrors. Expertise has become increasingly specialized, so it is important to build trust and understand how to be reliable experts. Using forensic science errors in wrongful convictions as a model, we conduct research and build insights to guide people and organizations in developing and leveraging reliable experts. Wrongful convictions may provide useful insights to guide the effective and reliable use of forensic evidence and scientific expertise in criminal proceedings.
​
My goal through research and rigorous evaluation is to provide resources and educational materials to the forensic science, legal, and pubic safety community. The project section features my current research , publications , trainings , and a wrong conviction database (coming soon).
​
​
bottom of page