hypothesis 1.912.0 → 1.916.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/boot.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";function t(t,e){for(var s in e)e.hasOwnProperty(s)&&(t[s]=e[s]);return t}function e(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),n=1;n<e;n++)s[n-1]=arguments[n];return s.every((function(e){return"function"==typeof t[e]}))}var s={es2017:function(){return!e(Object,"entries","values")},es2018:function(){return"function"!=typeof Promise||!e(Promise.prototype,"finally")}};function n(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var s=Object.prototype.toString.call(t).slice(8,-1);"Object"===s&&t.constructor&&(s=t.constructor.name);if("Map"===s||"Set"===s)return Array.from(t);if("Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return r(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,n=new Array(e);s<e;s++)n[s]=t[s];return n}var o=["es2017","es2018"];function a(t){t.setAttribute("data-hypothesis-asset","")}function i(t,e){var s=t.createElement("link");s.rel="stylesheet",s.type="text/css",s.href=e,a(s),t.head.appendChild(s)}function c(t,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t.createElement("script");n.type="module",s&&(e+="#ts=".concat(Date.now())),n.src=e,n.async=!1,a(n),t.head.appendChild(n)}function l(t,e,s,n){var r=t.createElement("link");r.rel=e,r.href=n,r.type="application/annotator+".concat(s),a(r),t.head.appendChild(r)}function u(t,e,s){var n=t.createElement("link");n.rel="preload",n.as=e,n.crossOrigin="anonymous",n.href=s,a(n),t.head.appendChild(n)}function p(t,e,s){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.forceModuleReload;s.forEach((function(s){var n=e.assetRoot+"build/"+e.manifest[s];n.match(/\.css/)?i(t,n):c(t,n,r)}))}function d(t){return function(t){return t.filter((function(t){var e=s[t];if(!e)throw new Error('Unknown polyfill set "'.concat(t,'"'));return e()}))}(t).map((function(t){return"scripts/polyfills-".concat(t,".bundle.js")}))}function f(t){var e=t.match(/(https?):\/\/([^:/]+)/);return e?{protocol:e[1],hostname:e[2]}:null}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=t.currentScript;return e?f(e.src):null}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;if(-1===t.indexOf("{"))return t;var s=y(e);if(!s)throw new Error("Could not process URL template because script origin is unknown");return t=(t=t.replace("{current_host}",s.hostname)).replace("{current_scheme}",s.protocol)}var m={"scripts/annotator.bundle.js":"scripts/annotator.bundle.js?
|
|
1
|
+
!function(){"use strict";function t(t,e){for(var s in e)e.hasOwnProperty(s)&&(t[s]=e[s]);return t}function e(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),n=1;n<e;n++)s[n-1]=arguments[n];return s.every((function(e){return"function"==typeof t[e]}))}var s={es2017:function(){return!e(Object,"entries","values")},es2018:function(){return"function"!=typeof Promise||!e(Promise.prototype,"finally")}};function n(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var s=Object.prototype.toString.call(t).slice(8,-1);"Object"===s&&t.constructor&&(s=t.constructor.name);if("Map"===s||"Set"===s)return Array.from(t);if("Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return r(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,n=new Array(e);s<e;s++)n[s]=t[s];return n}var o=["es2017","es2018"];function a(t){t.setAttribute("data-hypothesis-asset","")}function i(t,e){var s=t.createElement("link");s.rel="stylesheet",s.type="text/css",s.href=e,a(s),t.head.appendChild(s)}function c(t,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t.createElement("script");n.type="module",s&&(e+="#ts=".concat(Date.now())),n.src=e,n.async=!1,a(n),t.head.appendChild(n)}function l(t,e,s,n){var r=t.createElement("link");r.rel=e,r.href=n,r.type="application/annotator+".concat(s),a(r),t.head.appendChild(r)}function u(t,e,s){var n=t.createElement("link");n.rel="preload",n.as=e,n.crossOrigin="anonymous",n.href=s,a(n),t.head.appendChild(n)}function p(t,e,s){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n.forceModuleReload;s.forEach((function(s){var n=e.assetRoot+"build/"+e.manifest[s];n.match(/\.css/)?i(t,n):c(t,n,r)}))}function d(t){return function(t){return t.filter((function(t){var e=s[t];if(!e)throw new Error('Unknown polyfill set "'.concat(t,'"'));return e()}))}(t).map((function(t){return"scripts/polyfills-".concat(t,".bundle.js")}))}function f(t){var e=t.match(/(https?):\/\/([^:/]+)/);return e?{protocol:e[1],hostname:e[2]}:null}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=t.currentScript;return e?f(e.src):null}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;if(-1===t.indexOf("{"))return t;var s=y(e);if(!s)throw new Error("Could not process URL template because script origin is unknown");return t=(t=t.replace("{current_host}",s.hostname)).replace("{current_scheme}",s.protocol)}var m={"scripts/annotator.bundle.js":"scripts/annotator.bundle.js?d3d207","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?5aba18","styles/annotator.css.map":"styles/annotator.css.map?556db4","styles/katex.min.css":"styles/katex.min.css?123be2","styles/katex.min.css.map":"styles/katex.min.css.map?4daef7","styles/annotator.css":"styles/annotator.css?aefb31","styles/pdfjs-overrides.css":"styles/pdfjs-overrides.css?dd8179","styles/pdfjs-overrides.css.map":"styles/pdfjs-overrides.css.map?bf5f6c","styles/sidebar.css.map":"styles/sidebar.css.map?8cc937","styles/sidebar.css":"styles/sidebar.css?c6ea19","styles/ui-playground.css":"styles/ui-playground.css?7f563e","styles/ui-playground.css.map":"styles/ui-playground.css.map?14eae5","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?200aa2","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?6378bf","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?9901dd","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?ad90db"};if(function(){var t=[function(){return Promise.resolve()},function(){return new Map},function(){return new URL(document.location.href)},function(){return new Request("https://hypothes.is")},function(){return Element.prototype.prepend.name},function(){document.evaluate("/html/body",document,null,XPathResult.ANY_TYPE,null)}];try{return t.forEach((function(t){return t()})),!0}catch(t){return!1}}()){var b=function(e){for(var s={},n=e.querySelectorAll("script.js-hypothesis-config"),r=0;r<n.length;r++){var o=void 0;try{o=JSON.parse(n[r].textContent||"")}catch(t){console.warn("Could not parse settings from js-hypothesis-config tags",t),o={}}t(s,o)}return s}(document),v=h(b.assetRoot||"https://cdn.hypothes.is/hypothesis/1.916.0/");if(document.querySelector("hypothesis-app"))!function(t,e){u(t,"fetch",e.apiUrl),u(t,"fetch",e.apiUrl+"links");var s=d(o);p(t,e,[].concat(n(s),["scripts/sidebar.bundle.js","styles/katex.min.css","styles/sidebar.css"]))}(document,{assetRoot:v,manifest:m,apiUrl:b.apiUrl});else{var j=h(b.notebookAppUrl||"https://hypothes.is/notebook"),g=h(b.sidebarAppUrl||"https://hypothes.is/app.html");!function(t,e){if(!t.querySelector('link[type="application/annotator+html"]')){l(t,"sidebar","html",e.sidebarAppUrl),l(t,"notebook","html",e.notebookAppUrl),l(t,"hypothesis-client","javascript",e.assetRoot+"build/boot.js");var s=d(o);p(t,e,[].concat(n(s),["scripts/annotator.bundle.js","styles/annotator.css","styles/pdfjs-overrides.css"]),{forceModuleReload:!0})}}(document,{assetRoot:v,manifest:m,notebookAppUrl:j,sidebarAppUrl:g})}}else console.warn("The Hypothesis annotation tool is not supported in this browser. See https://web.hypothes.is/help/which-browsers-are-supported-by-hypothesis/.")}();
|
package/build/manifest.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?
|
|
2
|
+
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?d3d207",
|
|
3
3
|
"scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?5aba18",
|
|
4
|
-
"styles/annotator.css": "styles/annotator.css?aefb31",
|
|
5
4
|
"styles/annotator.css.map": "styles/annotator.css.map?556db4",
|
|
6
5
|
"styles/katex.min.css": "styles/katex.min.css?123be2",
|
|
7
6
|
"styles/katex.min.css.map": "styles/katex.min.css.map?4daef7",
|
|
7
|
+
"styles/annotator.css": "styles/annotator.css?aefb31",
|
|
8
8
|
"styles/pdfjs-overrides.css": "styles/pdfjs-overrides.css?dd8179",
|
|
9
9
|
"styles/pdfjs-overrides.css.map": "styles/pdfjs-overrides.css.map?bf5f6c",
|
|
10
|
-
"styles/sidebar.css": "styles/sidebar.css?c6ea19",
|
|
11
10
|
"styles/sidebar.css.map": "styles/sidebar.css.map?8cc937",
|
|
11
|
+
"styles/sidebar.css": "styles/sidebar.css?c6ea19",
|
|
12
12
|
"styles/ui-playground.css": "styles/ui-playground.css?7f563e",
|
|
13
13
|
"styles/ui-playground.css.map": "styles/ui-playground.css.map?14eae5",
|
|
14
14
|
"scripts/ui-playground.bundle.js.map": "scripts/ui-playground.bundle.js.map?200aa2",
|
|
15
|
-
"scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?
|
|
16
|
-
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?
|
|
17
|
-
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?
|
|
15
|
+
"scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?6378bf",
|
|
16
|
+
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?9901dd",
|
|
17
|
+
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?ad90db"
|
|
18
18
|
}
|
|
@@ -3,7 +3,7 @@ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo
|
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
|
-
*/$=z,function(){var t={}.hasOwnProperty;function e(){for(var n=[],i=0;i<arguments.length;i++){var o=arguments[i];if(o){var r=typeof o;if("string"===r||"number"===r)n.push(o);else if(Array.isArray(o)){if(o.length){var s=e.apply(null,o);s&&n.push(s)}}else if("object"===r)if(o.toString===Object.prototype.toString)for(var a in o)t.call(o,a)&&o[a]&&n.push(a);else n.push(o.toString())}}return n.join(" ")}$.exports?(e.default=e,$.exports=e):window.classNames=e}();var X,Y,G,Z=z.exports,K=0,J=[],Q=n.__b,tt=n.__r,et=n.diffed,nt=n.__c,it=n.unmount;function ot(t,e){n.__h&&n.__h(Y,t,K||e),K=0;var i=Y.__H||(Y.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function rt(t){return K=1,function(t,e,n){var i=ot(X++,2);return i.t=t,i.__c||(i.__=[n?n(e):ft(void 0,e),function(t){var e=i.t(i.__[0],t);i.__[0]!==e&&(i.__=[e,i.__[1]],i.__c.setState({}))}],i.__c=Y),i.__}(ft,t)}function st(t,e){var i=ot(X++,3);!n.__s&&dt(i.__H,e)&&(i.__=t,i.__H=e,Y.__H.__h.push(i))}function at(t){return K=5,function(t,e){var n=ot(X++,7);return dt(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}((function(){return{current:t}}),[])}function lt(){J.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(ht),t.__H.__h.forEach(ut),t.__H.__h=[]}catch(e){t.__H.__h=[],n.__e(e,t.__v)}})),J=[]}n.__b=function(t){Y=null,Q&&Q(t)},n.__r=function(t){tt&&tt(t),X=0;var e=(Y=t.__c).__H;e&&(e.__h.forEach(ht),e.__h.forEach(ut),e.__h=[])},n.diffed=function(t){et&&et(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(1!==J.push(e)&&G===n.requestAnimationFrame||((G=n.requestAnimationFrame)||function(t){var e,n=function(){clearTimeout(i),ct&&cancelAnimationFrame(e),setTimeout(t)},i=setTimeout(n,100);ct&&(e=requestAnimationFrame(n))})(lt)),Y=null},n.__c=function(t,e){e.some((function(t){try{t.__h.forEach(ht),t.__h=t.__h.filter((function(t){return!t.__||ut(t)}))}catch(i){e.some((function(t){t.__h&&(t.__h=[])})),e=[],n.__e(i,t.__v)}})),nt&&nt(t,e)},n.unmount=function(t){it&&it(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ht)}catch(t){n.__e(t,e.__v)}};var ct="function"==typeof requestAnimationFrame;function ht(t){var e=Y;"function"==typeof t.__c&&t.__c(),Y=e}function ut(t){var e=Y;t.__c=t.__(),Y=e}function dt(t,e){return!t||t.length!==e.length||e.some((function(e,n){return e!==t[n]}))}function ft(t,e){return"function"==typeof e?e(t):e}var pt=0;function gt(t,e,i,o,r){var s,a,l={};for(a in e)"ref"==a?s=e[a]:l[a]=e[a];var c={type:t,props:l,key:i,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--pt,__source:o,__self:r};if("function"==typeof t&&(s=t.defaultProps))for(a in s)void 0===l[a]&&(l[a]=s[a]);return n.vnode&&n.vnode(c),c}const mt=new Map;function _t({name:t,className:e="",inline:i=!1,title:o=""}){const r=mt.get(t);if(!r)throw new Error(`Icon "${t.toString()}" is not registered`);const s=at();!function(t,e){var i=ot(X++,4);!n.__s&&dt(i.__H,e)&&(i.__=t,i.__H=e,Y.__h.push(i))}((()=>{const t=s.current.querySelector("svg");t&&t.setAttribute("class",e)}),[e,r]);const a={};return o&&(a.title=o),gt("span",{className:Z("Hyp-SvgIcon",{"Hyp-SvgIcon--inline":i}),dangerouslySetInnerHTML:{__html:r},ref:s,...a},void 0,!1,{fileName:"/home/runner/work/frontend-shared/frontend-shared/src/components/SvgIcon.js",lineNumber:69,columnNumber:5})}function vt(t,e){const n="string"==typeof t?Symbol(t):t;return mt.set(n,e),n}var yt="/home/runner/work/frontend-shared/frontend-shared/src/components/buttons.js";function wt({buttonRef:t,classes:e,className:n,icon:i,iconPosition:o="left",size:r="medium",variant:s="normal",expanded:a,pressed:l,type:c="button",...h}){var u;const d=null!==(u=null==h?void 0:h.role)&&void 0!==u?u:"button",f={"aria-label":h.title};return"tab"===d?f["aria-selected"]=l:(f["aria-pressed"]=l,f["aria-expanded"]=a),gt("button",{ref:t,className:Z(n,`${n}--${r}`,`${n}--${s}`,{[`${n}--icon-${o}`]:i},e),type:c,...f,...h},void 0,!1,{fileName:yt,lineNumber:82,columnNumber:5})}function bt({className:t="Hyp-IconButton",...e}){const{icon:n}=e;return gt(wt,{className:t,...e,children:gt(_t,{name:n},void 0,!1,{fileName:yt,lineNumber:109,columnNumber:7})},void 0,!1,{fileName:yt,lineNumber:108,columnNumber:5})}vt("checkbox",' <svg\n width="32"\n height="32"\n viewBox="-4 -4 39 39"\n aria-hidden="true"\n focusable="false"\n >\n <rect\n class="hyp-svg-checkbox--background"\n width="35"\n height="35"\n x="-2"\n y="-2"\n stroke="currentColor"\n fill="none"\n stroke-width="3"\n rx="5"\n ry="5"\n />\n <polyline\n class="hyp-svg-checkbox--checkmark"\n points="4,14 12,23 28,5"\n stroke="transparent"\n stroke-width="5"\n fill="none"\n />\n</svg>');var Ct='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n';vt("cancel",Ct),vt("cancel",Ct);vt("spinner",'<svg viewBox="0 0 64 64">\n <g stroke-width="6" stroke="currentColor" stroke-linecap="round">\n <line y1="16" y2="28" transform="translate(32,32) rotate(180)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(225)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".15;0;1;.8;.65;.45;.3;.15" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(270)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".3;.15;0;1;.8;.65;.45;.3" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(315)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".45;.3;.15;0;1;.85;.65;.45" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(0)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".65;.45;.3;.15;0;1;.8;.65;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(45)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".8;.65;.45;.3;.15;0;1;.8" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(90)">\n <animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.6;.45;.3;.15;0;1;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(135)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n </g>\n</svg>');var Et={annotate:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="currentColor" fill-rule="nonzero" d="M15 0c.27 0 .505.099.703.297A.961.961 0 0116 1v15l-4-3H1a.974.974 0 01-.703-.29A.953.953 0 010 12V1C0 .719.096.482.29.29A.966.966 0 011 0h14zM7 3l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C4.156 5.229 4 6 4 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188C4.729 8.854 5.082 9 5.5 9c.417 0 .77-.146 1.063-.438C6.854 8.271 7 7.918 7 7.5c0-.417-.146-.77-.438-1.063A1.447 1.447 0 005.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L7 4V3zm5 0l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C9.156 5.229 9 6 9 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188c.291.291.645.437 1.062.437.417 0 .77-.146 1.063-.438.291-.291.437-.645.437-1.062 0-.417-.146-.77-.438-1.063A1.447 1.447 0 0010.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L12 4V3z"/>\n</svg>\n',cancel:Ct,caution:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',"caret-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12L6 8l4-4"></path></g></svg>',"caret-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 4l4 4-4 4"></path></g></svg>',hide:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M1.61289944,0.209704612 L1.70710678,0.292893219 L15.7071068,14.2928932 C16.0976311,14.6834175 16.0976311,15.3165825 15.7071068,15.7071068 C15.3466228,16.0675907 14.7793918,16.0953203 14.3871006,15.7902954 L14.2928932,15.7071068 L0.292893219,1.70710678 C-0.0976310729,1.31658249 -0.0976310729,0.683417511 0.292893219,0.292893219 C0.65337718,-0.0675907428 1.22060824,-0.0953202783 1.61289944,0.209704612 Z M2.19604887,5.05494269 C2.65878442,5.35642943 2.78950241,5.97595401 2.48801567,6.43868956 C2.16488794,6.93464068 2,7.46139686 2,8 C2,10.1228856 4.62796016,12 8,12 C8.22060643,12 8.4396701,11.9919023 8.65660209,11.9758355 C9.20737829,11.9350431 9.68693944,12.3484666 9.72773191,12.8992428 C9.76852437,13.450019 9.35510087,13.9295801 8.80432467,13.9703726 C8.53822524,13.9900809 8.26988704,14 8,14 C3.64005335,14 0,11.3999619 0,8 C0,7.06308249 0.28281658,6.15958778 0.812302005,5.34690949 C1.11378875,4.88417394 1.73331332,4.75345595 2.19604887,5.05494269 Z M8,2 C12.3599467,2 16,4.6000381 16,8 C16,8.93691751 15.7171834,9.84041222 15.187698,10.6530905 C14.8862113,11.1158261 14.2666867,11.246544 13.8039511,10.9450573 C13.3412156,10.6435706 13.2104976,10.024046 13.5119843,9.56131044 C13.8351121,9.06535932 14,8.53860314 14,8 C14,5.8771144 11.3720398,4 8,4 C7.77939357,4 7.5603299,4.00809769 7.34339791,4.02416445 C6.79262171,4.06495692 6.31306056,3.65153342 6.27226809,3.10075722 C6.23147563,2.54998102 6.64489913,2.07041987 7.19567533,2.02962741 C7.46177476,2.00991913 7.73011296,2 8,2 Z"></path></svg>',highlight:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15H1h11zm-.5-6v2l-1 1v-2l1-1zm.5-7v6h-2V2h2zm0-1h-2 2zm0 8h-2 2z"></path></g></svg>',note:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M14,0 C15.0543618,0 15.9181651,0.815877791 15.9945143,1.85073766 L16,2 L16,9 C16,9.27541264 15.8865388,9.53676152 15.6894833,9.7243131 L15.6,9.8 L7.6,15.8 C7.46152306,15.9038577 7.29908616,15.9695431 7.12886893,15.9916629 L7,16 L2,16 C0.945638205,16 0.0818348781,15.1841222 0.00548573643,14.1492623 L0,14 L0,2 C0,0.945638205 0.815877791,0.0818348781 1.85073766,0.00548573643 L2,0 L14,0 Z M14,2 L2,2 L2,14 L6,14 L6,9 C6,8.48716416 6.38604019,8.06449284 6.88337887,8.00672773 L7,8 L14,8 L14,2 Z M12,10 L8,10 L8,13 L12,10 Z"></path></svg>',pointer:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="8" viewBox="0 0 15 8" aria-hidden="true" focusable="false"><path d="M0 8 L7 0 L15 8" stroke="currentColor" strokeWidth="2" /></svg>\n',show:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M8,2 C12.3599467,2 16,4.6000381 16,8 C16,11.3999619 12.3599467,14 8,14 C3.64005335,14 0,11.3999619 0,8 C0,4.6000381 3.64005335,2 8,2 Z M8,4 C4.62796016,4 2,5.8771144 2,8 C2,10.1228856 4.62796016,12 8,12 C11.3720398,12 14,10.1228856 14,8 C14,5.8771144 11.3720398,4 8,4 Z M8,6 C9.1045695,6 10,6.8954305 10,8 C10,9.1045695 9.1045695,10 8,10 C6.8954305,10 6,9.1045695 6,8 C6,6.8954305 6.8954305,6 8,6 Z"></path></svg>'};function Tt(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function St(t){for(var e={},n=t.querySelectorAll("script.js-hypothesis-config"),i=0;i<n.length;i++){var o=void 0;try{o=JSON.parse(n[i].textContent||"")}catch(t){console.warn("Could not parse settings from js-hypothesis-config tags",t),o={}}Tt(e,o)}return e}function xt(t){if("string"==typeof t&&"false"===t.trim().toLocaleLowerCase())return!1;const e=Number(t);return isNaN(e)?"string"==typeof t:Boolean(e)}function At(t,e,n){const i=t.document.querySelector(`link[type="application/annotator+${n}"][rel="${e}"]`);if(!i)throw new Error(`No application/annotator+${n} (rel="${e}") link in the document`);if(!i.href)throw new Error(`application/annotator+${n} (rel="${e}") link has no href`);return i.href}function kt(t){const e=function(t){if(!t.hasOwnProperty("hypothesisConfig"))return{};if("function"!=typeof t.hypothesisConfig){const t="https://h.readthedocs.io/projects/client/en/latest/publishers/config/#window.hypothesisConfig";return console.warn("hypothesisConfig must be a function, see: "+t),{}}return t.hypothesisConfig()}(t);let n;function i(t){return e.hasOwnProperty(t)?e[t]:n.hasOwnProperty(t)?n[t]:void 0}return n=xt(e.ignoreOtherConfiguration)?{}:St(t.document),{get annotations(){return n.annotations||function(){const e=t.location.href.match(/#annotations:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get clientUrl(){return At(t,"hypothesis-client","javascript")},get group(){return n.group||function(){const e=t.location.href.match(/#annotations:group:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get notebookAppUrl(){return At(t,"notebook","html")},get showHighlights(){return function(){let t=i("showHighlights");return void 0===t&&(t="always"),"boolean"==typeof t?t?"always":"never":t}()},get sidebarAppUrl(){return At(t,"sidebar","html")},get query(){return n.query||function(){const e=t.location.href.match(/#annotations:(query|q):(.+)$/i);if(e)try{return decodeURIComponent(e[2])}catch(t){}return null}()},hostPageSetting:i}}function Lt(t,e){return t.hostPageSetting(e)}const Nt={annotations:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.annotations},appType:{allowInBrowserExt:!0,defaultValue:null,getValue:Lt},branding:{defaultValue:null,allowInBrowserExt:!1,getValue:Lt},clientUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.clientUrl},enableExperimentalNewNoteButton:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},group:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.group},focus:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},theme:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},usernameUrl:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},onLayoutChange:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},openSidebar:{allowInBrowserExt:!0,defaultValue:!1,coerce:xt,getValue:Lt},query:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.query},requestConfigFromFrame:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},services:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},showHighlights:{allowInBrowserExt:!1,defaultValue:"always",getValue:t=>t.showHighlights},notebookAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.notebookAppUrl},sidebarAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.sidebarAppUrl},subFrameIdentifier:{allowInBrowserExt:!0,defaultValue:null,getValue:Lt},externalContainerSelector:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt}};function Rt(t="annotator",e=window){const n=kt(e),i={};let o=function(t){const e={annotator:["clientUrl","subFrameIdentifier"],sidebar:["appType","annotations","branding","enableExperimentalNewNoteButton","externalContainerSelector","focus","group","onLayoutChange","openSidebar","query","requestConfigFromFrame","services","showHighlights","sidebarAppUrl","theme","usernameUrl"],notebook:["branding","group","notebookAppUrl","requestConfigFromFrame","services","theme","usernameUrl"]};switch(t){case"annotator":return e.annotator;case"sidebar":return e.sidebar;case"notebook":return e.notebook;case"all":return[...e.annotator,...e.sidebar,...e.notebook];default:throw new Error(`Invalid application context used: "${t}"`)}}(t);return o.forEach((t=>{const o=Nt[t],r=void 0!==o.defaultValue,s=!((a=At(e,"sidebar","html")).startsWith("http://")||a.startsWith("https://"));var a;if(!o.allowInBrowserExt&&s)return void(r&&(i[t]=o.defaultValue));const l=o.getValue(n,t);void 0!==l?i[t]=o.coerce?o.coerce(l):l:r&&(i[t]=o.defaultValue)})),i}class Mt{constructor(){this._listeners=[]}add(t,e,n,i){t.addEventListener(e,n,i),this._listeners.push({eventTarget:t,eventType:e,listener:n})}removeAll(){this._listeners.forEach((({eventTarget:t,eventType:e,listener:n})=>{t.removeEventListener(e,n)})),this._listeners=[]}}class Ot{constructor(t,e){this._port=t,this._methods=e,this._sequence=0,this._callbacks={},this._destroyed=!1,this._listeners=new Mt,this._listeners.add(this._port,"message",(t=>this._handle(t))),this._port.start()}destroy(){this._destroyed=!0,this._listeners.removeAll(),this._port.close()}call(t,...e){if(this._destroyed)return;const n=this._sequence++,i=e[e.length-1];"function"==typeof i&&(this._callbacks[n]=i,e=e.slice(0,-1));const o={arguments:e,method:t,protocol:"frame-rpc",sequence:n,version:"1.0.0"};this._port.postMessage(o)}_parseMessage({data:t}){return t&&"object"==typeof t?"frame-rpc"!==t.protocol||"1.0.0"!==t.version?null:Array.isArray(t.arguments)?t:null:null}_handle(t){const e=this._parseMessage(t);if(null!==e)if("method"in e){if(!this._methods.hasOwnProperty(e.method))return;const t=(...t)=>{const n={arguments:t,protocol:"frame-rpc",response:e.sequence,version:"1.0.0"};this._port.postMessage(n)};this._methods[e.method](...e.arguments,t)}else if("response"in e){const t=this._callbacks[e.response];delete this._callbacks[e.response],t&&t(...e.arguments)}}}class Pt{constructor(){this.links=[],this.channelListeners={},this.onConnectListeners=[],this.on("connect",(t=>t()))}destroy(){this.links.forEach((t=>t.destroy())),this.links=[]}createChannel(t){const e=new Ot(t,this.channelListeners);let n=!1;return e.call("connect",(()=>{n||(n=!0,this.onConnectListeners.forEach((t=>t(e))))})),this.links.push(e),e}call(t,...e){let n;const i=e[e.length-1];"function"==typeof i&&(n=i,e=e.slice(0,-1));const o=t=>e=>{throw t.destroy(),this.links=this.links.filter((e=>e!==t)),e},r=this.links.map((n=>new Promise(((i,o)=>{const r=setTimeout((()=>i(null)),1e3);try{n.call(t,...e,((t,e)=>{clearTimeout(r),t?o(t):i(e)}))}catch(t){o(t)}})).catch(o(n))));let s=Promise.all(r);return n&&(s=s.then((t=>n(null,t))).catch((t=>n(t)))),s}on(t,e){if(this.links.length>0)throw new Error(`Listener '${t}' can't be registered because a channel has already been created`);if(this.channelListeners[t])throw new Error(`Listener '${t}' already bound in Bridge`);return this.channelListeners[t]=e,this}onConnect(t){return this.onConnectListeners.push(t),this}}const It={alt:1,ctrl:2,meta:4,shift:8};function Dt(t,e,{rootElement:n=document.body}={}){const i=n=>{(function(t,e){const n=e.split("+").map((t=>t.toLowerCase()));let i=0,o=null;for(let t of n){const e=It[t];if(e)i|=e;else{if(null!==o)throw new Error("Multiple non-modifier keys specified");o=t}}if(!o)throw new Error(`Invalid shortcut: ${e}`);return((t.ctrlKey?It.ctrl:0)|(t.metaKey?It.meta:0)|(t.altKey?It.alt:0)|(t.shiftKey?It.shift:0))===i&&function(t){const e={Left:"ArrowLeft",Up:"ArrowUp",Down:"ArrowDown",Right:"ArrowRight",Spacebar:" ",Del:"Delete"};return e[t]?e[t]:t}(t.key).toLowerCase()===o})(n,t)&&e(n)};return n.addEventListener("keydown",i),()=>n.removeEventListener("keydown",i)}function Vt(t,e,{rootElement:n=document.body}={}){st((()=>{if(t)return Dt(t,e,{rootElement:n})}),[t,e,n])}function Ht({badgeCount:t,icon:e,label:n,onClick:i,shortcut:o}){Vt(o,i);const r=o?`${n} (${o})`:n;return gt("button",{className:"AdderToolbar__button",onClick:i,"aria-label":r,title:r,children:[e&>(_t,{name:e,className:"AdderToolbar__icon"}),"number"==typeof t&>("span",{className:"AdderToolbar__badge",children:t}),gt("span",{className:"AdderToolbar__label",children:n})]})}function Bt({arrowDirection:t,isVisible:e,onCommand:n,annotationCount:i=0}){const o=e?"a":null,r=e?"h":null,s=e?"s":null;return Vt(e?"Escape":null,(()=>n("hide"))),gt("div",{className:Z("AdderToolbar",{"AdderToolbar--down":"up"===t,"AdderToolbar--up":"down"===t,"is-active":e}),style:{visibility:e?"visible":"hidden"},children:[gt("div",{className:"AdderToolbar__actions",children:[gt(Ht,{icon:"annotate",onClick:()=>n("annotate"),label:"Annotate",shortcut:o}),gt(Ht,{icon:"highlight",onClick:()=>n("highlight"),label:"Highlight",shortcut:r}),i>0&>("div",{className:"AdderToolbar__separator"}),i>0&>(Ht,{badgeCount:i,onClick:()=>n("show"),label:"Show",shortcut:s})]}),gt(_t,{name:"pointer",inline:!0,className:Z("AdderToolbar__arrow",{"AdderToolbar__arrow--down":"down"===t,"AdderToolbar__arrow--up":"up"===t})})]})}const Ft=(t=window)=>t.matchMedia("(pointer: coarse)").matches;function Ut(t){if(!t.attachShadow)return qt(t),t;const e=t.attachShadow({mode:"open"});!function(t){var e;const n=null===(e=document.querySelector('link[rel="stylesheet"][href*="/build/styles/annotator.css"]'))||void 0===e?void 0:e.href;if(!n)return;const i=document.createElement("link");i.rel="stylesheet",i.href=n,t.appendChild(i)}(e);const n=window.applyFocusVisiblePolyfill;return n&&n(e),qt(e),e}function qt(t){t.addEventListener("mouseup",(t=>t.stopPropagation())),t.addEventListener("mousedown",(t=>t.stopPropagation())),t.addEventListener("touchstart",(t=>t.stopPropagation()),{passive:!0})}function Wt(t){return t.toString()+"px"}class jt{constructor(t,e){this._outerContainer=document.createElement("hypothesis-adder"),t.appendChild(this._outerContainer),this._shadowRoot=Ut(this._outerContainer),Object.assign(this._outerContainer.style,{position:"absolute",top:0,left:0}),this._view=t.ownerDocument.defaultView,this._width=()=>this._shadowRoot.firstChild.getBoundingClientRect().width,this._height=()=>this._shadowRoot.firstChild.getBoundingClientRect().height,this._isVisible=!1,this._arrowDirection="up",this._onAnnotate=e.onAnnotate,this._onHighlight=e.onHighlight,this._onShowAnnotations=e.onShowAnnotations,this.annotationsForSelection=[],this._render()}hide(){this._isVisible=!1,this._render(),Object.assign(this._outerContainer.style,{top:0,left:0})}destroy(){M(null,this._shadowRoot),this._outerContainer.remove()}show(t,e){const{left:n,top:i,arrowDirection:o}=this._calculateTarget(t,e);this._showAt(n,i),this._isVisible=!0,this._arrowDirection=2===o?"up":"down",this._render()}_calculateTarget(t,e){let n,i,o;n=e&&!Ft()?1:2;const r=Math.min(20,t.width),s=this._width(),a=Ft()?10:0,l=this._height();return o=e?t.left-s/2+r:t.left+t.width-s/2-r,t.top-l<0&&1===n?n=2:t.top+l>this._view.innerHeight&&(n=1),i=2===n?t.top+t.height+10+a:t.top-l-10,o=Math.max(o,0),o=Math.min(o,this._view.innerWidth-s),i=Math.max(i,0),i=Math.min(i,this._view.innerHeight-l),{top:i,left:o,arrowDirection:n}}_findZindex(t,e){if(void 0===document.elementsFromPoint)return 32768;const n=this._width(),i=this._height(),o=[...new Set([...document.elementsFromPoint(t,e),...document.elementsFromPoint(t,e+i),...document.elementsFromPoint(t+n/2,e+i/2),...document.elementsFromPoint(t+n,e),...document.elementsFromPoint(t+n,e+i)])].map((t=>+getComputedStyle(t).zIndex)).filter(Number.isInteger);return o.push(0),Math.max(...o)+1}_showAt(t,e){const n=function(t){let e=t.parentElement;for(;e.parentElement&&"static"===getComputedStyle(e).position;)e=e.parentElement;return e}(this._outerContainer).getBoundingClientRect(),i=this._findZindex(t,e);Object.assign(this._outerContainer.style,{left:Wt(t-n.left),top:Wt(e-n.top),zIndex:i})}_render(){M(gt(Bt,{isVisible:this._isVisible,arrowDirection:this._arrowDirection,onCommand:t=>{switch(t){case"annotate":this._onAnnotate(),this.hide();break;case"highlight":this._onHighlight(),this.hide();break;case"show":this._onShowAnnotations(this.annotationsForSelection);break;case"hide":this.hide()}},annotationCount:this.annotationsForSelection.length}),this._shadowRoot)}}class $t{constructor(t,e){this._emitter=t.createEmitter(),this._sidebar=e,this.cache={},this.destroyed=!1,this._sidebar.on("deleteAnnotation",((t,e)=>{if(this.destroyed)return void e(null);const n=this._parse(t);delete this.cache[n.$tag],this._emitter.publish("annotationDeleted",n),this._format(n),e(null)})),this._sidebar.on("loadAnnotations",((t,e)=>{if(this.destroyed)return void e(null);const n=t.map((t=>this._parse(t)));this._emitter.publish("annotationsLoaded",n),e(null)})),this._emitter.subscribe("beforeAnnotationCreated",(t=>{t.$tag||this._sidebar.call("createAnnotation",this._format(t))}))}sync(t){this.destroyed||this._sidebar.call("syncAnchoringStatus",t.map((t=>this._format(t))))}_tag(t,e){return t.$tag||(e=e||window.btoa(Math.random().toString()),Object.defineProperty(t,"$tag",{value:e}),this.cache[e]=t),t}_parse(t){const e=Object.assign(this.cache[t.tag]||{},t.msg);return this._tag(e,t.tag)}_format(t){return this._tag(t),{tag:t.$tag,msg:t}}destroy(){this.destroyed=!0,this._emitter.destroy()}}function zt(t){switch(t.nodeType){case Node.ELEMENT_NODE:case Node.TEXT_NODE:return t.textContent.length;default:return 0}}function Xt(t){let e=t.previousSibling,n=0;for(;e;)n+=zt(e),e=e.previousSibling;return n}function Yt(t,...e){let n=e.shift();const i=t.ownerDocument.createNodeIterator(t,NodeFilter.SHOW_TEXT),o=[];let r,s=i.nextNode(),a=0;for(;void 0!==n&&s;)r=s,a+r.data.length>n?(o.push({node:r,offset:n-a}),n=e.shift()):(s=i.nextNode(),a+=r.data.length);for(;void 0!==n&&r&&a===n;)o.push({node:r,offset:r.data.length}),n=e.shift();if(void 0!==n)throw new RangeError("Offset exceeds text length");return o}class Gt{constructor(t,e){if(e<0)throw new Error("Offset is invalid");this.element=t,this.offset=e}relativeTo(t){if(!t.contains(this.element))throw new Error("Parent is not an ancestor of current element");let e=this.element,n=this.offset;for(;e!==t;)n+=Xt(e),e=e.parentElement;return new Gt(e,n)}resolve(t={}){try{return Yt(this.element,this.offset)[0]}catch(e){if(0===this.offset&&void 0!==t.direction){const n=document.createTreeWalker(this.element.getRootNode(),NodeFilter.SHOW_TEXT);n.currentNode=this.element;const i=1===t.direction,o=i?n.nextNode():n.previousNode();if(!o)throw e;return{node:o,offset:i?0:o.data.length}}throw e}}static fromCharOffset(t,e){switch(t.nodeType){case Node.TEXT_NODE:return Gt.fromPoint(t,e);case Node.ELEMENT_NODE:return new Gt(t,e);default:throw new Error("Node is not an element or text node")}}static fromPoint(t,e){switch(t.nodeType){case Node.TEXT_NODE:{if(e<0||e>t.data.length)throw new Error("Text node offset is out of range");if(!t.parentElement)throw new Error("Text node has no parent");const n=Xt(t)+e;return new Gt(t.parentElement,n)}case Node.ELEMENT_NODE:{if(e<0||e>t.childNodes.length)throw new Error("Child node offset is out of range");let n=0;for(let i=0;i<e;i++)n+=zt(t.childNodes[i]);return new Gt(t,n)}default:throw new Error("Point is not in an element or text node")}}}class Zt{constructor(t,e){this.start=t,this.end=e}relativeTo(t){return new Zt(this.start.relativeTo(t),this.end.relativeTo(t))}toRange(){let t,e;this.start.element===this.end.element&&this.start.offset<=this.end.offset?[t,e]=Yt(this.start.element,this.start.offset,this.end.offset):(t=this.start.resolve({direction:1}),e=this.end.resolve({direction:2}));const n=new Range;return n.setStart(t.node,t.offset),n.setEnd(e.node,e.offset),n}static fromRange(t){const e=Gt.fromPoint(t.startContainer,t.startOffset),n=Gt.fromPoint(t.endContainer,t.endOffset);return new Zt(e,n)}static fromOffsets(t,e,n){return new Zt(new Gt(t,e),new Gt(t,n))}}function Kt(t){return!!t.parentElement&&null!==t.parentElement.closest(".annotator-placeholder")}function Jt(t){if(t.focusNode===t.anchorNode)return t.focusOffset<t.anchorOffset;return t.getRangeAt(0).startContainer===t.focusNode}function Qt(t,e){try{var n,i;const o=null!==(n=null===(i=e.nodeValue)||void 0===i?void 0:i.length)&&void 0!==n?n:e.childNodes.length;return t.comparePoint(e,0)<=0&&t.comparePoint(e,o)>=0}catch(t){return!1}}function te(t,e){const n=t.commonAncestorContainer,i=n.ownerDocument.createNodeIterator(n,NodeFilter.SHOW_ALL);let o;for(;o=i.nextNode();)Qt(t,o)&&e(o)}function ee(t){if(t.isCollapsed)return null;const e=function(t){const e=/^\s*$/,n=[];te(t,(t=>{t.nodeType!==Node.TEXT_NODE||t.textContent.match(e)||n.push(t)}));let i=[];return n.forEach((e=>{const n=e.ownerDocument.createRange();if(n.selectNodeContents(e),e===t.startContainer&&n.setStart(e,t.startOffset),e===t.endContainer&&n.setEnd(e,t.endOffset),n.collapsed)return;const o=Array.from(n.getClientRects());n.detach(),i=i.concat(o)})),i}(t.getRangeAt(0));return 0===e.length?null:Jt(t)?e[0]:e[e.length-1]}function ne(t,e="hypothesis-highlight"){const n=function(t){if(t.collapsed)return[];let e=t.commonAncestorContainer;if(e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement),!e)return[];const n=[],i=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);let o;for(;o=i.nextNode();){if(!Qt(t,o))continue;let e=o;e===t.startContainer&&t.startOffset>0?e.splitText(t.startOffset):(e===t.endContainer&&t.endOffset<e.data.length&&e.splitText(t.endOffset),n.push(e))}return n}(t),i=n.length>0&&Kt(n[0]);let o=[],r=null,s=null;n.forEach((t=>{r&&r.nextSibling===t?s.push(t):(s=[t],o.push(s)),r=t}));const a=/^\s*$/;o=o.filter((t=>t.some((t=>!a.test(t.nodeValue)))));const l=[];return o.forEach((t=>{const n=document.createElement("hypothesis-highlight");n.className=e,t[0].parentNode.replaceChild(n,t[0]),t.forEach((t=>n.appendChild(t))),l.push(n)})),i||function(t){if(0===t.length)return;const e=function(t){const e=t.closest(".page");return e&&e.querySelector(".canvasWrapper > canvas")||null}(t[0]);if(!e||!e.parentElement)return;let n=e.parentElement.querySelector(".hypothesis-highlight-layer");const i=CSS.supports("mix-blend-mode","multiply");if(!n){n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.setAttribute("class","hypothesis-highlight-layer"),e.parentElement.appendChild(n),e.parentElement.style.position="relative";const t=n.style;t.position="absolute",t.left="0",t.top="0",t.width="100%",t.height="100%",i?t.mixBlendMode="multiply":t.opacity="0.3"}const o=e.getBoundingClientRect(),r=t.map((t=>{const e=t.getBoundingClientRect(),n=document.createElementNS("http://www.w3.org/2000/svg","rect");return n.setAttribute("x",(e.left-o.left).toString()),n.setAttribute("y",(e.top-o.top).toString()),n.setAttribute("width",e.width.toString()),n.setAttribute("height",e.height.toString()),i?n.setAttribute("class","hypothesis-svg-highlight"):n.setAttribute("class","hypothesis-svg-highlight is-opaque"),t.classList.add("is-transparent"),t.svgHighlight=n,n}));n.append(...r)}(l),l}function ie(t,e){const n=t.parentNode;e.forEach((e=>n.insertBefore(e,t))),t.remove()}function oe(t){for(let e of t){if(e.parentNode){ie(e,Array.from(e.childNodes))}e.svgHighlight&&e.svgHighlight.remove()}}function re(t,e){t.forEach((t=>{if(t.svgHighlight){if(t.svgHighlight.classList.toggle("is-focused",e),e){t.svgHighlight.parentNode.append(t.svgHighlight)}}else t.classList.toggle("hypothesis-highlight-focused",e)}))}function se(t){const e=t.map((t=>t.getBoundingClientRect()));return e.reduce(((t,e)=>({top:Math.min(t.top,e.top),left:Math.min(t.left,e.left),bottom:Math.max(t.bottom,e.bottom),right:Math.max(t.right,e.right)})))}var ae=/^\s+|\s+$/g,le=/^[-+]0x[0-9a-f]+$/i,ce=/^0b[01]+$/i,he=/^0o[0-7]+$/i,ue=parseInt,de="object"==typeof t&&t&&t.Object===Object&&t,fe="object"==typeof self&&self&&self.Object===Object&&self,pe=de||fe||Function("return this")(),ge=Object.prototype.toString,me=Math.max,_e=Math.min,ve=function(){return pe.Date.now()};function ye(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function we(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==ge.call(t)}(t))return NaN;if(ye(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=ye(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ae,"");var n=ce.test(t);return n||he.test(t)?ue(t.slice(2),n?2:8):le.test(t)?NaN:+t}var be=function(t,e,n){var i,o,r,s,a,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=i,r=o;return i=o=void 0,c=e,s=t.apply(r,n)}function p(t){return c=t,a=setTimeout(m,e),h?f(t):s}function g(t){var n=t-l;return void 0===l||n>=e||n<0||u&&t-c>=r}function m(){var t=ve();if(g(t))return _(t);a=setTimeout(m,function(t){var n=e-(t-l);return u?_e(n,r-(t-c)):n}(t))}function _(t){return a=void 0,d&&i?f(t):(i=o=void 0,s)}function v(){var t=ve(),n=g(t);if(i=arguments,o=this,l=t,n){if(void 0===a)return p(l);if(u)return a=setTimeout(m,e),f(l)}return void 0===a&&(a=setTimeout(m,e)),s}return e=we(e)||0,ye(n)&&(h=!!n.leading,r=(u="maxWait"in n)?me(we(n.maxWait)||0,e):r,d="trailing"in n?!!n.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=o=a=void 0},v.flush=function(){return void 0===a?s:_(ve())},v};class Ce{constructor(t,e,n){this._element=t,this._onFrameAdded=e,this._onFrameRemoved=n,this._annotatableFrames=new Set,this._isDisconnected=!1,this._mutationObserver=new MutationObserver(be((()=>{this._discoverFrames()}),40)),this._discoverFrames(),this._mutationObserver.observe(this._element,{childList:!0,subtree:!0,attributeFilter:["enable-annotation"]})}disconnect(){this._isDisconnected=!0,this._mutationObserver.disconnect()}async _addFrame(t){this._annotatableFrames.add(t);try{if(await Ee(t),this._isDisconnected)return;t.contentWindow.addEventListener("unload",(()=>{this._removeFrame(t)})),this._onFrameAdded(t)}catch(e){console.warn(`Unable to inject the Hypothesis client (from '${document.location.href}' into a cross-origin frame '${t.src}')`)}}_removeFrame(t){this._annotatableFrames.delete(t),this._onFrameRemoved(t)}_discoverFrames(){const t=new Set(this._element.querySelectorAll("iframe[enable-annotation]"));for(let e of t)this._annotatableFrames.has(e)||this._addFrame(e);for(let e of this._annotatableFrames)t.has(e)||this._removeFrame(e)}}function Ee(t){return new Promise((e=>{const n=t.contentWindow.document,{readyState:i,location:o}=n;"about:blank"===o.href&&t.hasAttribute("src")&&"about:blank"!==t.src?t.addEventListener("load",(()=>{e()})):"loading"!==i?e():n.addEventListener("DOMContentLoaded",(()=>e()))}))}class Te{constructor(t,e){this._config=e,this._frameObserver=new Ce(t,(t=>this.injectClient(t)),(()=>{}))}destroy(){this._frameObserver.disconnect()}async injectClient(t){if("__hypothesis"in t.contentWindow)return;await Ee(t);const{assetRoot:e,notebookAppUrl:n,sidebarAppUrl:i}=St(document),o=Math.random().toString().replace(/\D/g,""),r={...this._config,assetRoot:e,notebookAppUrl:n,sidebarAppUrl:i,subFrameIdentifier:o},{clientUrl:s}=this._config;!function(t,e,n){const i=document.createElement("script");i.className="js-hypothesis-config",i.type="application/json",i.innerText=JSON.stringify(n);const o=document.createElement("script");o.async=!0,o.src=e;const r=t.contentDocument;r.body.appendChild(i),r.body.appendChild(o)}(t,s,r)}}function Se(t,e,n){t.self===t?t.scrollTo(e,n):(t.scrollLeft=e,t.scrollTop=n)}function xe(t){var e=t._scrollSettings;if(e){var n=e.maxSynchronousAlignments,i=function(t,e){var n,i,o,r,s,a,l,c=t.align,h=t.target.getBoundingClientRect(),u=c&&null!=c.left?c.left:.5,d=c&&null!=c.top?c.top:.5,f=c&&null!=c.leftOffset?c.leftOffset:0,p=c&&null!=c.topOffset?c.topOffset:0,g=u,m=d;if(t.isWindow(e))a=Math.min(h.width,e.innerWidth),l=Math.min(h.height,e.innerHeight),i=h.left+e.pageXOffset-e.innerWidth*g+a*g,o=h.top+e.pageYOffset-e.innerHeight*m+l*m,i-=f,o-=p,i=t.align.lockX?e.pageXOffset:i,o=t.align.lockY?e.pageYOffset:o,r=i-e.pageXOffset,s=o-e.pageYOffset;else{a=h.width,l=h.height,n=e.getBoundingClientRect();var _=h.left-(n.left-e.scrollLeft),v=h.top-(n.top-e.scrollTop);i=_+a*g-e.clientWidth*g,o=v+l*m-e.clientHeight*m,i-=f,o-=p,i=Math.max(Math.min(i,e.scrollWidth-e.clientWidth),0),o=Math.max(Math.min(o,e.scrollHeight-e.clientHeight),0),i=t.align.lockX?e.scrollLeft:i,o=t.align.lockY?e.scrollTop:o,r=i-e.scrollLeft,s=o-e.scrollTop}return{x:i,y:o,differenceX:r,differenceY:s}}(e,t),o=Date.now()-e.startTime,r=Math.min(1/e.time*o,1);if(e.endIterations>=n)return Se(t,i.x,i.y),t._scrollSettings=null,e.end("complete");var s=1-e.ease(r);if(Se(t,i.x-i.differenceX*s,i.y-i.differenceY*s),o>=e.time)return e.endIterations++,e.scrollAncestor&&xe(e.scrollAncestor),void xe(t);!function(t){if("requestAnimationFrame"in window)return window.requestAnimationFrame(t);setTimeout(t,16)}(xe.bind(null,t))}}function Ae(t){return t.self===t}function ke(t){return"pageXOffset"in t||(t.scrollHeight!==t.clientHeight||t.scrollWidth!==t.clientWidth)&&"hidden"!==getComputedStyle(t).overflow}function Le(){return!0}function Ne(t){if(t.assignedSlot)return Ne(t.assignedSlot);if(t.parentElement)return"BODY"===t.parentElement.tagName?t.parentElement.ownerDocument.defaultView||t.parentElement.ownerDocument.ownerWindow:t.parentElement;if(t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e.host}}var Re=function(t,e,n){if(t){"function"==typeof e&&(n=e,e=null),e||(e={}),e.time=isNaN(e.time)?1e3:e.time,e.ease=e.ease||function(t){return 1-Math.pow(1-t,t/2)},e.align=e.align||{};var i=Ne(t),o=1,r=e.validTarget||Le,s=e.isScrollable;e.debug&&(console.log("About to scroll to",t),i||console.error("Target did not have a parent, is it mounted in the DOM?"));for(var a=[];i;)if(e.debug&&console.log("Scrolling parent node",i),r(i,o)&&(s?s(i,ke):ke(i))&&(o++,a.push(i)),!(i=Ne(i))){l("complete");break}return a.reduce(((n,i,o)=>function(t,e,n,i,o){var r,s=!e._scrollSettings,a=e._scrollSettings,l=Date.now(),c={passive:!0};function h(t){e._scrollSettings=null,e.parentElement&&e.parentElement._scrollSettings&&e.parentElement._scrollSettings.end(t),n.debug&&console.log("Scrolling ended with type",t,"for",e),o(t),r&&(e.removeEventListener("touchstart",r,c),e.removeEventListener("wheel",r,c))}a&&a.end("canceled");var u=n.maxSynchronousAlignments;return null==u&&(u=3),e._scrollSettings={startTime:l,endIterations:0,target:t,time:n.time,ease:n.ease,align:n.align,isWindow:n.isWindow||Ae,maxSynchronousAlignments:u,end:h,scrollAncestor:i},"cancellable"in n&&!n.cancellable||(r=h.bind(null,"canceled"),e.addEventListener("touchstart",r,c),e.addEventListener("wheel",r,c)),s&&xe(e),r}(t,i,e,a[o+1],l)),null)}function l(t){--o||n&&n(t)}},Me={};function Oe(t){return t.split("").reverse().join("")}function Pe(t){return(t|-t)>>31&1}function Ie(t,e,n,i){var o=t.P[n],r=t.M[n],s=i>>>31,a=e[n]|s,l=a|r,c=(a&o)+o^o|a,h=r|~(c|o),u=o&c,d=Pe(h&t.lastRowMask[n])-Pe(u&t.lastRowMask[n]);return h<<=1,u<<=1,o=(u|=s)|~(l|(h|=Pe(i)-s)),r=h&l,t.P[n]=o,t.M[n]=r,d}function De(t,e,n){if(0===e.length)return[];n=Math.min(n,e.length);var i=[],o=32,r=Math.ceil(e.length/o)-1,s={P:new Uint32Array(r+1),M:new Uint32Array(r+1),lastRowMask:new Uint32Array(r+1)};s.lastRowMask.fill(1<<31),s.lastRowMask[r]=1<<(e.length-1)%o;for(var a=new Uint32Array(r+1),l=new Map,c=[],h=0;h<256;h++)c.push(a);for(var u=0;u<e.length;u+=1){var d=e.charCodeAt(u);if(!l.has(d)){var f=new Uint32Array(r+1);l.set(d,f),d<c.length&&(c[d]=f);for(var p=0;p<=r;p+=1){f[p]=0;for(var g=0;g<o;g+=1){var m=p*o+g;if(!(m>=e.length))e.charCodeAt(m)===d&&(f[p]|=1<<g)}}}}var _=Math.max(0,Math.ceil(n/o)-1),v=new Uint32Array(r+1);for(p=0;p<=_;p+=1)v[p]=(p+1)*o;v[r]=e.length;for(p=0;p<=_;p+=1)s.P[p]=-1,s.M[p]=0;for(var y=0;y<t.length;y+=1){var w=t.charCodeAt(y);f=void 0;w<c.length?f=c[w]:void 0===(f=l.get(w))&&(f=a);var b=0;for(p=0;p<=_;p+=1)b=Ie(s,f,p,b),v[p]+=b;if(v[_]-b<=n&&_<r&&(1&f[_+1]||b<0)){_+=1,s.P[_]=-1,s.M[_]=0;var C=_===r?e.length%o:o;v[_]=v[_-1]+C-b+Ie(s,f,_,b)}else for(;_>0&&v[_]>=n+o;)_-=1;_===r&&v[_]<=n&&(v[_]<n&&i.splice(0,i.length),i.push({start:-1,end:y+1,errors:v[_]}),n=v[_])}return i}Object.defineProperty(Me,"__esModule",{value:!0});var Ve=Me.default=function(t,e,n){return function(t,e,n){var i=Oe(e);return n.map((function(n){var o=Math.max(0,n.end-e.length-n.errors);return{start:De(Oe(t.slice(o,n.end)),i,n.errors).reduce((function(t,e){return n.end-e.end<t?n.end-e.end:t}),n.end),end:n.end,errors:n.errors}}))}(t,e,De(t,e,n))};function He(t,e,n){let i=0,o=[];for(;-1!==i;)i=t.indexOf(e,i),-1!==i&&(o.push({start:i,end:i+e.length,errors:0}),i+=1);return o.length>0?o:Ve(t,e,n)}function Be(t,e){if(0===e.length||0===t.length)return 0;return 1-He(t,e,e.length)[0].errors/e.length}function Fe(t,e,n={}){if(0===e.length)return null;const i=Math.min(256,e.length/2),o=He(t,e,i);if(0===o.length)return null;const r=i=>{const o=1-i.errors/e.length,r=n.prefix?Be(t.slice(Math.max(0,i.start-n.prefix.length),i.start),n.prefix):1,s=n.suffix?Be(t.slice(i.end,i.end+n.suffix.length),n.suffix):1;let a=1;if("number"==typeof n.hint){a=1-Math.abs(i.start-n.hint)/t.length}return(50*o+20*r+20*s+2*a)/92},s=o.map((t=>({start:t.start,end:t.end,score:r(t)})));return s.sort(((t,e)=>e.score-t.score)),s[0]}function Ue(t){const e=function(t){const e=t.nodeName.toLowerCase();let n=e;return"#text"===e&&(n="text()"),n}(t),n=function(t){let e=0,n=t;for(;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e}(t);return`${e}[${n}]`}function qe(t,e){let n="",i=t;for(;i!==e;){if(!i)throw new Error("Node is not a descendant of root");n=Ue(i)+"/"+n,i=i.parentNode}return n="/"+n,n=n.replace(/\/$/,""),n}function We(t,e,n){e=e.toUpperCase();let i=-1;for(let o=0;o<t.children.length;o++){const r=t.children[o];if(r.nodeName.toUpperCase()===e&&(++i,i===n))return r}return null}function je(t,e=document.body){try{return function(t,e){if(null===t.match(/^(\/[A-Za-z0-9-]+(\[[0-9]+\])?)+$/))throw new Error("Expression is not a simple XPath");const n=t.split("/");let i=e;n.shift();for(let t of n){let e,n;const o=t.indexOf("[");if(-1!==o){e=t.slice(0,o);const i=t.slice(o+1,t.indexOf("]"));if(n=parseInt(i)-1,n<0)return null}else e=t,n=0;const r=We(i,e,n);if(!r)return null;i=r}return i}(t,e)}catch(n){return document.evaluate("."+t,e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}}class $e{constructor(t,e){this.root=t,this.range=e}static fromRange(t,e){return new $e(t,e)}static fromSelector(t,e){const n=je(e.startContainer,t);if(!n)throw new Error("Failed to resolve startContainer XPath");const i=je(e.endContainer,t);if(!i)throw new Error("Failed to resolve endContainer XPath");const o=Gt.fromCharOffset(n,e.startOffset),r=Gt.fromCharOffset(i,e.endOffset),s=new Zt(o,r).toRange();return new $e(t,s)}toRange(){return this.range}toSelector(){const t=Zt.fromRange(this.range).toRange(),e=Zt.fromRange(t),n=qe(e.start.element,this.root),i=qe(e.end.element,this.root);return{type:"RangeSelector",startContainer:n,startOffset:e.start.offset,endContainer:i,endOffset:e.end.offset}}}class ze{constructor(t,e,n){this.root=t,this.start=e,this.end=n}static fromRange(t,e){const n=Zt.fromRange(e).relativeTo(t);return new ze(t,n.start.offset,n.end.offset)}static fromSelector(t,e){return new ze(t,e.start,e.end)}toSelector(){return{type:"TextPositionSelector",start:this.start,end:this.end}}toRange(){return Zt.fromOffsets(this.root,this.start,this.end).toRange()}}class Xe{constructor(t,e,n={}){this.root=t,this.exact=e,this.context=n}static fromRange(t,e){const n=t.textContent,i=Zt.fromRange(e).relativeTo(t),o=i.start.offset,r=i.end.offset;return new Xe(t,n.slice(o,r),{prefix:n.slice(Math.max(0,o-32),o),suffix:n.slice(r,Math.min(n.length,r+32))})}static fromSelector(t,e){const{prefix:n,suffix:i}=e;return new Xe(t,e.exact,{prefix:n,suffix:i})}toSelector(){return{type:"TextQuoteSelector",exact:this.exact,prefix:this.context.prefix,suffix:this.context.suffix}}toRange(t={}){return this.toPositionAnchor(t).toRange()}toPositionAnchor(t={}){const e=Fe(this.root.textContent,this.exact,{...this.context,hint:t.hint});if(!e)throw new Error("Quote not found");return new ze(this.root,e.start,e.end)}}async function Ye(t,e={}){return t.toRange(e)}function Ge(t,e,n={}){let i=null,o=null,r=null;for(let t of e)switch(t.type){case"TextPositionSelector":i=t,n.hint=i.start;break;case"TextQuoteSelector":o=t;break;case"RangeSelector":r=t}const s=t=>{var e;if(null!==(e=o)&&void 0!==e&&e.exact&&t.toString()!==o.exact)throw new Error("quote mismatch");return t};let a=Promise.reject("unable to anchor");return r&&(a=a.catch((()=>Ye($e.fromSelector(t,r),n).then(s)))),i&&(a=a.catch((()=>Ye(ze.fromSelector(t,i),n).then(s)))),o&&(a=a.catch((()=>Ye(Xe.fromSelector(t,o),n)))),a}function Ze(t,e){const n=[$e,ze,Xe],i=[];for(let o of n)try{const n=o.fromRange(t,e);i.push(n.toSelector())}catch(t){continue}return i}function Ke(t,e=document.baseURI){return new URL(t,e).href.toString().replace(/#.*/,"")}class Je{constructor(t={}){this.document=t.document||document}uri(){let t=decodeURIComponent(this._getDocumentHref());const e=this._getLinks();for(let n of e)"canonical"===n.rel&&(t=n.href);return t}getDocumentMetadata(){const t={title:document.title,link:[],dc:this._getMetaTags("dc","name","."),eprints:this._getMetaTags("eprints","name","."),facebook:this._getMetaTags("og","property",":"),highwire:this._getMetaTags("citation","name","_"),prism:this._getMetaTags("prism","name","."),twitter:this._getMetaTags("twitter","name",":")},e=this._getFavicon();e&&(t.favicon=e),t.title=this._getTitle(t),t.link=this._getLinks(t);const n=t.link.find((t=>t.href.startsWith("urn:x-dc")));return n&&(t.documentFingerprint=n.href),t}_getMetaTags(t,e,n){const i={};for(let o of Array.from(this.document.querySelectorAll("meta"))){const r=o.getAttribute(e),{content:s}=o;if(r){const e=r.match(RegExp(`^${t}${n}(.+)$`,"i"));if(e){const t=e[1];i[t]?i[t].push(s):i[t]=[s]}}}return i}_getTitle(t){return t.highwire.title?t.highwire.title[0]:t.eprints.title?t.eprints.title[0]:t.prism.title?t.prism.title[0]:t.facebook.title?t.facebook.title[0]:t.twitter.title?t.twitter.title[0]:t.dc.title?t.dc.title[0]:this.document.title}_getLinks(t={dc:{},highwire:{}}){const e=[{href:this._getDocumentHref()}],n=Array.from(this.document.querySelectorAll("link"));for(let t of n)if(["alternate","canonical","bookmark","shortlink"].includes(t.rel)){if("alternate"===t.rel){if(t.type&&t.type.match(/^application\/(rss|atom)\+xml/))continue;if(t.hreflang)continue}try{const n=this._absoluteUrl(t.href);e.push({href:n,rel:t.rel,type:t.type})}catch(t){}}for(let n of Object.keys(t.highwire)){const i=t.highwire[n];if("pdf_url"===n)for(let t of i)try{e.push({href:this._absoluteUrl(t),type:"application/pdf"})}catch(t){}if("doi"===n)for(let t of i)"doi:"!==t.slice(0,4)&&(t=`doi:${t}`),e.push({href:t})}for(let n of Object.keys(t.dc)){const i=t.dc[n];if("identifier"===n)for(let t of i)"doi:"===t.slice(0,4)&&e.push({href:t})}const i=t.dc["relation.ispartof"],o=t.dc.identifier;if(i&&o){const t=i[i.length-1],n=o[o.length-1],r="urn:x-dc:"+encodeURIComponent(t)+"/"+encodeURIComponent(n);e.push({href:r})}return e}_getFavicon(){let t=null;for(let e of Array.from(this.document.querySelectorAll("link")))if(["shortcut icon","icon"].includes(e.rel))try{t=this._absoluteUrl(e.href)}catch(t){}return t}_absoluteUrl(t){return Ke(t,this.document.baseURI)}_getDocumentHref(){const{href:t}=this.document.location,e=["http:","https:","file:"],n=new URL(t).protocol;return e.includes(n)?t:this.document.baseURI&&e.includes(new URL(this.document.baseURI).protocol)?this.document.baseURI:t}}class Qe{constructor(t=document.body){this.container=t,this.anchor=Ge,this.describe=Ze,this._htmlMeta=new Je}canAnnotate(){return!0}destroy(){}contentContainer(){return this.container}fitSideBySide(){return!1}async getMetadata(){return this._htmlMeta.getDocumentMetadata()}async uri(){return this._htmlMeta.uri()}scrollToAnchor(t){const e=t.highlights;return new Promise((t=>{Re(e[0],t)}))}}let tn={};function en(...t){const e=t.join();e in tn||(console.warn(...t),tn[e]=!0)}en.reset=()=>{tn={}};const nn=0,on=3,rn=new Map,sn=new Map;function an(t,e){return`${t}:${e}`}function ln(t){var e;const n="closest"in t?t:t.parentElement;return null!==(e=null==n?void 0:n.closest(".textLayer"))&&void 0!==e?e:null}function cn(){return PDFViewerApplication.pdfViewer}async function hn(t){const e=cn();let n=e.getPageView(t);return n&&n.pdfPage||(n=await new Promise((n=>{const i=()=>{e.eventBus?e.eventBus.off("pagesloaded",i):document.removeEventListener("pagesloaded",i),n(e.getPageView(t))};e.eventBus?e.eventBus.on("pagesloaded",i):document.addEventListener("pagesloaded",i)}))),n}function un(t){const e=rn.get(t);if(e)return e;const n=(async()=>{const e=await hn(t);let n=(await e.pdfPage.getTextContent({normalizeWhitespace:!0})).items;return n.length>0&&!("hasEOL"in n[0])&&(n=n.filter((t=>/\S/.test(t.str)))),n.map((t=>t.str)).join("")})();return rn.set(t,n),n}async function dn(t){const e=cn();let n=0,i=0,o="";for(let r=0;r<e.pagesCount;r++)if(o=await un(r),n=i,i+=o.length,i>=t)return{index:r,offset:n,text:o};return{index:e.pagesCount-1,offset:n,text:o}}async function fn(t,e,n){const[i,o]=await Promise.all([hn(t),un(t)]);if(i.renderingState===on&&i.textLayer&&i.textLayer.renderingDone){const t=i.textLayer.textLayerDiv;o!==t.textContent&&en("PDF text layer content does not match page text. This will cause anchoring misalignment.");const r=new Gt(t,e),s=new Gt(t,n);return new Zt(r,s).toRange()}const r=function(t){let e=t.querySelector(".annotator-placeholder");return e||(e=document.createElement("span"),e.classList.add("annotator-placeholder"),e.textContent="Loading annotations...",t.appendChild(e),e)}(i.div),s=document.createRange();return s.setStartBefore(r),s.setEndAfter(r),s}function pn(t){const e=[];let n="";for(let i=0;i<t.length;i++){const o=t[i];" "!==o&&"\t"!==o&&"\n"!==o&&(n+=o,e.push(i))}return[n,e]}async function gn(t,e){const n=e.find((t=>"TextQuoteSelector"===t.type));if(!n)throw new Error("No quote selector found");const i=e.find((t=>"TextPositionSelector"===t.type));if(i){try{const{index:t,offset:e,text:o}=await dn(i.start),r=i.start-e,s=i.end-e,a=o.substring(r,s);if(n.exact!==a)throw new Error("quote mismatch");return await fn(t,r,s)}catch{}try{const t=an(n.exact,i.start),e=sn.get(t);if(e){const{pageIndex:t,anchor:n}=e;return await fn(t,n.start,n.end)}}catch{}}return async function(t,e){const n=cn().pagesCount,i=Array(n).fill(0).map(((t,e)=>e));let o,r;if(e){const{index:t,offset:n}=await dn(e);o=t,r=e-n,i.sort(((e,n)=>Math.abs(e-t)-Math.abs(n-t)))}const[s]=void 0!==t.prefix?pn(t.prefix):[],[a]=void 0!==t.suffix?pn(t.suffix):[],[l]=pn(t.exact);let c;for(let t of i){const e=await un(t),[n,i]=pn(e);let h;if(void 0!==o&&void 0!==r){let n;for(n=t<o?e.length:t===o?r:0,h=0;h<i.length&&i[h]<n;)++h}const u=Fe(n,l,{prefix:s,suffix:a,hint:h});if(u&&(!c||u.score>c.match.score)){c={page:t,match:{start:i[u.start],end:i[u.end-1]+1,score:u.score}};const e=n.slice(u.start,u.end)===l,o=void 0!==s&&n.slice(Math.max(0,u.start-s.length),u.start)===s,r=void 0!==a&&n.slice(u.end,a.length)===a,h=void 0!==s||void 0!==a;if(e&&(o||r||!h))break}}if(c){const{page:n,match:i}=c;if(e){const o=an(t.exact,e);sn.set(o,{pageIndex:n,anchor:i})}return fn(n,i.start,i.end)}throw new Error("Quote not found")}(n,null==i?void 0:i.start)}function mn(t){try{t=Zt.fromRange(t).toRange()}catch{throw new Error("Selection does not contain text")}const e=ln(t.startContainer),n=ln(t.endContainer);if(!e||!n)throw new Error("Selection is outside page text");if(e!==n)throw new Error("Selecting across page breaks is not supported");return[t,e]}async function _n(t,e){const[n,i]=mn(e),o=Gt.fromPoint(n.startContainer,n.startOffset).relativeTo(i),r=Gt.fromPoint(n.endContainer,n.endOffset).relativeTo(i),s=function(t){let e=0;for(;t.previousSibling;)++e,t=t.previousSibling;return e}(i.parentNode),a=await async function(t){if(t>=cn().pagesCount)throw new Error("Invalid page index");let e=0;for(let n=0;n<t;n++)e+=(await un(n)).length;return e}(s);return[{type:"TextPositionSelector",start:a+o.offset,end:a+r.offset},Xe.fromRange(t,n).toSelector()]}function vn(){return gt("div",{className:"WarningBanner WarningBanner--notice",children:[gt("div",{className:"WarningBanner__type",children:gt(_t,{name:"caution",className:"WarningBanner__icon"})}),gt("div",{className:"WarningBanner__message",children:[gt("strong",{children:"This PDF does not contain selectable text:"})," ",gt("a",{target:"_blank",rel:"noreferrer",href:"https://web.hypothes.is/help/how-to-ocr-optimize-pdfs/",children:"Learn how to fix this"})," ","in order to annotate with Hypothesis."]})]})}function yn(t,e,n){return t+n*(e-t)}async function wn(t,e,{maxDuration:n=500}={}){const i=t.scrollTop,o=e,r=Date.now(),s=Math.min(Math.abs(o-i)/3,n);let a=0;for(;a<1;)await new Promise((t=>{requestAnimationFrame(t)})),a=Math.min(1,(Date.now()-r)/s),t.scrollTop=yn(i,o,a)}class bn{constructor(t){this._loaded=function(t){return t.initializedPromise?t.initializedPromise:t.initialized?Promise.resolve():new Promise((e=>{const n=setInterval((()=>{t.initialized&&(clearTimeout(n),e())}),5)}))}(t).then((()=>t.downloadComplete?t:new Promise((e=>{const n=()=>{t.eventBus?(t.eventBus.off("documentload",n),t.eventBus.off("documentloaded",n)):window.removeEventListener("documentload",n),e(t)};t.eventBus?(t.eventBus.on("documentloaded",n),t.eventBus.on("documentload",n)):window.addEventListener("documentload",n)}))))}getUri(){return this._loaded.then((t=>{let e=Tn(t);return e||(e=En(Cn(t))),e}))}async getMetadata(){const t=await this._loaded,{info:e,contentDispositionFilename:n,metadata:i}=await t.pdfDocument.getMetadata(),o=Cn(t),r=Tn(t);let s;s=null!=i&&i.has("dc:title")&&"Untitled"!==i.get("dc:title")?i.get("dc:title"):null!=e&&e.Title?e.Title:n||(r?function(t){const e=new URL(t).pathname.split("/");return e[e.length-1]}(r):"");const a=[{href:En(o)}];return r&&a.push({href:r}),{title:s,link:a,documentFingerprint:o}}}function Cn(t){return Array.isArray(t.pdfDocument.fingerprints)?t.pdfDocument.fingerprints[0]:t.pdfDocument.fingerprint}function En(t){return`urn:x-pdf:${t}`}function Tn(t){if(!t.url)return null;const e=Ke(t.url);return 0!==e.indexOf("file://")?e:null}function Sn(t){var e;const n=null===(e=t.highlights)||void 0===e?void 0:e[0];return n&&Kt(n)}function xn(t){return new Promise((e=>setTimeout(e,t)))}class An{constructor(t,e={}){var n,i,o;this.annotator=t;const r=window,s=r.PDFViewerApplication;this.pdfViewer=s.pdfViewer,this.pdfViewer.viewer.classList.add("has-transparent-text-layer"),this.pdfContainer=null!==(n=null===(i=s.appConfig)||void 0===i?void 0:i.appContainer)&&void 0!==n?n:document.body,this.pdfMetadata=new bn(s),this.observer=new MutationObserver(be((()=>this._update()),100)),this.observer.observe(this.pdfViewer.viewer,{attributes:!0,attributeFilter:["data-loaded"],childList:!0,subtree:!0}),this._reanchoringMaxWait=null!==(o=e.reanchoringMaxWait)&&void 0!==o?o:3e3,this._warningBanner=null,this._checkForSelectableText(),this._updateAnnotationLayerVisibility=()=>{const t=r.getSelection();this.pdfViewer.viewer.classList.toggle("is-selecting",!t.isCollapsed)},this._listeners=new Mt,this._listeners.add(document,"selectionchange",this._updateAnnotationLayerVisibility),this._destroyed=!1}destroy(){var t;this._listeners.removeAll(),this.pdfViewer.viewer.classList.remove("has-transparent-text-layer"),this.observer.disconnect(),null===(t=this._warningBanner)||void 0===t||t.remove(),this._destroyed=!0}uri(){return this.pdfMetadata.getUri()}getMetadata(){return this.pdfMetadata.getMetadata()}anchor(t,e){return gn(0,e)}canAnnotate(t){return function(t){try{return mn(t),!0}catch{return!1}}(t)}describe(t,e){return _n(t,e)}async _checkForSelectableText(){try{await this.uri()}catch(t){return}if(!this._destroyed)try{const t=await async function(){const t=cn();let e=!1;for(let n=0;n<t.pagesCount;n++)if((await un(n)).trim().length>0){e=!0;break}return e}();this._toggleNoSelectableTextWarning(!t)}catch(t){console.warn("Unable to check for text in PDF:",t)}}_toggleNoSelectableTextWarning(t){const e=document.querySelector("#outerContainer");var n;if(!t)return null===(n=this._warningBanner)||void 0===n||n.remove(),this._warningBanner=null,void(e.style.height="");this._warningBanner=document.createElement("hypothesis-banner"),document.body.prepend(this._warningBanner);const i=Ut(this._warningBanner);M(gt(vn,{}),i);const o=this._warningBanner.getBoundingClientRect().height;e.style.height=`calc(100% - ${o}px)`}_update(){const t=[],e=this.pdfViewer.pagesCount;for(let t=0;t<e;t++){var n;const e=this.pdfViewer.getPageView(t);if(null!=e&&null!==(n=e.textLayer)&&void 0!==n&&n.renderingDone)switch(e.renderingState){case nn:e.textLayer=null;break;case on:i=e.div,o=void 0,null===(o=i.querySelector(".annotator-placeholder"))||void 0===o||o.remove()}}var i,o;for(let e of this.annotator.anchors)if(e.highlights){if(t.includes(e.annotation))continue;for(let n=0;n<e.highlights.length;n++){const i=e.highlights[n];if(!document.body.contains(i)){e.highlights.splice(n,1),delete e.range,t.push(e.annotation);break}}}t.map((t=>this.annotator.anchor(t)))}contentContainer(){return document.querySelector("#viewerContainer")}fitSideBySide(t){const e=window.innerWidth-t.width,n=t.expanded&&e>=680,i=n?t.width:t.toolbarWidth;this.pdfContainer.style.width=`calc(100% - ${i}px)`;const o=this.pdfViewer.currentScaleValue;return"auto"!==o&&"page-fit"!==o&&"page-width"!==o||(this.pdfViewer.currentScaleValue=o),this.pdfViewer.update(),n}async scrollToAnchor(t){const e=t.annotation,n=Sn(t),i=this._anchorOffset(t);if(null!==i&&(await wn(this.contentContainer(),i),n)){const t=await this._waitForAnnotationToBeAnchored(e,this._reanchoringMaxWait);if(!t)return;const n=this._anchorOffset(t);if(null===n)return;await wn(this.contentContainer(),n)}}async _waitForAnnotationToBeAnchored(t,e){var n;const i=Date.now();let o;do{o=this.annotator.anchors.find((e=>e.annotation===t)),o&&!Sn(o)||(o=null,await xn(20))}while(!o&&Date.now()-i<e);return null!==(n=o)&&void 0!==n?n:null}_anchorOffset(t){if(!t.highlights)return null;return function(t,e){let n=0;for(;t!==e&&e.contains(t);)n+=t.offsetTop,t=t.offsetParent;return n}(t.highlights[0],this.contentContainer())}}function kn(t=document){return t.querySelector("mosaic-book")}class Ln{constructor(t){const e=kn();if(!e)throw new Error("Book container element not found");const n=e.shadowRoot,i=()=>{const e=n.querySelector("iframe");e&&t.injectClient(e)};i(),this._frameObserver=new MutationObserver(i),this._frameObserver.observe(n,{childList:!0,subtree:!0})}destroy(){this._frameObserver.disconnect()}canAnnotate(){return!1}async anchor(){return new Range}describe(){throw new Error("This frame cannot be annotated")}contentContainer(){return document.body}fitSideBySide(){return!1}async getMetadata(){return{title:"",link:[]}}async uri(){return document.location.href}async scrollToAnchor(){}}class Nn{constructor(t=document.body){this._htmlIntegration=new Qe(t),this._listeners=new Mt;const e=["mousedown","mouseup","mouseout"];for(let t of e)this._listeners.add(document.documentElement,t,(t=>{t.stopPropagation()}))}canAnnotate(){return!0}destroy(){this._listeners.removeAll(),this._htmlIntegration.destroy()}anchor(t,e){return this._htmlIntegration.anchor(t,e)}describe(t,e){return this._htmlIntegration.describe(t,e)}contentContainer(){return this._htmlIntegration.contentContainer()}fitSideBySide(){return!1}async getMetadata(){return{title:document.title,link:[]}}async uri(){const t=new URL(document.location.href);return t.search="",t.toString()}async scrollToAnchor(t){return this._htmlIntegration.scrollToAnchor(t)}}function Rn(t){if("undefined"!=typeof PDFViewerApplication)return new An(t);const e=function(t=window){var e;if(kn(t.document))return"container";const n=null===(e=t.frameElement)||void 0===e?void 0:e.ownerDocument;return n&&kn(n)?"content":null}();return"container"===e?new Ln(t):"content"===e?new Nn:new Qe}class Mn{constructor(t,e=document){let n=!1;this._pendingCallback=null;const i=(n=10)=>{this._pendingCallback=setTimeout((()=>{t(function(t){const e=t.getSelection();if(!e||0===e.rangeCount)return null;const n=e.getRangeAt(0);return n.collapsed?null:n}(e))}),n)};this._eventHandler=t=>{if("mousedown"===t.type&&(n=!0),"mouseup"===t.type&&(n=!1),n)return;this._cancelPendingCallback();const e="mouseup"===t.type?10:100;i(e)},this._document=e,this._listeners=new Mt,this._events=["mousedown","mouseup","selectionchange"];for(let t of this._events)this._listeners.add(e,t,this._eventHandler);i(1)}disconnect(){this._listeners.removeAll(),this._cancelPendingCallback()}_cancelPendingCallback(){this._pendingCallback&&(clearTimeout(this._pendingCallback),this._pendingCallback=null)}}function On(){const t=function(t,e){const n=new Set,i=new Set;return te(t,(t=>{let o=t;for(;o&&!n.has(o);){n.add(o);const t=e(o);t&&i.add(t),o=o.parentNode}})),[...i]}(window.getSelection().getRangeAt(0),(t=>t._annotation));return t}function Pn(t){const e=function(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;const n=[];for(;e;)e.classList.contains("hypothesis-highlight")&&n.push(e),e=e.parentElement;return n}(t).map((t=>t._annotation)).filter((t=>void 0!==t));return e}function In(t){if(!t.range)return null;try{return t.range.toRange()}catch{return null}}class Dn{constructor(t,e,n={},i=window){this.element=t,this._emitter=e.createEmitter(),this._highlightsVisible=!1,this._isAdderVisible=!1,this._adder=new jt(this.element,{onAnnotate:async()=>{await this.createAnnotation(),document.getSelection().removeAllRanges()},onHighlight:async()=>{await this.createAnnotation({highlight:!0}),document.getSelection().removeAllRanges()},onShowAnnotations:t=>{this.selectAnnotations(t)}}),this._selectionObserver=new Mn((t=>{t?this._onSelection(t):this._onClearSelection()})),this.anchors=[],this._frameIdentifier=n.subFrameIdentifier||null,this._bridge=new Pt,this._connectSidebarEvents(),this._annotationSync=new $t(e,this._bridge),this._connectAnnotationSync(),this._hypothesisInjector=new Te(this.element,n),this._integration=Rn(this),this._sideBySideActive=!1,this._listeners=new Mt,this._setupElementEvents(),this._focusedAnnotations=new Set,this._hostFrame=i,this._listeners.add(window,"unload",(()=>this._notifyGuestUnload()))}_setupElementEvents(){const t=t=>{this._sideBySideActive||Pn(t).length||this._bridge.call("closeSidebar")};this._listeners.add(this.element,"mouseup",(t=>{const{target:e,metaKey:n,ctrlKey:i}=t,o=Pn(e);if(o.length&&this._highlightsVisible){const t=n||i;this.selectAnnotations(o,t)}})),this._listeners.add(this.element,"mousedown",(({target:e})=>{t(e)})),this._listeners.add(this.element,"touchstart",(({target:e})=>{t(e)})),this._listeners.add(this.element,"mouseover",(({target:t})=>{const e=Pn(t);e.length&&this._highlightsVisible&&this._focusAnnotations(e)})),this._listeners.add(this.element,"mouseout",(()=>{this._highlightsVisible&&this._focusAnnotations([])})),this._listeners.add(window,"resize",(()=>this._repositionAdder()))}async injectClient(t){return this._hypothesisInjector.injectClient(t)}async getDocumentInfo(){const[t,e]=await Promise.all([this._integration.uri(),this._integration.getMetadata()]);return{uri:Ke(t),metadata:e,frameIdentifier:this._frameIdentifier}}_repositionAdder(){var t;if(!1===this._isAdderVisible)return;const e=null===(t=window.getSelection())||void 0===t?void 0:t.getRangeAt(0);e&&this._onSelection(e)}_connectAnnotationSync(){this._emitter.subscribe("annotationDeleted",(t=>{this.detach(t)})),this._emitter.subscribe("annotationsLoaded",(t=>{t.map((t=>this.anchor(t)))}))}_connectSidebarEvents(){this._bridge.on("focusAnnotations",((t=[])=>{this._focusedAnnotations.clear(),t.forEach((t=>this._focusedAnnotations.add(t)));for(let e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);re(e.highlights,n)}})),this._bridge.on("scrollToAnnotation",(t=>{const e=this.anchors.find((e=>e.annotation.$tag===t));if(null==e||!e.highlights)return;const n=In(e);if(!n)return;const i=new CustomEvent("scrolltorange",{bubbles:!0,cancelable:!0,detail:n});this.element.dispatchEvent(i)&&this._integration.scrollToAnchor(e)})),this._bridge.on("getDocumentInfo",(t=>{this.getDocumentInfo().then((e=>t(null,e))).catch((e=>t(e)))})),this._bridge.on("setHighlightsVisible",(t=>{this.setHighlightsVisible(t)}))}destroy(){this._notifyGuestUnload(),this._hypothesisInjector.destroy(),this._listeners.removeAll(),this._selectionObserver.disconnect(),this._adder.destroy(),function(t){oe(Array.from(t.querySelectorAll("hypothesis-highlight")))}(this.element),this._integration.destroy(),this._emitter.destroy(),this._annotationSync.destroy(),this._bridge.destroy()}_notifyGuestUnload(){const t={type:"hypothesisGuestUnloaded",frameIdentifier:this._frameIdentifier};this._hostFrame.postMessage(t,"*")}connectToSidebar(t,e){const n=new MessageChannel;t.postMessage({type:"hypothesisGuestReady"},e,[n.port2]),this._bridge.createChannel(n.port1)}async anchor(t){const e=t=>{const e=In(t);if(!e)return;const n=ne(e);n.forEach((e=>{e._annotation=t.annotation})),t.highlights=n,this._focusedAnnotations.has(t.annotation.$tag)&&re(n,!0)};this.detach(t,!1),t.target||(t.target=[]);const n=await Promise.all(t.target.map((async e=>{if(!e.selector||!e.selector.some((t=>"TextQuoteSelector"===t.type)))return{annotation:t,target:e};let n;try{const i=await this._integration.anchor(this.element,e.selector),o=Zt.fromRange(i);n={annotation:t,target:e,range:o}}catch(i){n={annotation:t,target:e}}return n})));for(let t of n)e(t);return t.$orphan=n.length>0&&n.every((t=>t.target.selector&&!t.range)),this._updateAnchors(this.anchors.concat(n),!0),this._annotationSync.sync([t]),n}detach(t,e=!0){const n=[];for(let e of this.anchors)e.annotation!==t?n.push(e):e.highlights&&oe(e.highlights);this._updateAnchors(n,e)}_updateAnchors(t,e){this.anchors=t,e&&this._emitter.publish("anchorsChanged",this.anchors)}async createAnnotation({highlight:t=!1}={}){var e;const n=null!==(e=this.selectedRanges)&&void 0!==e?e:[];this.selectedRanges=null;const i=await this.getDocumentInfo(),o=this.element,r=(await Promise.all(n.map((t=>this._integration.describe(o,t))))).map((t=>({source:i.uri,selector:t}))),s={uri:i.uri,document:i.metadata,target:r,$highlight:t,$tag:""};return this._emitter.publish("beforeAnnotationCreated",s),this.anchor(s),s}_focusAnnotations(t){const e=t.map((t=>t.$tag));this._bridge.call("focusAnnotations",e)}_onSelection(t){if(!this._integration.canAnnotate(t))return void this._onClearSelection();const e=document.getSelection(),n=Jt(e),i=ee(e);i?(this.selectedRanges=[t],this._emitter.publish("hasSelectionChanged",!0),this._adder.annotationsForSelection=On(),this._isAdderVisible=!0,this._adder.show(i,n)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],this._emitter.publish("hasSelectionChanged",!1)}selectAnnotations(t,e=!1){const n=t.map((t=>t.$tag));e?this._bridge.call("toggleAnnotationSelection",n):this._bridge.call("showAnnotations",n),this._bridge.call("openSidebar")}scrollToAnchor(t){return this._integration.scrollToAnchor(t)}setHighlightsVisible(t){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t}contentContainer(){return this._integration.contentContainer()}fitSideBySide(t){this._sideBySideActive=this._integration.fitSideBySide(t)}get sideBySideActive(){return this._sideBySideActive}get focusedAnnotationTags(){return this._focusedAnnotations}}function Vn(t){var e;const n={...t};if((null===(e=n.services)||void 0===e?void 0:e.length)>0){const t=n.services[0];t.onLoginRequest&&(t.onLoginRequestProvided=!0),t.onLogoutRequest&&(t.onLogoutRequestProvided=!0),t.onSignupRequest&&(t.onSignupRequestProvided=!0),t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return["notebookAppUrl","sidebarAppUrl"].forEach((t=>delete n[t])),n}function Hn({config:t,groupId:e}){const n=Vn(t);n.group=e;const i=encodeURIComponent(JSON.stringify(n));return gt("iframe",{title:"Hypothesis annotation notebook",className:"NotebookIframe",allowFullScreen:!0,src:`${t.notebookAppUrl}#config=${i}`})}function Bn({eventBus:t,config:e}){const[n,i]=rt(0),[o,r]=rt(!0),[s,a]=rt(null),l=at(""),c=at(null);st((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),st((()=>{document.body.style.overflow=o?l.current:"hidden"}),[o]),st((()=>{const e=t.createEmitter();return e.subscribe("openNotebook",(t=>{r(!1),i((t=>t+1)),a(t)})),c.current=e,()=>{e.destroy()}}),[t]);return null===s?null:gt("div",{className:Z("NotebookModal__outer",{"is-hidden":o}),children:gt("div",{className:"NotebookModal__inner",children:[gt("div",{className:"NotebookModal__close-button-container",children:gt(bt,{icon:"cancel",title:"Close the Notebook",onClick:()=>{var t;r(!0),null===(t=c.current)||void 0===t||t.publish("closeNotebook")},variant:"dark"})}),gt(Hn,{config:e,groupId:s},n)]})})}class Fn{constructor(t,e,n={}){this._outerContainer=document.createElement("hypothesis-notebook"),t.appendChild(this._outerContainer),this.shadowRoot=Ut(this._outerContainer),M(gt(Bn,{eventBus:e,config:n}),this.shadowRoot)}destroy(){M(null,this.shadowRoot),this._outerContainer.remove()}}var Un={exports:{}};
|
|
6
|
+
*/$=z,function(){var t={}.hasOwnProperty;function e(){for(var n=[],i=0;i<arguments.length;i++){var o=arguments[i];if(o){var r=typeof o;if("string"===r||"number"===r)n.push(o);else if(Array.isArray(o)){if(o.length){var s=e.apply(null,o);s&&n.push(s)}}else if("object"===r)if(o.toString===Object.prototype.toString)for(var a in o)t.call(o,a)&&o[a]&&n.push(a);else n.push(o.toString())}}return n.join(" ")}$.exports?(e.default=e,$.exports=e):window.classNames=e}();var X,Y,G,Z=z.exports,K=0,J=[],Q=n.__b,tt=n.__r,et=n.diffed,nt=n.__c,it=n.unmount;function ot(t,e){n.__h&&n.__h(Y,t,K||e),K=0;var i=Y.__H||(Y.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function rt(t){return K=1,function(t,e,n){var i=ot(X++,2);return i.t=t,i.__c||(i.__=[n?n(e):ft(void 0,e),function(t){var e=i.t(i.__[0],t);i.__[0]!==e&&(i.__=[e,i.__[1]],i.__c.setState({}))}],i.__c=Y),i.__}(ft,t)}function st(t,e){var i=ot(X++,3);!n.__s&&dt(i.__H,e)&&(i.__=t,i.__H=e,Y.__H.__h.push(i))}function at(t){return K=5,function(t,e){var n=ot(X++,7);return dt(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}((function(){return{current:t}}),[])}function lt(){J.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(ht),t.__H.__h.forEach(ut),t.__H.__h=[]}catch(e){t.__H.__h=[],n.__e(e,t.__v)}})),J=[]}n.__b=function(t){Y=null,Q&&Q(t)},n.__r=function(t){tt&&tt(t),X=0;var e=(Y=t.__c).__H;e&&(e.__h.forEach(ht),e.__h.forEach(ut),e.__h=[])},n.diffed=function(t){et&&et(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(1!==J.push(e)&&G===n.requestAnimationFrame||((G=n.requestAnimationFrame)||function(t){var e,n=function(){clearTimeout(i),ct&&cancelAnimationFrame(e),setTimeout(t)},i=setTimeout(n,100);ct&&(e=requestAnimationFrame(n))})(lt)),Y=null},n.__c=function(t,e){e.some((function(t){try{t.__h.forEach(ht),t.__h=t.__h.filter((function(t){return!t.__||ut(t)}))}catch(i){e.some((function(t){t.__h&&(t.__h=[])})),e=[],n.__e(i,t.__v)}})),nt&&nt(t,e)},n.unmount=function(t){it&&it(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ht)}catch(t){n.__e(t,e.__v)}};var ct="function"==typeof requestAnimationFrame;function ht(t){var e=Y;"function"==typeof t.__c&&t.__c(),Y=e}function ut(t){var e=Y;t.__c=t.__(),Y=e}function dt(t,e){return!t||t.length!==e.length||e.some((function(e,n){return e!==t[n]}))}function ft(t,e){return"function"==typeof e?e(t):e}var pt=0;function gt(t,e,i,o,r){var s,a,l={};for(a in e)"ref"==a?s=e[a]:l[a]=e[a];var c={type:t,props:l,key:i,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--pt,__source:o,__self:r};if("function"==typeof t&&(s=t.defaultProps))for(a in s)void 0===l[a]&&(l[a]=s[a]);return n.vnode&&n.vnode(c),c}const mt=new Map;function _t({name:t,className:e="",inline:i=!1,title:o=""}){const r=mt.get(t);if(!r)throw new Error(`Icon "${t.toString()}" is not registered`);const s=at();!function(t,e){var i=ot(X++,4);!n.__s&&dt(i.__H,e)&&(i.__=t,i.__H=e,Y.__h.push(i))}((()=>{const t=s.current.querySelector("svg");t&&t.setAttribute("class",e)}),[e,r]);const a={};return o&&(a.title=o),gt("span",{className:Z("Hyp-SvgIcon",{"Hyp-SvgIcon--inline":i}),dangerouslySetInnerHTML:{__html:r},ref:s,...a},void 0,!1,{fileName:"/home/runner/work/frontend-shared/frontend-shared/src/components/SvgIcon.js",lineNumber:69,columnNumber:5})}function vt(t,e){const n="string"==typeof t?Symbol(t):t;return mt.set(n,e),n}var yt="/home/runner/work/frontend-shared/frontend-shared/src/components/buttons.js";function wt({buttonRef:t,classes:e,className:n,icon:i,iconPosition:o="left",size:r="medium",variant:s="normal",expanded:a,pressed:l,type:c="button",...h}){var u;const d=null!==(u=null==h?void 0:h.role)&&void 0!==u?u:"button",f={"aria-label":h.title};return"tab"===d?f["aria-selected"]=l:(f["aria-pressed"]=l,f["aria-expanded"]=a),gt("button",{ref:t,className:Z(n,`${n}--${r}`,`${n}--${s}`,{[`${n}--icon-${o}`]:i},e),type:c,...f,...h},void 0,!1,{fileName:yt,lineNumber:82,columnNumber:5})}function bt({className:t="Hyp-IconButton",...e}){const{icon:n}=e;return gt(wt,{className:t,...e,children:gt(_t,{name:n},void 0,!1,{fileName:yt,lineNumber:109,columnNumber:7})},void 0,!1,{fileName:yt,lineNumber:108,columnNumber:5})}vt("checkbox",' <svg\n width="32"\n height="32"\n viewBox="-4 -4 39 39"\n aria-hidden="true"\n focusable="false"\n >\n <rect\n class="hyp-svg-checkbox--background"\n width="35"\n height="35"\n x="-2"\n y="-2"\n stroke="currentColor"\n fill="none"\n stroke-width="3"\n rx="5"\n ry="5"\n />\n <polyline\n class="hyp-svg-checkbox--checkmark"\n points="4,14 12,23 28,5"\n stroke="transparent"\n stroke-width="5"\n fill="none"\n />\n</svg>');var Ct='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n';vt("cancel",Ct),vt("cancel",Ct);vt("spinner",'<svg viewBox="0 0 64 64">\n <g stroke-width="6" stroke="currentColor" stroke-linecap="round">\n <line y1="16" y2="28" transform="translate(32,32) rotate(180)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(225)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".15;0;1;.8;.65;.45;.3;.15" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(270)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".3;.15;0;1;.8;.65;.45;.3" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(315)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".45;.3;.15;0;1;.85;.65;.45" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(0)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".65;.45;.3;.15;0;1;.8;.65;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(45)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".8;.65;.45;.3;.15;0;1;.8" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(90)">\n <animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.6;.45;.3;.15;0;1;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(135)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n </g>\n</svg>');var Et={annotate:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="currentColor" fill-rule="nonzero" d="M15 0c.27 0 .505.099.703.297A.961.961 0 0116 1v15l-4-3H1a.974.974 0 01-.703-.29A.953.953 0 010 12V1C0 .719.096.482.29.29A.966.966 0 011 0h14zM7 3l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C4.156 5.229 4 6 4 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188C4.729 8.854 5.082 9 5.5 9c.417 0 .77-.146 1.063-.438C6.854 8.271 7 7.918 7 7.5c0-.417-.146-.77-.438-1.063A1.447 1.447 0 005.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L7 4V3zm5 0l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C9.156 5.229 9 6 9 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188c.291.291.645.437 1.062.437.417 0 .77-.146 1.063-.438.291-.291.437-.645.437-1.062 0-.417-.146-.77-.438-1.063A1.447 1.447 0 0010.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L12 4V3z"/>\n</svg>\n',cancel:Ct,caution:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',"caret-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12L6 8l4-4"></path></g></svg>',"caret-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 4l4 4-4 4"></path></g></svg>',hide:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M1.61289944,0.209704612 L1.70710678,0.292893219 L15.7071068,14.2928932 C16.0976311,14.6834175 16.0976311,15.3165825 15.7071068,15.7071068 C15.3466228,16.0675907 14.7793918,16.0953203 14.3871006,15.7902954 L14.2928932,15.7071068 L0.292893219,1.70710678 C-0.0976310729,1.31658249 -0.0976310729,0.683417511 0.292893219,0.292893219 C0.65337718,-0.0675907428 1.22060824,-0.0953202783 1.61289944,0.209704612 Z M2.19604887,5.05494269 C2.65878442,5.35642943 2.78950241,5.97595401 2.48801567,6.43868956 C2.16488794,6.93464068 2,7.46139686 2,8 C2,10.1228856 4.62796016,12 8,12 C8.22060643,12 8.4396701,11.9919023 8.65660209,11.9758355 C9.20737829,11.9350431 9.68693944,12.3484666 9.72773191,12.8992428 C9.76852437,13.450019 9.35510087,13.9295801 8.80432467,13.9703726 C8.53822524,13.9900809 8.26988704,14 8,14 C3.64005335,14 0,11.3999619 0,8 C0,7.06308249 0.28281658,6.15958778 0.812302005,5.34690949 C1.11378875,4.88417394 1.73331332,4.75345595 2.19604887,5.05494269 Z M8,2 C12.3599467,2 16,4.6000381 16,8 C16,8.93691751 15.7171834,9.84041222 15.187698,10.6530905 C14.8862113,11.1158261 14.2666867,11.246544 13.8039511,10.9450573 C13.3412156,10.6435706 13.2104976,10.024046 13.5119843,9.56131044 C13.8351121,9.06535932 14,8.53860314 14,8 C14,5.8771144 11.3720398,4 8,4 C7.77939357,4 7.5603299,4.00809769 7.34339791,4.02416445 C6.79262171,4.06495692 6.31306056,3.65153342 6.27226809,3.10075722 C6.23147563,2.54998102 6.64489913,2.07041987 7.19567533,2.02962741 C7.46177476,2.00991913 7.73011296,2 8,2 Z"></path></svg>',highlight:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15H1h11zm-.5-6v2l-1 1v-2l1-1zm.5-7v6h-2V2h2zm0-1h-2 2zm0 8h-2 2z"></path></g></svg>',note:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M14,0 C15.0543618,0 15.9181651,0.815877791 15.9945143,1.85073766 L16,2 L16,9 C16,9.27541264 15.8865388,9.53676152 15.6894833,9.7243131 L15.6,9.8 L7.6,15.8 C7.46152306,15.9038577 7.29908616,15.9695431 7.12886893,15.9916629 L7,16 L2,16 C0.945638205,16 0.0818348781,15.1841222 0.00548573643,14.1492623 L0,14 L0,2 C0,0.945638205 0.815877791,0.0818348781 1.85073766,0.00548573643 L2,0 L14,0 Z M14,2 L2,2 L2,14 L6,14 L6,9 C6,8.48716416 6.38604019,8.06449284 6.88337887,8.00672773 L7,8 L14,8 L14,2 Z M12,10 L8,10 L8,13 L12,10 Z"></path></svg>',pointer:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="8" viewBox="0 0 15 8" aria-hidden="true" focusable="false"><path d="M0 8 L7 0 L15 8" stroke="currentColor" strokeWidth="2" /></svg>\n',show:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path fill="currentColor" d="M8,2 C12.3599467,2 16,4.6000381 16,8 C16,11.3999619 12.3599467,14 8,14 C3.64005335,14 0,11.3999619 0,8 C0,4.6000381 3.64005335,2 8,2 Z M8,4 C4.62796016,4 2,5.8771144 2,8 C2,10.1228856 4.62796016,12 8,12 C11.3720398,12 14,10.1228856 14,8 C14,5.8771144 11.3720398,4 8,4 Z M8,6 C9.1045695,6 10,6.8954305 10,8 C10,9.1045695 9.1045695,10 8,10 C6.8954305,10 6,9.1045695 6,8 C6,6.8954305 6.8954305,6 8,6 Z"></path></svg>'};function Tt(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function St(t){for(var e={},n=t.querySelectorAll("script.js-hypothesis-config"),i=0;i<n.length;i++){var o=void 0;try{o=JSON.parse(n[i].textContent||"")}catch(t){console.warn("Could not parse settings from js-hypothesis-config tags",t),o={}}Tt(e,o)}return e}function xt(t){if("string"==typeof t&&"false"===t.trim().toLocaleLowerCase())return!1;const e=Number(t);return isNaN(e)?"string"==typeof t:Boolean(e)}function At(t,e,n){const i=t.document.querySelector(`link[type="application/annotator+${n}"][rel="${e}"]`);if(!i)throw new Error(`No application/annotator+${n} (rel="${e}") link in the document`);if(!i.href)throw new Error(`application/annotator+${n} (rel="${e}") link has no href`);return i.href}function kt(t){const e=function(t){if(!t.hasOwnProperty("hypothesisConfig"))return{};if("function"!=typeof t.hypothesisConfig){const t="https://h.readthedocs.io/projects/client/en/latest/publishers/config/#window.hypothesisConfig";return console.warn("hypothesisConfig must be a function, see: "+t),{}}return t.hypothesisConfig()}(t);let n;function i(t){return e.hasOwnProperty(t)?e[t]:n.hasOwnProperty(t)?n[t]:void 0}return n=xt(e.ignoreOtherConfiguration)?{}:St(t.document),{get annotations(){return n.annotations||function(){const e=t.location.href.match(/#annotations:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get clientUrl(){return At(t,"hypothesis-client","javascript")},get group(){return n.group||function(){const e=t.location.href.match(/#annotations:group:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get notebookAppUrl(){return At(t,"notebook","html")},get showHighlights(){return function(){let t=i("showHighlights");return void 0===t&&(t="always"),"boolean"==typeof t?t?"always":"never":t}()},get sidebarAppUrl(){return At(t,"sidebar","html")},get query(){return n.query||function(){const e=t.location.href.match(/#annotations:(query|q):(.+)$/i);if(e)try{return decodeURIComponent(e[2])}catch(t){}return null}()},hostPageSetting:i}}function Lt(t,e){return t.hostPageSetting(e)}const Nt={annotations:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.annotations},appType:{allowInBrowserExt:!0,defaultValue:null,getValue:Lt},branding:{defaultValue:null,allowInBrowserExt:!1,getValue:Lt},clientUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.clientUrl},enableExperimentalNewNoteButton:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},group:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.group},focus:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},theme:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},usernameUrl:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},onLayoutChange:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},openSidebar:{allowInBrowserExt:!0,defaultValue:!1,coerce:xt,getValue:Lt},query:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.query},requestConfigFromFrame:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},services:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt},showHighlights:{allowInBrowserExt:!1,defaultValue:"always",getValue:t=>t.showHighlights},notebookAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.notebookAppUrl},sidebarAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.sidebarAppUrl},subFrameIdentifier:{allowInBrowserExt:!0,defaultValue:null,getValue:Lt},externalContainerSelector:{allowInBrowserExt:!1,defaultValue:null,getValue:Lt}};function Rt(t="annotator",e=window){const n=kt(e),i={};let o=function(t){const e={annotator:["clientUrl","subFrameIdentifier"],sidebar:["appType","annotations","branding","enableExperimentalNewNoteButton","externalContainerSelector","focus","group","onLayoutChange","openSidebar","query","requestConfigFromFrame","services","showHighlights","sidebarAppUrl","theme","usernameUrl"],notebook:["branding","group","notebookAppUrl","requestConfigFromFrame","services","theme","usernameUrl"]};switch(t){case"annotator":return e.annotator;case"sidebar":return e.sidebar;case"notebook":return e.notebook;case"all":return[...e.annotator,...e.sidebar,...e.notebook];default:throw new Error(`Invalid application context used: "${t}"`)}}(t);return o.forEach((t=>{const o=Nt[t],r=void 0!==o.defaultValue,s=!((a=At(e,"sidebar","html")).startsWith("http://")||a.startsWith("https://"));var a;if(!o.allowInBrowserExt&&s)return void(r&&(i[t]=o.defaultValue));const l=o.getValue(n,t);void 0!==l?i[t]=o.coerce?o.coerce(l):l:r&&(i[t]=o.defaultValue)})),i}class Mt{constructor(){this._listeners=new Map}add(t,e,n,i){t.addEventListener(e,n,i);const o=Symbol();return this._listeners.set(o,{eventTarget:t,eventType:e,listener:n}),o}remove(t){const e=this._listeners.get(t);if(e){const{eventTarget:n,eventType:i,listener:o}=e;n.removeEventListener(i,o),this._listeners.delete(t)}}removeAll(){this._listeners.forEach((({eventTarget:t,eventType:e,listener:n})=>{t.removeEventListener(e,n)})),this._listeners.clear()}}class Ot{constructor(t,e){this._port=t,this._methods=e,this._sequence=0,this._callbacks={},this._destroyed=!1,this._listeners=new Mt,this._listeners.add(this._port,"message",(t=>this._handle(t))),this._port.start()}destroy(){this._destroyed=!0,this._listeners.removeAll(),this._port.close()}call(t,...e){if(this._destroyed)return;const n=this._sequence++,i=e[e.length-1];"function"==typeof i&&(this._callbacks[n]=i,e=e.slice(0,-1));const o={arguments:e,method:t,protocol:"frame-rpc",sequence:n,version:"1.0.0"};this._port.postMessage(o)}_parseMessage({data:t}){return t&&"object"==typeof t?"frame-rpc"!==t.protocol||"1.0.0"!==t.version?null:Array.isArray(t.arguments)?t:null:null}_handle(t){const e=this._parseMessage(t);if(null!==e)if("method"in e){if(!this._methods.hasOwnProperty(e.method))return;const t=(...t)=>{const n={arguments:t,protocol:"frame-rpc",response:e.sequence,version:"1.0.0"};this._port.postMessage(n)};this._methods[e.method](...e.arguments,t)}else if("response"in e){const t=this._callbacks[e.response];delete this._callbacks[e.response],t&&t(...e.arguments)}}}class Pt{constructor(){this.links=[],this.channelListeners={},this.onConnectListeners=[],this.on("connect",(t=>t()))}destroy(){this.links.forEach((t=>t.destroy())),this.links=[]}createChannel(t){const e=new Ot(t,this.channelListeners);let n=!1;return e.call("connect",(()=>{n||(n=!0,this.onConnectListeners.forEach((t=>t(e))))})),this.links.push(e),e}call(t,...e){let n;const i=e[e.length-1];"function"==typeof i&&(n=i,e=e.slice(0,-1));const o=t=>e=>{throw t.destroy(),this.links=this.links.filter((e=>e!==t)),e},r=this.links.map((n=>new Promise(((i,o)=>{const r=setTimeout((()=>i(null)),1e3);try{n.call(t,...e,((t,e)=>{clearTimeout(r),t?o(t):i(e)}))}catch(t){o(t)}})).catch(o(n))));let s=Promise.all(r);return n&&(s=s.then((t=>n(null,t))).catch((t=>n(t)))),s}on(t,e){if(this.links.length>0)throw new Error(`Listener '${t}' can't be registered because a channel has already been created`);if(this.channelListeners[t])throw new Error(`Listener '${t}' already bound in Bridge`);return this.channelListeners[t]=e,this}onConnect(t){return this.onConnectListeners.push(t),this}}const It={alt:1,ctrl:2,meta:4,shift:8};function Dt(t,e,{rootElement:n=document.body}={}){const i=n=>{(function(t,e){const n=e.split("+").map((t=>t.toLowerCase()));let i=0,o=null;for(let t of n){const e=It[t];if(e)i|=e;else{if(null!==o)throw new Error("Multiple non-modifier keys specified");o=t}}if(!o)throw new Error(`Invalid shortcut: ${e}`);return((t.ctrlKey?It.ctrl:0)|(t.metaKey?It.meta:0)|(t.altKey?It.alt:0)|(t.shiftKey?It.shift:0))===i&&function(t){const e={Left:"ArrowLeft",Up:"ArrowUp",Down:"ArrowDown",Right:"ArrowRight",Spacebar:" ",Del:"Delete"};return e[t]?e[t]:t}(t.key).toLowerCase()===o})(n,t)&&e(n)};return n.addEventListener("keydown",i),()=>n.removeEventListener("keydown",i)}function Vt(t,e,{rootElement:n=document.body}={}){st((()=>{if(t)return Dt(t,e,{rootElement:n})}),[t,e,n])}function Ht({badgeCount:t,icon:e,label:n,onClick:i,shortcut:o}){Vt(o,i);const r=o?`${n} (${o})`:n;return gt("button",{className:"AdderToolbar__button",onClick:i,"aria-label":r,title:r,children:[e&>(_t,{name:e,className:"AdderToolbar__icon"}),"number"==typeof t&>("span",{className:"AdderToolbar__badge",children:t}),gt("span",{className:"AdderToolbar__label",children:n})]})}function Bt({arrowDirection:t,isVisible:e,onCommand:n,annotationCount:i=0}){const o=e?"a":null,r=e?"h":null,s=e?"s":null;return Vt(e?"Escape":null,(()=>n("hide"))),gt("div",{className:Z("AdderToolbar",{"AdderToolbar--down":"up"===t,"AdderToolbar--up":"down"===t,"is-active":e}),style:{visibility:e?"visible":"hidden"},children:[gt("div",{className:"AdderToolbar__actions",children:[gt(Ht,{icon:"annotate",onClick:()=>n("annotate"),label:"Annotate",shortcut:o}),gt(Ht,{icon:"highlight",onClick:()=>n("highlight"),label:"Highlight",shortcut:r}),i>0&>("div",{className:"AdderToolbar__separator"}),i>0&>(Ht,{badgeCount:i,onClick:()=>n("show"),label:"Show",shortcut:s})]}),gt(_t,{name:"pointer",inline:!0,className:Z("AdderToolbar__arrow",{"AdderToolbar__arrow--down":"down"===t,"AdderToolbar__arrow--up":"up"===t})})]})}const Ft=(t=window)=>t.matchMedia("(pointer: coarse)").matches;function Ut(t){if(!t.attachShadow)return qt(t),t;const e=t.attachShadow({mode:"open"});!function(t){var e;const n=null===(e=document.querySelector('link[rel="stylesheet"][href*="/build/styles/annotator.css"]'))||void 0===e?void 0:e.href;if(!n)return;const i=document.createElement("link");i.rel="stylesheet",i.href=n,t.appendChild(i)}(e);const n=window.applyFocusVisiblePolyfill;return n&&n(e),qt(e),e}function qt(t){t.addEventListener("mouseup",(t=>t.stopPropagation())),t.addEventListener("mousedown",(t=>t.stopPropagation())),t.addEventListener("touchstart",(t=>t.stopPropagation()),{passive:!0})}function Wt(t){return t.toString()+"px"}class jt{constructor(t,e){this._outerContainer=document.createElement("hypothesis-adder"),t.appendChild(this._outerContainer),this._shadowRoot=Ut(this._outerContainer),Object.assign(this._outerContainer.style,{position:"absolute",top:0,left:0}),this._view=t.ownerDocument.defaultView,this._width=()=>this._shadowRoot.firstChild.getBoundingClientRect().width,this._height=()=>this._shadowRoot.firstChild.getBoundingClientRect().height,this._isVisible=!1,this._arrowDirection="up",this._onAnnotate=e.onAnnotate,this._onHighlight=e.onHighlight,this._onShowAnnotations=e.onShowAnnotations,this.annotationsForSelection=[],this._render()}hide(){this._isVisible=!1,this._render(),Object.assign(this._outerContainer.style,{top:0,left:0})}destroy(){M(null,this._shadowRoot),this._outerContainer.remove()}show(t,e){const{left:n,top:i,arrowDirection:o}=this._calculateTarget(t,e);this._showAt(n,i),this._isVisible=!0,this._arrowDirection=2===o?"up":"down",this._render()}_calculateTarget(t,e){let n,i,o;n=e&&!Ft()?1:2;const r=Math.min(20,t.width),s=this._width(),a=Ft()?10:0,l=this._height();return o=e?t.left-s/2+r:t.left+t.width-s/2-r,t.top-l<0&&1===n?n=2:t.top+l>this._view.innerHeight&&(n=1),i=2===n?t.top+t.height+10+a:t.top-l-10,o=Math.max(o,0),o=Math.min(o,this._view.innerWidth-s),i=Math.max(i,0),i=Math.min(i,this._view.innerHeight-l),{top:i,left:o,arrowDirection:n}}_findZindex(t,e){if(void 0===document.elementsFromPoint)return 32768;const n=this._width(),i=this._height(),o=[...new Set([...document.elementsFromPoint(t,e),...document.elementsFromPoint(t,e+i),...document.elementsFromPoint(t+n/2,e+i/2),...document.elementsFromPoint(t+n,e),...document.elementsFromPoint(t+n,e+i)])].map((t=>+getComputedStyle(t).zIndex)).filter(Number.isInteger);return o.push(0),Math.max(...o)+1}_showAt(t,e){const n=function(t){let e=t.parentElement;for(;e.parentElement&&"static"===getComputedStyle(e).position;)e=e.parentElement;return e}(this._outerContainer).getBoundingClientRect(),i=this._findZindex(t,e);Object.assign(this._outerContainer.style,{left:Wt(t-n.left),top:Wt(e-n.top),zIndex:i})}_render(){M(gt(Bt,{isVisible:this._isVisible,arrowDirection:this._arrowDirection,onCommand:t=>{switch(t){case"annotate":this._onAnnotate(),this.hide();break;case"highlight":this._onHighlight(),this.hide();break;case"show":this._onShowAnnotations(this.annotationsForSelection);break;case"hide":this.hide()}},annotationCount:this.annotationsForSelection.length}),this._shadowRoot)}}class $t{constructor(t,e){this._emitter=t.createEmitter(),this._sidebar=e,this.cache={},this.destroyed=!1,this._sidebar.on("deleteAnnotation",((t,e)=>{if(this.destroyed)return void e(null);const n=this._parse(t);delete this.cache[n.$tag],this._emitter.publish("annotationDeleted",n),this._format(n),e(null)})),this._sidebar.on("loadAnnotations",((t,e)=>{if(this.destroyed)return void e(null);const n=t.map((t=>this._parse(t)));this._emitter.publish("annotationsLoaded",n),e(null)})),this._emitter.subscribe("beforeAnnotationCreated",(t=>{t.$tag||this._sidebar.call("createAnnotation",this._format(t))}))}sync(t){this.destroyed||this._sidebar.call("syncAnchoringStatus",t.map((t=>this._format(t))))}_tag(t,e){return t.$tag||(e=e||window.btoa(Math.random().toString()),Object.defineProperty(t,"$tag",{value:e}),this.cache[e]=t),t}_parse(t){const e=Object.assign(this.cache[t.tag]||{},t.msg);return this._tag(e,t.tag)}_format(t){return this._tag(t),{tag:t.$tag,msg:t}}destroy(){this.destroyed=!0,this._emitter.destroy()}}function zt(t){switch(t.nodeType){case Node.ELEMENT_NODE:case Node.TEXT_NODE:return t.textContent.length;default:return 0}}function Xt(t){let e=t.previousSibling,n=0;for(;e;)n+=zt(e),e=e.previousSibling;return n}function Yt(t,...e){let n=e.shift();const i=t.ownerDocument.createNodeIterator(t,NodeFilter.SHOW_TEXT),o=[];let r,s=i.nextNode(),a=0;for(;void 0!==n&&s;)r=s,a+r.data.length>n?(o.push({node:r,offset:n-a}),n=e.shift()):(s=i.nextNode(),a+=r.data.length);for(;void 0!==n&&r&&a===n;)o.push({node:r,offset:r.data.length}),n=e.shift();if(void 0!==n)throw new RangeError("Offset exceeds text length");return o}class Gt{constructor(t,e){if(e<0)throw new Error("Offset is invalid");this.element=t,this.offset=e}relativeTo(t){if(!t.contains(this.element))throw new Error("Parent is not an ancestor of current element");let e=this.element,n=this.offset;for(;e!==t;)n+=Xt(e),e=e.parentElement;return new Gt(e,n)}resolve(t={}){try{return Yt(this.element,this.offset)[0]}catch(e){if(0===this.offset&&void 0!==t.direction){const n=document.createTreeWalker(this.element.getRootNode(),NodeFilter.SHOW_TEXT);n.currentNode=this.element;const i=1===t.direction,o=i?n.nextNode():n.previousNode();if(!o)throw e;return{node:o,offset:i?0:o.data.length}}throw e}}static fromCharOffset(t,e){switch(t.nodeType){case Node.TEXT_NODE:return Gt.fromPoint(t,e);case Node.ELEMENT_NODE:return new Gt(t,e);default:throw new Error("Node is not an element or text node")}}static fromPoint(t,e){switch(t.nodeType){case Node.TEXT_NODE:{if(e<0||e>t.data.length)throw new Error("Text node offset is out of range");if(!t.parentElement)throw new Error("Text node has no parent");const n=Xt(t)+e;return new Gt(t.parentElement,n)}case Node.ELEMENT_NODE:{if(e<0||e>t.childNodes.length)throw new Error("Child node offset is out of range");let n=0;for(let i=0;i<e;i++)n+=zt(t.childNodes[i]);return new Gt(t,n)}default:throw new Error("Point is not in an element or text node")}}}class Zt{constructor(t,e){this.start=t,this.end=e}relativeTo(t){return new Zt(this.start.relativeTo(t),this.end.relativeTo(t))}toRange(){let t,e;this.start.element===this.end.element&&this.start.offset<=this.end.offset?[t,e]=Yt(this.start.element,this.start.offset,this.end.offset):(t=this.start.resolve({direction:1}),e=this.end.resolve({direction:2}));const n=new Range;return n.setStart(t.node,t.offset),n.setEnd(e.node,e.offset),n}static fromRange(t){const e=Gt.fromPoint(t.startContainer,t.startOffset),n=Gt.fromPoint(t.endContainer,t.endOffset);return new Zt(e,n)}static fromOffsets(t,e,n){return new Zt(new Gt(t,e),new Gt(t,n))}}function Kt(t){return!!t.parentElement&&null!==t.parentElement.closest(".annotator-placeholder")}function Jt(t){if(t.focusNode===t.anchorNode)return t.focusOffset<t.anchorOffset;return t.getRangeAt(0).startContainer===t.focusNode}function Qt(t,e){try{var n,i;const o=null!==(n=null===(i=e.nodeValue)||void 0===i?void 0:i.length)&&void 0!==n?n:e.childNodes.length;return t.comparePoint(e,0)<=0&&t.comparePoint(e,o)>=0}catch(t){return!1}}function te(t,e){const n=t.commonAncestorContainer,i=n.ownerDocument.createNodeIterator(n,NodeFilter.SHOW_ALL);let o;for(;o=i.nextNode();)Qt(t,o)&&e(o)}function ee(t){if(t.isCollapsed)return null;const e=function(t){const e=/^\s*$/,n=[];te(t,(t=>{t.nodeType!==Node.TEXT_NODE||t.textContent.match(e)||n.push(t)}));let i=[];return n.forEach((e=>{const n=e.ownerDocument.createRange();if(n.selectNodeContents(e),e===t.startContainer&&n.setStart(e,t.startOffset),e===t.endContainer&&n.setEnd(e,t.endOffset),n.collapsed)return;const o=Array.from(n.getClientRects());n.detach(),i=i.concat(o)})),i}(t.getRangeAt(0));return 0===e.length?null:Jt(t)?e[0]:e[e.length-1]}function ne(t,e="hypothesis-highlight"){const n=function(t){if(t.collapsed)return[];let e=t.commonAncestorContainer;if(e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement),!e)return[];const n=[],i=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);let o;for(;o=i.nextNode();){if(!Qt(t,o))continue;let e=o;e===t.startContainer&&t.startOffset>0?e.splitText(t.startOffset):(e===t.endContainer&&t.endOffset<e.data.length&&e.splitText(t.endOffset),n.push(e))}return n}(t),i=n.length>0&&Kt(n[0]);let o=[],r=null,s=null;n.forEach((t=>{r&&r.nextSibling===t?s.push(t):(s=[t],o.push(s)),r=t}));const a=/^\s*$/;o=o.filter((t=>t.some((t=>!a.test(t.nodeValue)))));const l=[];return o.forEach((t=>{const n=document.createElement("hypothesis-highlight");n.className=e,t[0].parentNode.replaceChild(n,t[0]),t.forEach((t=>n.appendChild(t))),l.push(n)})),i||function(t){if(0===t.length)return;const e=function(t){const e=t.closest(".page");return e&&e.querySelector(".canvasWrapper > canvas")||null}(t[0]);if(!e||!e.parentElement)return;let n=e.parentElement.querySelector(".hypothesis-highlight-layer");const i=CSS.supports("mix-blend-mode","multiply");if(!n){n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.setAttribute("class","hypothesis-highlight-layer"),e.parentElement.appendChild(n),e.parentElement.style.position="relative";const t=n.style;t.position="absolute",t.left="0",t.top="0",t.width="100%",t.height="100%",i?t.mixBlendMode="multiply":t.opacity="0.3"}const o=e.getBoundingClientRect(),r=t.map((t=>{const e=t.getBoundingClientRect(),n=document.createElementNS("http://www.w3.org/2000/svg","rect");return n.setAttribute("x",(e.left-o.left).toString()),n.setAttribute("y",(e.top-o.top).toString()),n.setAttribute("width",e.width.toString()),n.setAttribute("height",e.height.toString()),i?n.setAttribute("class","hypothesis-svg-highlight"):n.setAttribute("class","hypothesis-svg-highlight is-opaque"),t.classList.add("is-transparent"),t.svgHighlight=n,n}));n.append(...r)}(l),l}function ie(t,e){const n=t.parentNode;e.forEach((e=>n.insertBefore(e,t))),t.remove()}function oe(t){for(let e of t){if(e.parentNode){ie(e,Array.from(e.childNodes))}e.svgHighlight&&e.svgHighlight.remove()}}function re(t,e){t.forEach((t=>{if(t.svgHighlight){if(t.svgHighlight.classList.toggle("is-focused",e),e){t.svgHighlight.parentNode.append(t.svgHighlight)}}else t.classList.toggle("hypothesis-highlight-focused",e)}))}function se(t){const e=t.map((t=>t.getBoundingClientRect()));return e.reduce(((t,e)=>({top:Math.min(t.top,e.top),left:Math.min(t.left,e.left),bottom:Math.max(t.bottom,e.bottom),right:Math.max(t.right,e.right)})))}var ae=/^\s+|\s+$/g,le=/^[-+]0x[0-9a-f]+$/i,ce=/^0b[01]+$/i,he=/^0o[0-7]+$/i,ue=parseInt,de="object"==typeof t&&t&&t.Object===Object&&t,fe="object"==typeof self&&self&&self.Object===Object&&self,pe=de||fe||Function("return this")(),ge=Object.prototype.toString,me=Math.max,_e=Math.min,ve=function(){return pe.Date.now()};function ye(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function we(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==ge.call(t)}(t))return NaN;if(ye(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=ye(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ae,"");var n=ce.test(t);return n||he.test(t)?ue(t.slice(2),n?2:8):le.test(t)?NaN:+t}var be=function(t,e,n){var i,o,r,s,a,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=i,r=o;return i=o=void 0,c=e,s=t.apply(r,n)}function p(t){return c=t,a=setTimeout(m,e),h?f(t):s}function g(t){var n=t-l;return void 0===l||n>=e||n<0||u&&t-c>=r}function m(){var t=ve();if(g(t))return _(t);a=setTimeout(m,function(t){var n=e-(t-l);return u?_e(n,r-(t-c)):n}(t))}function _(t){return a=void 0,d&&i?f(t):(i=o=void 0,s)}function v(){var t=ve(),n=g(t);if(i=arguments,o=this,l=t,n){if(void 0===a)return p(l);if(u)return a=setTimeout(m,e),f(l)}return void 0===a&&(a=setTimeout(m,e)),s}return e=we(e)||0,ye(n)&&(h=!!n.leading,r=(u="maxWait"in n)?me(we(n.maxWait)||0,e):r,d="trailing"in n?!!n.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=o=a=void 0},v.flush=function(){return void 0===a?s:_(ve())},v};class Ce{constructor(t,e,n){this._element=t,this._onFrameAdded=e,this._onFrameRemoved=n,this._annotatableFrames=new Set,this._isDisconnected=!1,this._mutationObserver=new MutationObserver(be((()=>{this._discoverFrames()}),40)),this._discoverFrames(),this._mutationObserver.observe(this._element,{childList:!0,subtree:!0,attributeFilter:["enable-annotation"]})}disconnect(){this._isDisconnected=!0,this._mutationObserver.disconnect()}async _addFrame(t){this._annotatableFrames.add(t);try{if(await Ee(t),this._isDisconnected)return;t.contentWindow.addEventListener("unload",(()=>{this._removeFrame(t)})),this._onFrameAdded(t)}catch(e){console.warn(`Unable to inject the Hypothesis client (from '${document.location.href}' into a cross-origin frame '${t.src}')`)}}_removeFrame(t){this._annotatableFrames.delete(t),this._onFrameRemoved(t)}_discoverFrames(){const t=new Set(this._element.querySelectorAll("iframe[enable-annotation]"));for(let e of t)this._annotatableFrames.has(e)||this._addFrame(e);for(let e of this._annotatableFrames)t.has(e)||this._removeFrame(e)}}function Ee(t){return new Promise((e=>{const n=t.contentWindow.document,{readyState:i,location:o}=n;"about:blank"===o.href&&t.hasAttribute("src")&&"about:blank"!==t.src?t.addEventListener("load",(()=>{e()})):"loading"!==i?e():n.addEventListener("DOMContentLoaded",(()=>e()))}))}class Te{constructor(t,e){this._config=e,this._frameObserver=new Ce(t,(t=>this.injectClient(t)),(()=>{}))}destroy(){this._frameObserver.disconnect()}async injectClient(t){if("__hypothesis"in t.contentWindow)return;await Ee(t);const{assetRoot:e,notebookAppUrl:n,sidebarAppUrl:i}=St(document),o=Math.random().toString().replace(/\D/g,""),r={...this._config,assetRoot:e,notebookAppUrl:n,sidebarAppUrl:i,subFrameIdentifier:o},{clientUrl:s}=this._config;!function(t,e,n){const i=document.createElement("script");i.className="js-hypothesis-config",i.type="application/json",i.innerText=JSON.stringify(n);const o=document.createElement("script");o.async=!0,o.src=e;const r=t.contentDocument;r.body.appendChild(i),r.body.appendChild(o)}(t,s,r)}}function Se(t,e,n){t.self===t?t.scrollTo(e,n):(t.scrollLeft=e,t.scrollTop=n)}function xe(t){var e=t._scrollSettings;if(e){var n=e.maxSynchronousAlignments,i=function(t,e){var n,i,o,r,s,a,l,c=t.align,h=t.target.getBoundingClientRect(),u=c&&null!=c.left?c.left:.5,d=c&&null!=c.top?c.top:.5,f=c&&null!=c.leftOffset?c.leftOffset:0,p=c&&null!=c.topOffset?c.topOffset:0,g=u,m=d;if(t.isWindow(e))a=Math.min(h.width,e.innerWidth),l=Math.min(h.height,e.innerHeight),i=h.left+e.pageXOffset-e.innerWidth*g+a*g,o=h.top+e.pageYOffset-e.innerHeight*m+l*m,i-=f,o-=p,i=t.align.lockX?e.pageXOffset:i,o=t.align.lockY?e.pageYOffset:o,r=i-e.pageXOffset,s=o-e.pageYOffset;else{a=h.width,l=h.height,n=e.getBoundingClientRect();var _=h.left-(n.left-e.scrollLeft),v=h.top-(n.top-e.scrollTop);i=_+a*g-e.clientWidth*g,o=v+l*m-e.clientHeight*m,i-=f,o-=p,i=Math.max(Math.min(i,e.scrollWidth-e.clientWidth),0),o=Math.max(Math.min(o,e.scrollHeight-e.clientHeight),0),i=t.align.lockX?e.scrollLeft:i,o=t.align.lockY?e.scrollTop:o,r=i-e.scrollLeft,s=o-e.scrollTop}return{x:i,y:o,differenceX:r,differenceY:s}}(e,t),o=Date.now()-e.startTime,r=Math.min(1/e.time*o,1);if(e.endIterations>=n)return Se(t,i.x,i.y),t._scrollSettings=null,e.end("complete");var s=1-e.ease(r);if(Se(t,i.x-i.differenceX*s,i.y-i.differenceY*s),o>=e.time)return e.endIterations++,e.scrollAncestor&&xe(e.scrollAncestor),void xe(t);!function(t){if("requestAnimationFrame"in window)return window.requestAnimationFrame(t);setTimeout(t,16)}(xe.bind(null,t))}}function Ae(t){return t.self===t}function ke(t){return"pageXOffset"in t||(t.scrollHeight!==t.clientHeight||t.scrollWidth!==t.clientWidth)&&"hidden"!==getComputedStyle(t).overflow}function Le(){return!0}function Ne(t){if(t.assignedSlot)return Ne(t.assignedSlot);if(t.parentElement)return"BODY"===t.parentElement.tagName?t.parentElement.ownerDocument.defaultView||t.parentElement.ownerDocument.ownerWindow:t.parentElement;if(t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e.host}}var Re=function(t,e,n){if(t){"function"==typeof e&&(n=e,e=null),e||(e={}),e.time=isNaN(e.time)?1e3:e.time,e.ease=e.ease||function(t){return 1-Math.pow(1-t,t/2)},e.align=e.align||{};var i=Ne(t),o=1,r=e.validTarget||Le,s=e.isScrollable;e.debug&&(console.log("About to scroll to",t),i||console.error("Target did not have a parent, is it mounted in the DOM?"));for(var a=[];i;)if(e.debug&&console.log("Scrolling parent node",i),r(i,o)&&(s?s(i,ke):ke(i))&&(o++,a.push(i)),!(i=Ne(i))){l("complete");break}return a.reduce(((n,i,o)=>function(t,e,n,i,o){var r,s=!e._scrollSettings,a=e._scrollSettings,l=Date.now(),c={passive:!0};function h(t){e._scrollSettings=null,e.parentElement&&e.parentElement._scrollSettings&&e.parentElement._scrollSettings.end(t),n.debug&&console.log("Scrolling ended with type",t,"for",e),o(t),r&&(e.removeEventListener("touchstart",r,c),e.removeEventListener("wheel",r,c))}a&&a.end("canceled");var u=n.maxSynchronousAlignments;return null==u&&(u=3),e._scrollSettings={startTime:l,endIterations:0,target:t,time:n.time,ease:n.ease,align:n.align,isWindow:n.isWindow||Ae,maxSynchronousAlignments:u,end:h,scrollAncestor:i},"cancellable"in n&&!n.cancellable||(r=h.bind(null,"canceled"),e.addEventListener("touchstart",r,c),e.addEventListener("wheel",r,c)),s&&xe(e),r}(t,i,e,a[o+1],l)),null)}function l(t){--o||n&&n(t)}},Me={};function Oe(t){return t.split("").reverse().join("")}function Pe(t){return(t|-t)>>31&1}function Ie(t,e,n,i){var o=t.P[n],r=t.M[n],s=i>>>31,a=e[n]|s,l=a|r,c=(a&o)+o^o|a,h=r|~(c|o),u=o&c,d=Pe(h&t.lastRowMask[n])-Pe(u&t.lastRowMask[n]);return h<<=1,u<<=1,o=(u|=s)|~(l|(h|=Pe(i)-s)),r=h&l,t.P[n]=o,t.M[n]=r,d}function De(t,e,n){if(0===e.length)return[];n=Math.min(n,e.length);var i=[],o=32,r=Math.ceil(e.length/o)-1,s={P:new Uint32Array(r+1),M:new Uint32Array(r+1),lastRowMask:new Uint32Array(r+1)};s.lastRowMask.fill(1<<31),s.lastRowMask[r]=1<<(e.length-1)%o;for(var a=new Uint32Array(r+1),l=new Map,c=[],h=0;h<256;h++)c.push(a);for(var u=0;u<e.length;u+=1){var d=e.charCodeAt(u);if(!l.has(d)){var f=new Uint32Array(r+1);l.set(d,f),d<c.length&&(c[d]=f);for(var p=0;p<=r;p+=1){f[p]=0;for(var g=0;g<o;g+=1){var m=p*o+g;if(!(m>=e.length))e.charCodeAt(m)===d&&(f[p]|=1<<g)}}}}var _=Math.max(0,Math.ceil(n/o)-1),v=new Uint32Array(r+1);for(p=0;p<=_;p+=1)v[p]=(p+1)*o;v[r]=e.length;for(p=0;p<=_;p+=1)s.P[p]=-1,s.M[p]=0;for(var y=0;y<t.length;y+=1){var w=t.charCodeAt(y);f=void 0;w<c.length?f=c[w]:void 0===(f=l.get(w))&&(f=a);var b=0;for(p=0;p<=_;p+=1)b=Ie(s,f,p,b),v[p]+=b;if(v[_]-b<=n&&_<r&&(1&f[_+1]||b<0)){_+=1,s.P[_]=-1,s.M[_]=0;var C=_===r?e.length%o:o;v[_]=v[_-1]+C-b+Ie(s,f,_,b)}else for(;_>0&&v[_]>=n+o;)_-=1;_===r&&v[_]<=n&&(v[_]<n&&i.splice(0,i.length),i.push({start:-1,end:y+1,errors:v[_]}),n=v[_])}return i}Object.defineProperty(Me,"__esModule",{value:!0});var Ve=Me.default=function(t,e,n){return function(t,e,n){var i=Oe(e);return n.map((function(n){var o=Math.max(0,n.end-e.length-n.errors);return{start:De(Oe(t.slice(o,n.end)),i,n.errors).reduce((function(t,e){return n.end-e.end<t?n.end-e.end:t}),n.end),end:n.end,errors:n.errors}}))}(t,e,De(t,e,n))};function He(t,e,n){let i=0,o=[];for(;-1!==i;)i=t.indexOf(e,i),-1!==i&&(o.push({start:i,end:i+e.length,errors:0}),i+=1);return o.length>0?o:Ve(t,e,n)}function Be(t,e){if(0===e.length||0===t.length)return 0;return 1-He(t,e,e.length)[0].errors/e.length}function Fe(t,e,n={}){if(0===e.length)return null;const i=Math.min(256,e.length/2),o=He(t,e,i);if(0===o.length)return null;const r=i=>{const o=1-i.errors/e.length,r=n.prefix?Be(t.slice(Math.max(0,i.start-n.prefix.length),i.start),n.prefix):1,s=n.suffix?Be(t.slice(i.end,i.end+n.suffix.length),n.suffix):1;let a=1;if("number"==typeof n.hint){a=1-Math.abs(i.start-n.hint)/t.length}return(50*o+20*r+20*s+2*a)/92},s=o.map((t=>({start:t.start,end:t.end,score:r(t)})));return s.sort(((t,e)=>e.score-t.score)),s[0]}function Ue(t){const e=function(t){const e=t.nodeName.toLowerCase();let n=e;return"#text"===e&&(n="text()"),n}(t),n=function(t){let e=0,n=t;for(;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e}(t);return`${e}[${n}]`}function qe(t,e){let n="",i=t;for(;i!==e;){if(!i)throw new Error("Node is not a descendant of root");n=Ue(i)+"/"+n,i=i.parentNode}return n="/"+n,n=n.replace(/\/$/,""),n}function We(t,e,n){e=e.toUpperCase();let i=-1;for(let o=0;o<t.children.length;o++){const r=t.children[o];if(r.nodeName.toUpperCase()===e&&(++i,i===n))return r}return null}function je(t,e=document.body){try{return function(t,e){if(null===t.match(/^(\/[A-Za-z0-9-]+(\[[0-9]+\])?)+$/))throw new Error("Expression is not a simple XPath");const n=t.split("/");let i=e;n.shift();for(let t of n){let e,n;const o=t.indexOf("[");if(-1!==o){e=t.slice(0,o);const i=t.slice(o+1,t.indexOf("]"));if(n=parseInt(i)-1,n<0)return null}else e=t,n=0;const r=We(i,e,n);if(!r)return null;i=r}return i}(t,e)}catch(n){return document.evaluate("."+t,e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}}class $e{constructor(t,e){this.root=t,this.range=e}static fromRange(t,e){return new $e(t,e)}static fromSelector(t,e){const n=je(e.startContainer,t);if(!n)throw new Error("Failed to resolve startContainer XPath");const i=je(e.endContainer,t);if(!i)throw new Error("Failed to resolve endContainer XPath");const o=Gt.fromCharOffset(n,e.startOffset),r=Gt.fromCharOffset(i,e.endOffset),s=new Zt(o,r).toRange();return new $e(t,s)}toRange(){return this.range}toSelector(){const t=Zt.fromRange(this.range).toRange(),e=Zt.fromRange(t),n=qe(e.start.element,this.root),i=qe(e.end.element,this.root);return{type:"RangeSelector",startContainer:n,startOffset:e.start.offset,endContainer:i,endOffset:e.end.offset}}}class ze{constructor(t,e,n){this.root=t,this.start=e,this.end=n}static fromRange(t,e){const n=Zt.fromRange(e).relativeTo(t);return new ze(t,n.start.offset,n.end.offset)}static fromSelector(t,e){return new ze(t,e.start,e.end)}toSelector(){return{type:"TextPositionSelector",start:this.start,end:this.end}}toRange(){return Zt.fromOffsets(this.root,this.start,this.end).toRange()}}class Xe{constructor(t,e,n={}){this.root=t,this.exact=e,this.context=n}static fromRange(t,e){const n=t.textContent,i=Zt.fromRange(e).relativeTo(t),o=i.start.offset,r=i.end.offset;return new Xe(t,n.slice(o,r),{prefix:n.slice(Math.max(0,o-32),o),suffix:n.slice(r,Math.min(n.length,r+32))})}static fromSelector(t,e){const{prefix:n,suffix:i}=e;return new Xe(t,e.exact,{prefix:n,suffix:i})}toSelector(){return{type:"TextQuoteSelector",exact:this.exact,prefix:this.context.prefix,suffix:this.context.suffix}}toRange(t={}){return this.toPositionAnchor(t).toRange()}toPositionAnchor(t={}){const e=Fe(this.root.textContent,this.exact,{...this.context,hint:t.hint});if(!e)throw new Error("Quote not found");return new ze(this.root,e.start,e.end)}}async function Ye(t,e={}){return t.toRange(e)}function Ge(t,e,n={}){let i=null,o=null,r=null;for(let t of e)switch(t.type){case"TextPositionSelector":i=t,n.hint=i.start;break;case"TextQuoteSelector":o=t;break;case"RangeSelector":r=t}const s=t=>{var e;if(null!==(e=o)&&void 0!==e&&e.exact&&t.toString()!==o.exact)throw new Error("quote mismatch");return t};let a=Promise.reject("unable to anchor");return r&&(a=a.catch((()=>Ye($e.fromSelector(t,r),n).then(s)))),i&&(a=a.catch((()=>Ye(ze.fromSelector(t,i),n).then(s)))),o&&(a=a.catch((()=>Ye(Xe.fromSelector(t,o),n)))),a}function Ze(t,e){const n=[$e,ze,Xe],i=[];for(let o of n)try{const n=o.fromRange(t,e);i.push(n.toSelector())}catch(t){continue}return i}function Ke(t,e=document.baseURI){return new URL(t,e).href.toString().replace(/#.*/,"")}class Je{constructor(t={}){this.document=t.document||document}uri(){let t=decodeURIComponent(this._getDocumentHref());const e=this._getLinks();for(let n of e)"canonical"===n.rel&&(t=n.href);return t}getDocumentMetadata(){const t={title:document.title,link:[],dc:this._getMetaTags("dc","name","."),eprints:this._getMetaTags("eprints","name","."),facebook:this._getMetaTags("og","property",":"),highwire:this._getMetaTags("citation","name","_"),prism:this._getMetaTags("prism","name","."),twitter:this._getMetaTags("twitter","name",":")},e=this._getFavicon();e&&(t.favicon=e),t.title=this._getTitle(t),t.link=this._getLinks(t);const n=t.link.find((t=>t.href.startsWith("urn:x-dc")));return n&&(t.documentFingerprint=n.href),t}_getMetaTags(t,e,n){const i={};for(let o of Array.from(this.document.querySelectorAll("meta"))){const r=o.getAttribute(e),{content:s}=o;if(r){const e=r.match(RegExp(`^${t}${n}(.+)$`,"i"));if(e){const t=e[1];i[t]?i[t].push(s):i[t]=[s]}}}return i}_getTitle(t){return t.highwire.title?t.highwire.title[0]:t.eprints.title?t.eprints.title[0]:t.prism.title?t.prism.title[0]:t.facebook.title?t.facebook.title[0]:t.twitter.title?t.twitter.title[0]:t.dc.title?t.dc.title[0]:this.document.title}_getLinks(t={dc:{},highwire:{}}){const e=[{href:this._getDocumentHref()}],n=Array.from(this.document.querySelectorAll("link"));for(let t of n)if(["alternate","canonical","bookmark","shortlink"].includes(t.rel)){if("alternate"===t.rel){if(t.type&&t.type.match(/^application\/(rss|atom)\+xml/))continue;if(t.hreflang)continue}try{const n=this._absoluteUrl(t.href);e.push({href:n,rel:t.rel,type:t.type})}catch(t){}}for(let n of Object.keys(t.highwire)){const i=t.highwire[n];if("pdf_url"===n)for(let t of i)try{e.push({href:this._absoluteUrl(t),type:"application/pdf"})}catch(t){}if("doi"===n)for(let t of i)"doi:"!==t.slice(0,4)&&(t=`doi:${t}`),e.push({href:t})}for(let n of Object.keys(t.dc)){const i=t.dc[n];if("identifier"===n)for(let t of i)"doi:"===t.slice(0,4)&&e.push({href:t})}const i=t.dc["relation.ispartof"],o=t.dc.identifier;if(i&&o){const t=i[i.length-1],n=o[o.length-1],r="urn:x-dc:"+encodeURIComponent(t)+"/"+encodeURIComponent(n);e.push({href:r})}return e}_getFavicon(){let t=null;for(let e of Array.from(this.document.querySelectorAll("link")))if(["shortcut icon","icon"].includes(e.rel))try{t=this._absoluteUrl(e.href)}catch(t){}return t}_absoluteUrl(t){return Ke(t,this.document.baseURI)}_getDocumentHref(){const{href:t}=this.document.location,e=["http:","https:","file:"],n=new URL(t).protocol;return e.includes(n)?t:this.document.baseURI&&e.includes(new URL(this.document.baseURI).protocol)?this.document.baseURI:t}}class Qe{constructor(t=document.body){this.container=t,this.anchor=Ge,this.describe=Ze,this._htmlMeta=new Je}canAnnotate(){return!0}destroy(){}contentContainer(){return this.container}fitSideBySide(){return!1}async getMetadata(){return this._htmlMeta.getDocumentMetadata()}async uri(){return this._htmlMeta.uri()}scrollToAnchor(t){const e=t.highlights;return new Promise((t=>{Re(e[0],t)}))}}let tn={};function en(...t){const e=t.join();e in tn||(console.warn(...t),tn[e]=!0)}en.reset=()=>{tn={}};const nn=0,on=3,rn=new Map,sn=new Map;function an(t,e){return`${t}:${e}`}function ln(t){var e;const n="closest"in t?t:t.parentElement;return null!==(e=null==n?void 0:n.closest(".textLayer"))&&void 0!==e?e:null}function cn(){return PDFViewerApplication.pdfViewer}async function hn(t){const e=cn();let n=e.getPageView(t);return n&&n.pdfPage||(n=await new Promise((n=>{const i=()=>{e.eventBus?e.eventBus.off("pagesloaded",i):document.removeEventListener("pagesloaded",i),n(e.getPageView(t))};e.eventBus?e.eventBus.on("pagesloaded",i):document.addEventListener("pagesloaded",i)}))),n}function un(t){const e=rn.get(t);if(e)return e;const n=(async()=>{const e=await hn(t);let n=(await e.pdfPage.getTextContent({normalizeWhitespace:!0})).items;return n.length>0&&!("hasEOL"in n[0])&&(n=n.filter((t=>/\S/.test(t.str)))),n.map((t=>t.str)).join("")})();return rn.set(t,n),n}async function dn(t){const e=cn();let n=0,i=0,o="";for(let r=0;r<e.pagesCount;r++)if(o=await un(r),n=i,i+=o.length,i>=t)return{index:r,offset:n,text:o};return{index:e.pagesCount-1,offset:n,text:o}}async function fn(t,e,n){const[i,o]=await Promise.all([hn(t),un(t)]);if(i.renderingState===on&&i.textLayer&&i.textLayer.renderingDone){const t=i.textLayer.textLayerDiv;o!==t.textContent&&en("PDF text layer content does not match page text. This will cause anchoring misalignment.");const r=new Gt(t,e),s=new Gt(t,n);return new Zt(r,s).toRange()}const r=function(t){let e=t.querySelector(".annotator-placeholder");return e||(e=document.createElement("span"),e.classList.add("annotator-placeholder"),e.textContent="Loading annotations...",t.appendChild(e),e)}(i.div),s=document.createRange();return s.setStartBefore(r),s.setEndAfter(r),s}function pn(t){const e=[];let n="";for(let i=0;i<t.length;i++){const o=t[i];" "!==o&&"\t"!==o&&"\n"!==o&&(n+=o,e.push(i))}return[n,e]}async function gn(t,e){const n=e.find((t=>"TextQuoteSelector"===t.type));if(!n)throw new Error("No quote selector found");const i=e.find((t=>"TextPositionSelector"===t.type));if(i){try{const{index:t,offset:e,text:o}=await dn(i.start),r=i.start-e,s=i.end-e,a=o.substring(r,s);if(n.exact!==a)throw new Error("quote mismatch");return await fn(t,r,s)}catch{}try{const t=an(n.exact,i.start),e=sn.get(t);if(e){const{pageIndex:t,anchor:n}=e;return await fn(t,n.start,n.end)}}catch{}}return async function(t,e){const n=cn().pagesCount,i=Array(n).fill(0).map(((t,e)=>e));let o,r;if(e){const{index:t,offset:n}=await dn(e);o=t,r=e-n,i.sort(((e,n)=>Math.abs(e-t)-Math.abs(n-t)))}const[s]=void 0!==t.prefix?pn(t.prefix):[],[a]=void 0!==t.suffix?pn(t.suffix):[],[l]=pn(t.exact);let c;for(let t of i){const e=await un(t),[n,i]=pn(e);let h;if(void 0!==o&&void 0!==r){let n;for(n=t<o?e.length:t===o?r:0,h=0;h<i.length&&i[h]<n;)++h}const u=Fe(n,l,{prefix:s,suffix:a,hint:h});if(u&&(!c||u.score>c.match.score)){c={page:t,match:{start:i[u.start],end:i[u.end-1]+1,score:u.score}};const e=n.slice(u.start,u.end)===l,o=void 0!==s&&n.slice(Math.max(0,u.start-s.length),u.start)===s,r=void 0!==a&&n.slice(u.end,a.length)===a,h=void 0!==s||void 0!==a;if(e&&(o||r||!h))break}}if(c){const{page:n,match:i}=c;if(e){const o=an(t.exact,e);sn.set(o,{pageIndex:n,anchor:i})}return fn(n,i.start,i.end)}throw new Error("Quote not found")}(n,null==i?void 0:i.start)}function mn(t){try{t=Zt.fromRange(t).toRange()}catch{throw new Error("Selection does not contain text")}const e=ln(t.startContainer),n=ln(t.endContainer);if(!e||!n)throw new Error("Selection is outside page text");if(e!==n)throw new Error("Selecting across page breaks is not supported");return[t,e]}async function _n(t,e){const[n,i]=mn(e),o=Gt.fromPoint(n.startContainer,n.startOffset).relativeTo(i),r=Gt.fromPoint(n.endContainer,n.endOffset).relativeTo(i),s=function(t){let e=0;for(;t.previousSibling;)++e,t=t.previousSibling;return e}(i.parentNode),a=await async function(t){if(t>=cn().pagesCount)throw new Error("Invalid page index");let e=0;for(let n=0;n<t;n++)e+=(await un(n)).length;return e}(s);return[{type:"TextPositionSelector",start:a+o.offset,end:a+r.offset},Xe.fromRange(t,n).toSelector()]}function vn(){return gt("div",{className:"WarningBanner WarningBanner--notice",children:[gt("div",{className:"WarningBanner__type",children:gt(_t,{name:"caution",className:"WarningBanner__icon"})}),gt("div",{className:"WarningBanner__message",children:[gt("strong",{children:"This PDF does not contain selectable text:"})," ",gt("a",{target:"_blank",rel:"noreferrer",href:"https://web.hypothes.is/help/how-to-ocr-optimize-pdfs/",children:"Learn how to fix this"})," ","in order to annotate with Hypothesis."]})]})}function yn(t,e,n){return t+n*(e-t)}async function wn(t,e,{maxDuration:n=500}={}){const i=t.scrollTop,o=e,r=Date.now(),s=Math.min(Math.abs(o-i)/3,n);let a=0;for(;a<1;)await new Promise((t=>{requestAnimationFrame(t)})),a=Math.min(1,(Date.now()-r)/s),t.scrollTop=yn(i,o,a)}class bn{constructor(t){this._loaded=function(t){return t.initializedPromise?t.initializedPromise:t.initialized?Promise.resolve():new Promise((e=>{const n=setInterval((()=>{t.initialized&&(clearTimeout(n),e())}),5)}))}(t).then((()=>t.downloadComplete?t:new Promise((e=>{const n=()=>{t.eventBus?(t.eventBus.off("documentload",n),t.eventBus.off("documentloaded",n)):window.removeEventListener("documentload",n),e(t)};t.eventBus?(t.eventBus.on("documentloaded",n),t.eventBus.on("documentload",n)):window.addEventListener("documentload",n)}))))}getUri(){return this._loaded.then((t=>{let e=Tn(t);return e||(e=En(Cn(t))),e}))}async getMetadata(){const t=await this._loaded,{info:e,contentDispositionFilename:n,metadata:i}=await t.pdfDocument.getMetadata(),o=Cn(t),r=Tn(t);let s;s=null!=i&&i.has("dc:title")&&"Untitled"!==i.get("dc:title")?i.get("dc:title"):null!=e&&e.Title?e.Title:n||(r?function(t){const e=new URL(t).pathname.split("/");return e[e.length-1]}(r):"");const a=[{href:En(o)}];return r&&a.push({href:r}),{title:s,link:a,documentFingerprint:o}}}function Cn(t){return Array.isArray(t.pdfDocument.fingerprints)?t.pdfDocument.fingerprints[0]:t.pdfDocument.fingerprint}function En(t){return`urn:x-pdf:${t}`}function Tn(t){if(!t.url)return null;const e=Ke(t.url);return 0!==e.indexOf("file://")?e:null}function Sn(t){var e;const n=null===(e=t.highlights)||void 0===e?void 0:e[0];return n&&Kt(n)}function xn(t){return new Promise((e=>setTimeout(e,t)))}class An{constructor(t,e={}){var n,i,o;this.annotator=t;const r=window,s=r.PDFViewerApplication;this.pdfViewer=s.pdfViewer,this.pdfViewer.viewer.classList.add("has-transparent-text-layer"),this.pdfContainer=null!==(n=null===(i=s.appConfig)||void 0===i?void 0:i.appContainer)&&void 0!==n?n:document.body,this.pdfMetadata=new bn(s),this.observer=new MutationObserver(be((()=>this._update()),100)),this.observer.observe(this.pdfViewer.viewer,{attributes:!0,attributeFilter:["data-loaded"],childList:!0,subtree:!0}),this._reanchoringMaxWait=null!==(o=e.reanchoringMaxWait)&&void 0!==o?o:3e3,this._warningBanner=null,this._checkForSelectableText(),this._updateAnnotationLayerVisibility=()=>{const t=r.getSelection();this.pdfViewer.viewer.classList.toggle("is-selecting",!t.isCollapsed)},this._listeners=new Mt,this._listeners.add(document,"selectionchange",this._updateAnnotationLayerVisibility),this._destroyed=!1}destroy(){var t;this._listeners.removeAll(),this.pdfViewer.viewer.classList.remove("has-transparent-text-layer"),this.observer.disconnect(),null===(t=this._warningBanner)||void 0===t||t.remove(),this._destroyed=!0}uri(){return this.pdfMetadata.getUri()}getMetadata(){return this.pdfMetadata.getMetadata()}anchor(t,e){return gn(0,e)}canAnnotate(t){return function(t){try{return mn(t),!0}catch{return!1}}(t)}describe(t,e){return _n(t,e)}async _checkForSelectableText(){try{await this.uri()}catch(t){return}if(!this._destroyed)try{const t=await async function(){const t=cn();let e=!1;for(let n=0;n<t.pagesCount;n++)if((await un(n)).trim().length>0){e=!0;break}return e}();this._toggleNoSelectableTextWarning(!t)}catch(t){console.warn("Unable to check for text in PDF:",t)}}_toggleNoSelectableTextWarning(t){const e=document.querySelector("#outerContainer");var n;if(!t)return null===(n=this._warningBanner)||void 0===n||n.remove(),this._warningBanner=null,void(e.style.height="");this._warningBanner=document.createElement("hypothesis-banner"),document.body.prepend(this._warningBanner);const i=Ut(this._warningBanner);M(gt(vn,{}),i);const o=this._warningBanner.getBoundingClientRect().height;e.style.height=`calc(100% - ${o}px)`}_update(){const t=[],e=this.pdfViewer.pagesCount;for(let t=0;t<e;t++){var n;const e=this.pdfViewer.getPageView(t);if(null!=e&&null!==(n=e.textLayer)&&void 0!==n&&n.renderingDone)switch(e.renderingState){case nn:e.textLayer=null;break;case on:i=e.div,o=void 0,null===(o=i.querySelector(".annotator-placeholder"))||void 0===o||o.remove()}}var i,o;for(let e of this.annotator.anchors)if(e.highlights){if(t.includes(e.annotation))continue;for(let n=0;n<e.highlights.length;n++){const i=e.highlights[n];if(!document.body.contains(i)){e.highlights.splice(n,1),delete e.range,t.push(e.annotation);break}}}t.map((t=>this.annotator.anchor(t)))}contentContainer(){return document.querySelector("#viewerContainer")}fitSideBySide(t){const e=window.innerWidth-t.width,n=t.expanded&&e>=680,i=n?t.width:t.toolbarWidth;this.pdfContainer.style.width=`calc(100% - ${i}px)`;const o=this.pdfViewer.currentScaleValue;return"auto"!==o&&"page-fit"!==o&&"page-width"!==o||(this.pdfViewer.currentScaleValue=o),this.pdfViewer.update(),n}async scrollToAnchor(t){const e=t.annotation,n=Sn(t),i=this._anchorOffset(t);if(null!==i&&(await wn(this.contentContainer(),i),n)){const t=await this._waitForAnnotationToBeAnchored(e,this._reanchoringMaxWait);if(!t)return;const n=this._anchorOffset(t);if(null===n)return;await wn(this.contentContainer(),n)}}async _waitForAnnotationToBeAnchored(t,e){var n;const i=Date.now();let o;do{o=this.annotator.anchors.find((e=>e.annotation===t)),o&&!Sn(o)||(o=null,await xn(20))}while(!o&&Date.now()-i<e);return null!==(n=o)&&void 0!==n?n:null}_anchorOffset(t){if(!t.highlights)return null;return function(t,e){let n=0;for(;t!==e&&e.contains(t);)n+=t.offsetTop,t=t.offsetParent;return n}(t.highlights[0],this.contentContainer())}}function kn(t=document){return t.querySelector("mosaic-book")}class Ln{constructor(t){const e=kn();if(!e)throw new Error("Book container element not found");const n=e.shadowRoot,i=()=>{const e=n.querySelector("iframe");e&&t.injectClient(e)};i(),this._frameObserver=new MutationObserver(i),this._frameObserver.observe(n,{childList:!0,subtree:!0})}destroy(){this._frameObserver.disconnect()}canAnnotate(){return!1}async anchor(){return new Range}describe(){throw new Error("This frame cannot be annotated")}contentContainer(){return document.body}fitSideBySide(){return!1}async getMetadata(){return{title:"",link:[]}}async uri(){return document.location.href}async scrollToAnchor(){}}class Nn{constructor(t=document.body){this._htmlIntegration=new Qe(t),this._listeners=new Mt;const e=["mousedown","mouseup","mouseout"];for(let t of e)this._listeners.add(document.documentElement,t,(t=>{t.stopPropagation()}))}canAnnotate(){return!0}destroy(){this._listeners.removeAll(),this._htmlIntegration.destroy()}anchor(t,e){return this._htmlIntegration.anchor(t,e)}describe(t,e){return this._htmlIntegration.describe(t,e)}contentContainer(){return this._htmlIntegration.contentContainer()}fitSideBySide(){return!1}async getMetadata(){return{title:document.title,link:[]}}async uri(){const t=new URL(document.location.href);return t.search="",t.toString()}async scrollToAnchor(t){return this._htmlIntegration.scrollToAnchor(t)}}function Rn(t){if("undefined"!=typeof PDFViewerApplication)return new An(t);const e=function(t=window){var e;if(kn(t.document))return"container";const n=null===(e=t.frameElement)||void 0===e?void 0:e.ownerDocument;return n&&kn(n)?"content":null}();return"container"===e?new Ln(t):"content"===e?new Nn:new Qe}class Mn{constructor(t,e=document){let n=!1;this._pendingCallback=null;const i=(n=10)=>{this._pendingCallback=setTimeout((()=>{t(function(t){const e=t.getSelection();if(!e||0===e.rangeCount)return null;const n=e.getRangeAt(0);return n.collapsed?null:n}(e))}),n)};this._eventHandler=t=>{if("mousedown"===t.type&&(n=!0),"mouseup"===t.type&&(n=!1),n)return;this._cancelPendingCallback();const e="mouseup"===t.type?10:100;i(e)},this._document=e,this._listeners=new Mt,this._events=["mousedown","mouseup","selectionchange"];for(let t of this._events)this._listeners.add(e,t,this._eventHandler);i(1)}disconnect(){this._listeners.removeAll(),this._cancelPendingCallback()}_cancelPendingCallback(){this._pendingCallback&&(clearTimeout(this._pendingCallback),this._pendingCallback=null)}}function On(){const t=function(t,e){const n=new Set,i=new Set;return te(t,(t=>{let o=t;for(;o&&!n.has(o);){n.add(o);const t=e(o);t&&i.add(t),o=o.parentNode}})),[...i]}(window.getSelection().getRangeAt(0),(t=>t._annotation));return t}function Pn(t){const e=function(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;const n=[];for(;e;)e.classList.contains("hypothesis-highlight")&&n.push(e),e=e.parentElement;return n}(t).map((t=>t._annotation)).filter((t=>void 0!==t));return e}function In(t){if(!t.range)return null;try{return t.range.toRange()}catch{return null}}class Dn{constructor(t,e,n={},i=window){this.element=t,this._emitter=e.createEmitter(),this._highlightsVisible=!1,this._isAdderVisible=!1,this._adder=new jt(this.element,{onAnnotate:async()=>{await this.createAnnotation(),document.getSelection().removeAllRanges()},onHighlight:async()=>{await this.createAnnotation({highlight:!0}),document.getSelection().removeAllRanges()},onShowAnnotations:t=>{this.selectAnnotations(t)}}),this._selectionObserver=new Mn((t=>{t?this._onSelection(t):this._onClearSelection()})),this.anchors=[],this._frameIdentifier=n.subFrameIdentifier||null,this._bridge=new Pt,this._connectSidebarEvents(),this._annotationSync=new $t(e,this._bridge),this._connectAnnotationSync(),this._hypothesisInjector=new Te(this.element,n),this._integration=Rn(this),this._sideBySideActive=!1,this._listeners=new Mt,this._setupElementEvents(),this._focusedAnnotations=new Set,this._hostFrame=i,this._listeners.add(window,"unload",(()=>this._notifyGuestUnload()))}_setupElementEvents(){const t=t=>{this._sideBySideActive||Pn(t).length||this._bridge.call("closeSidebar")};this._listeners.add(this.element,"mouseup",(t=>{const{target:e,metaKey:n,ctrlKey:i}=t,o=Pn(e);if(o.length&&this._highlightsVisible){const t=n||i;this.selectAnnotations(o,t)}})),this._listeners.add(this.element,"mousedown",(({target:e})=>{t(e)})),this._listeners.add(this.element,"touchstart",(({target:e})=>{t(e)})),this._listeners.add(this.element,"mouseover",(({target:t})=>{const e=Pn(t);e.length&&this._highlightsVisible&&this._focusAnnotations(e)})),this._listeners.add(this.element,"mouseout",(()=>{this._highlightsVisible&&this._focusAnnotations([])})),this._listeners.add(window,"resize",(()=>this._repositionAdder()))}async injectClient(t){return this._hypothesisInjector.injectClient(t)}async getDocumentInfo(){const[t,e]=await Promise.all([this._integration.uri(),this._integration.getMetadata()]);return{uri:Ke(t),metadata:e,frameIdentifier:this._frameIdentifier}}_repositionAdder(){var t;if(!1===this._isAdderVisible)return;const e=null===(t=window.getSelection())||void 0===t?void 0:t.getRangeAt(0);e&&this._onSelection(e)}_connectAnnotationSync(){this._emitter.subscribe("annotationDeleted",(t=>{this.detach(t)})),this._emitter.subscribe("annotationsLoaded",(t=>{t.map((t=>this.anchor(t)))}))}_connectSidebarEvents(){this._bridge.on("focusAnnotations",((t=[])=>{this._focusedAnnotations.clear(),t.forEach((t=>this._focusedAnnotations.add(t)));for(let e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);re(e.highlights,n)}})),this._bridge.on("scrollToAnnotation",(t=>{const e=this.anchors.find((e=>e.annotation.$tag===t));if(null==e||!e.highlights)return;const n=In(e);if(!n)return;const i=new CustomEvent("scrolltorange",{bubbles:!0,cancelable:!0,detail:n});this.element.dispatchEvent(i)&&this._integration.scrollToAnchor(e)})),this._bridge.on("getDocumentInfo",(t=>{this.getDocumentInfo().then((e=>t(null,e))).catch((e=>t(e)))})),this._bridge.on("setHighlightsVisible",(t=>{this.setHighlightsVisible(t)}))}destroy(){this._notifyGuestUnload(),this._hypothesisInjector.destroy(),this._listeners.removeAll(),this._selectionObserver.disconnect(),this._adder.destroy(),function(t){oe(Array.from(t.querySelectorAll("hypothesis-highlight")))}(this.element),this._integration.destroy(),this._emitter.destroy(),this._annotationSync.destroy(),this._bridge.destroy()}_notifyGuestUnload(){const t={type:"hypothesisGuestUnloaded",frameIdentifier:this._frameIdentifier};this._hostFrame.postMessage(t,"*")}connectToSidebar(t,e){const n=new MessageChannel;t.postMessage({type:"hypothesisGuestReady"},e,[n.port2]),this._bridge.createChannel(n.port1)}async anchor(t){const e=t=>{const e=In(t);if(!e)return;const n=ne(e);n.forEach((e=>{e._annotation=t.annotation})),t.highlights=n,this._focusedAnnotations.has(t.annotation.$tag)&&re(n,!0)};this.detach(t,!1),t.target||(t.target=[]);const n=await Promise.all(t.target.map((async e=>{if(!e.selector||!e.selector.some((t=>"TextQuoteSelector"===t.type)))return{annotation:t,target:e};let n;try{const i=await this._integration.anchor(this.element,e.selector),o=Zt.fromRange(i);n={annotation:t,target:e,range:o}}catch(i){n={annotation:t,target:e}}return n})));for(let t of n)e(t);return t.$orphan=n.length>0&&n.every((t=>t.target.selector&&!t.range)),this._updateAnchors(this.anchors.concat(n),!0),this._annotationSync.sync([t]),n}detach(t,e=!0){const n=[];for(let e of this.anchors)e.annotation!==t?n.push(e):e.highlights&&oe(e.highlights);this._updateAnchors(n,e)}_updateAnchors(t,e){this.anchors=t,e&&this._emitter.publish("anchorsChanged",this.anchors)}async createAnnotation({highlight:t=!1}={}){var e;const n=null!==(e=this.selectedRanges)&&void 0!==e?e:[];this.selectedRanges=null;const i=await this.getDocumentInfo(),o=this.element,r=(await Promise.all(n.map((t=>this._integration.describe(o,t))))).map((t=>({source:i.uri,selector:t}))),s={uri:i.uri,document:i.metadata,target:r,$highlight:t,$tag:""};return this._emitter.publish("beforeAnnotationCreated",s),this.anchor(s),s}_focusAnnotations(t){const e=t.map((t=>t.$tag));this._bridge.call("focusAnnotations",e)}_onSelection(t){if(!this._integration.canAnnotate(t))return void this._onClearSelection();const e=document.getSelection(),n=Jt(e),i=ee(e);i?(this.selectedRanges=[t],this._emitter.publish("hasSelectionChanged",!0),this._adder.annotationsForSelection=On(),this._isAdderVisible=!0,this._adder.show(i,n)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],this._emitter.publish("hasSelectionChanged",!1)}selectAnnotations(t,e=!1){const n=t.map((t=>t.$tag));e?this._bridge.call("toggleAnnotationSelection",n):this._bridge.call("showAnnotations",n),this._bridge.call("openSidebar")}scrollToAnchor(t){return this._integration.scrollToAnchor(t)}setHighlightsVisible(t){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t}contentContainer(){return this._integration.contentContainer()}fitSideBySide(t){this._sideBySideActive=this._integration.fitSideBySide(t)}get sideBySideActive(){return this._sideBySideActive}get focusedAnnotationTags(){return this._focusedAnnotations}}function Vn(t){var e;const n={...t};if((null===(e=n.services)||void 0===e?void 0:e.length)>0){const t=n.services[0];t.onLoginRequest&&(t.onLoginRequestProvided=!0),t.onLogoutRequest&&(t.onLogoutRequestProvided=!0),t.onSignupRequest&&(t.onSignupRequestProvided=!0),t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return["notebookAppUrl","sidebarAppUrl"].forEach((t=>delete n[t])),n}function Hn({config:t,groupId:e}){const n=Vn(t);n.group=e;const i=encodeURIComponent(JSON.stringify(n));return gt("iframe",{title:"Hypothesis annotation notebook",className:"NotebookIframe",allowFullScreen:!0,src:`${t.notebookAppUrl}#config=${i}`})}function Bn({eventBus:t,config:e}){const[n,i]=rt(0),[o,r]=rt(!0),[s,a]=rt(null),l=at(""),c=at(null);st((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),st((()=>{document.body.style.overflow=o?l.current:"hidden"}),[o]),st((()=>{const e=t.createEmitter();return e.subscribe("openNotebook",(t=>{r(!1),i((t=>t+1)),a(t)})),c.current=e,()=>{e.destroy()}}),[t]);return null===s?null:gt("div",{className:Z("NotebookModal__outer",{"is-hidden":o}),children:gt("div",{className:"NotebookModal__inner",children:[gt("div",{className:"NotebookModal__close-button-container",children:gt(bt,{icon:"cancel",title:"Close the Notebook",onClick:()=>{var t;r(!0),null===(t=c.current)||void 0===t||t.publish("closeNotebook")},variant:"dark"})}),gt(Hn,{config:e,groupId:s},n)]})})}class Fn{constructor(t,e,n={}){this._outerContainer=document.createElement("hypothesis-notebook"),t.appendChild(this._outerContainer),this.shadowRoot=Ut(this._outerContainer),M(gt(Bn,{eventBus:e,config:n}),this.shadowRoot)}destroy(){M(null,this.shadowRoot),this._outerContainer.remove()}}var Un={exports:{}};
|
|
7
7
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
8
8
|
* http://hammerjs.github.io/
|
|
9
9
|
*
|