!function(){function e(e){"complete"===document.readyState||"interactive"===document.readyState?setTimeout(e,1):document.addEventListener("DOMContentLoaded",e)}function t(e){!function(e){"complete"===document.readyState?setTimeout(e,1):window.addEventListener("load",e)}((function(){window.addEventListener("resize",e),setTimeout(e,1)}))}function n(){const e=document.querySelectorAll("article#main");if(1!=e.length)return;const t=e[0].querySelectorAll("h2, h3, h4");Array.prototype.forEach.call(t,(function(e,t){var n=function(e){const t=document.createElement("a");return t.className="header-link",t.title="Link to this section",t.href="#"+e,t.innerHTML='',t}(e.id);e.appendChild(n)}))}var o,i,r=[],s="ResizeObserver loop completed with undelivered notifications.";(i=o||(o={})).BORDER_BOX="border-box",i.CONTENT_BOX="content-box",i.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box";var c,a=function(e){return Object.freeze(e)},u=function(e,t){this.inlineSize=e,this.blockSize=t,a(this)},d=function(){function e(e,t,n,o){return this.x=e,this.y=t,this.width=n,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,a(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),l=function(e){return e instanceof SVGElement&&"getBBox"in e},f=function(e){if(l(e)){var t=e.getBBox(),n=t.width,o=t.height;return!n&&!o}var i=e,r=i.offsetWidth,s=i.offsetHeight;return!(r||s||e.getClientRects().length)},h=function(e){var t;if(e instanceof Element)return!0;var n=null===(t=null==e?void 0:e.ownerDocument)||void 0===t?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},v="undefined"!=typeof window?window:{},p=new WeakMap,g=/auto|scroll/,b=/^tb|vertical/,m=/msie|trident/i.test(v.navigator&&v.navigator.userAgent),w=function(e){return parseFloat(e||"0")},y=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=!1),new u((n?t:e)||0,(n?e:t)||0)},E=a({devicePixelContentBoxSize:y(),borderBoxSize:y(),contentBoxSize:y(),contentRect:new d(0,0,0,0)}),x=function(e,t){if(void 0===t&&(t=!1),p.has(e)&&!t)return p.get(e);if(f(e))return p.set(e,E),E;var n=getComputedStyle(e),o=l(e)&&e.ownerSVGElement&&e.getBBox(),i=!m&&"border-box"===n.boxSizing,r=b.test(n.writingMode||""),s=!o&&g.test(n.overflowY||""),c=!o&&g.test(n.overflowX||""),u=o?0:w(n.paddingTop),h=o?0:w(n.paddingRight),v=o?0:w(n.paddingBottom),x=o?0:w(n.paddingLeft),T=o?0:w(n.borderTopWidth),S=o?0:w(n.borderRightWidth),z=o?0:w(n.borderBottomWidth),B=x+h,O=u+v,R=(o?0:w(n.borderLeftWidth))+S,C=T+z,k=c?e.offsetHeight-C-e.clientHeight:0,L=s?e.offsetWidth-R-e.clientWidth:0,N=i?B+R:0,A=i?O+C:0,M=o?o.width:w(n.width)-N-L,D=o?o.height:w(n.height)-A-k,q=M+B+L+R,I=D+O+k+C,P=a({devicePixelContentBoxSize:y(Math.round(M*devicePixelRatio),Math.round(D*devicePixelRatio),r),borderBoxSize:y(q,I,r),contentBoxSize:y(M,D,r),contentRect:new d(x,u,M,D)});return p.set(e,P),P},T=function(e,t,n){var i=x(e,n),r=i.borderBoxSize,s=i.contentBoxSize,c=i.devicePixelContentBoxSize;switch(t){case o.DEVICE_PIXEL_CONTENT_BOX:return c;case o.BORDER_BOX:return r;default:return s}},S=function(e){var t=x(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=a([t.borderBoxSize]),this.contentBoxSize=a([t.contentBoxSize]),this.devicePixelContentBoxSize=a([t.devicePixelContentBoxSize])},z=function(e){if(f(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},B=function(){var e=1/0,t=[];r.forEach((function(n){if(0!==n.activeTargets.length){var o=[];n.activeTargets.forEach((function(t){var n=new S(t.target),i=z(t.target);o.push(n),t.lastReportedSize=T(t.target,t.observedBox),ie?t.activeTargets.push(n):t.skippedTargets.push(n))}))}))},R=function(){var e,t=0;for(O(t);r.some((function(e){return e.activeTargets.length>0}));)t=B(),O(t);return r.some((function(e){return e.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:s}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=s),window.dispatchEvent(e)),t>0},C=[],k=function(e){if(!c){var t=0,n=document.createTextNode("");new MutationObserver((function(){return C.splice(0).forEach((function(e){return e()}))})).observe(n,{characterData:!0}),c=function(){n.textContent="".concat(t?t--:t++)}}C.push(e),c()},L=0,N={attributes:!0,characterData:!0,childList:!0,subtree:!0},A=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],M=function(e){return void 0===e&&(e=0),Date.now()+e},D=!1,q=new(function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!D){D=!0;var n,o=M(e);n=function(){var n=!1;try{n=R()}finally{if(D=!1,e=o-M(),!L)return;n?t.run(1e3):e>0?t.run(e):t.start()}},k((function(){requestAnimationFrame(n)}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,N)};document.body?t():v.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),A.forEach((function(t){return v.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),A.forEach((function(t){return v.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}()),I=function(e){!L&&e>0&&q.start(),!(L+=e)&&q.stop()},P=function(){function e(e,t){this.target=e,this.observedBox=t||o.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e,t=T(this.target,this.observedBox,!0);return e=this.target,l(e)||function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)||"inline"!==getComputedStyle(e).display||(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),W=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},_=new WeakMap,F=function(e,t){for(var n=0;n=0&&(i&&r.splice(r.indexOf(n),1),n.observationTargets.splice(o,1),I(-1))},e.disconnect=function(e){var t=this,n=_.get(e);n.observationTargets.slice().forEach((function(n){return t.unobserve(e,n.target)})),n.activeTargets.splice(0,n.activeTargets.length)},e}(),V=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");X.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!h(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");X.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!h(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");X.unobserve(this,e)},e.prototype.disconnect=function(){X.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();const H="article#main",G="div.footnotes[role=doc-endnotes]";function J(e){const t=document.querySelector(G),n=t.querySelectorAll("li[id^='fn:']");e?(t.classList.add("floating-footnotes"),function(e){let t=0;Array.prototype.forEach.call(e,(function(e,n){const o=document.querySelector("a.footnote-ref[href='#"+e.id+"']");let i=function(e,t){const n=e.offsetParent.getBoundingClientRect().top;return t.getBoundingClientRect().top-n}(e,o.closest("p,li")||o);i=1260;t!==e&&(J(t),e=t)}}(),j=new V(((e,t)=>{J(!0)}));e((()=>{const e=document.querySelector(G),n=document.querySelector(H),o=n&&!n.classList.contains("no-floating-footnotes");e&&o&&t(U)})),e(n)}();