1"use strict";(self.webpackChunktoth_www=self.webpackChunktoth_www||[]).push([[828],{94:function(e,t,n){n.d(t,{pL:function(){return h}});var i=n(6540);function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},r.apply(this,arguments)}const a=new Map,s=new WeakMap;let o,l=0;function c(e){return Object.keys(e).sort().filter((t=>void 0!==e[t])).map((t=>{return`${t}_${"root"===t?(n=e.root,n?(s.has(n)||(l+=1,s.set(n,l.toString())),s.get(n)):"0"):e[t]}`;var n})).toString()}function m(e,t,n={},i=o){if(void 0===window.IntersectionObserver&&void 0!==i){const r=e.getBoundingClientRect();return t(i,{isIntersecting:i,target:e,intersectionRatio:"number"==typeof n.threshold?n.threshold:0,time:0,boundingClientRect:r,intersectionRect:r,rootBounds:r}),()=>{}}const{id:r,observer:s,elements:l}=function(e){let t=c(e),n=a.get(t);if(!n){const i=new Map;let r;const s=new IntersectionObserver((t=>{t.forEach((t=>{var n;const a=t.isIntersecting&&r.some((e=>t.intersectionRatio>=e));e.trackVisibility&&void 0===t.isVisible&&(t.isVisible=a),null==(n=i.get(t.target))||n.forEach((e=>{e(a,t)}))}))}),e);r=s.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:s,elements:i},a.set(t,n)}return n}(n);let m=l.get(e)||[];return l.has(e)||l.set(e,m),m.push(t),s.observe(e),function(){m.splice(m.indexOf(t),1),0===m.length&&(l.delete(e),s.unobserve(e)),0===l.size&&(s.disconnect(),a.delete(r))}}const u=["children","as","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function d(e){return"function"!=typeof e.children}class h extends i.Component{constructor(e){super(e),this.node=null,this._unobserveCb=null,this.handleNode=e=>{this.node&&(this.unobserve(),e||this.props.triggerOnce||this.props.skip||this.setState({inView:!!this.props.initialInView,entry:void 0})),this.node=e||null,this.observeNode()},this.handleChange=(e,t)=>
1{e&&this.props.triggerOnce&&this.unobserve(),d(this.props)||this.setState({inView:e,entry:t}),this.props.onChange&&this.props.onChange(e,t)},this.state={inView:!!e.initialInView,entry:void 0}}componentDidUpdate(e){e.rootMargin===this.props.rootMargin&&e.root===this.props.root&&e.threshold===this.props.threshold&&e.skip===this.props.skip&&e.trackVisibility===this.props.trackVisibility&&e.delay===this.props.delay||(this.unobserve(),this.observeNode())}componentWillUnmount(){this.unobserve(),this.node=null}observeNode(){if(!this.node||this.props.skip)return;const{threshold:e,root:t,rootMargin:n,trackVisibility:i,delay:r,fallbackInView:a}=this.props;this._unobserveCb=m(this.node,this.handleChange,{threshold:e,root:t,rootMargin:n,trackVisibility:i,delay:r},a)}unobserve(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)}render(){if(!d(this.props)){const{inView:e,entry:t}=this.state;return this.props.children({inView:e,entry:t,ref:this.handleNode})}const e=this.props,{children:t,as:n}=e,a=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,u);return i.createElement(n||"div",r({ref:this.handleNode},a),t)}}},5845:function(e,t,n){var i=n(6540),r=n(5556),a=n.n(r),s=["color","size","title","className"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},o.apply(null,arguments)}var l=(0,i.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,a=e.size,l=void 0===a?"1em":a,c=e.title,m=void 0===c?null:c,u=e.className,d=void 0===u?"":u,h=function(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,s);return i.createElement("svg",o({ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:l,height:l,fill:r,className:["bi","bi-box-arrow-down-right",d].filter(Boolean).join(" ")},h),m?i.createElement("title",null,m):null,i.createElement("path",{fillRule:"evenodd",d:"M8.636 12.5a.5.5 0 0 1-.5.5H1.5A1.5 1.5 0 0 1 0 11.5v-10A1.5 1.5 0 0 1 1.5 0h10A1.5 1.5 0 0 1 13 1.5v6.636a.5.5 0 0 1-1 0V1.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5"}),i.createElement("path",{fillRule:"evenodd",d:"M16 15.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L6.146 6.854a.5.5 0 1 1 .708-.708L15 14.293V10.5a.5.5 0 0 1 1 0z"}))}));l.propTypes={color:a().string,size:a().oneOfType([a().string,a().number]),title:a().string,className:a().string},t.A=l},7844:function(e,t,n){n.d(t,{H:function(){return C}});var i=n(6540),r=n(4794),a=n(5615),s=n(5962),o=n(778),l=n(94),c=n(5845),m=n(337),u=n(8153),d=n(843),h=n(9541);const p=i.createContext({}),g=e=>
1{const{comment:t,options:n}=e,[r,a]=i.useState(!1),s=t.flagged>0||t.user.hidden,o={comment:t,options:n};return i.createElement(p.Provider,{value:o},i.createElement("div",{key:t.id,id:"a,"+t.index,className:"comment"},i.createElement("div",{className:"comment-flex"},i.createElement("div",{className:"content"},s&&!r&&i.createElement(w,{setForceShow:a}),(!s||r)&&i.createElement(f,null)))))},f=()=>{const{comment:e,options:t}=i.useContext(p),[n,a]=i.useState(void 0);return i.useEffect((()=>{(0,h.s)(e.comment).then((e=>a(e)))}),[e]),n?i.createElement("div",null,i.createElement("div",{className:"header"},i.createElement("div",{className:"avatar"},i.createElement("img",{src:e.user.avatar,alt:e.user.handle})),i.createElement("div",{className:"meta"},i.createElement("div",{className:"date"},(0,d.fV)(e.date)),i.createElement("div",{className:"author"},i.createElement("b",null,i.createElement(r.Link,{to:"/members/"+(0,d.Iy)(e.user.handle)},e.user.handle))," says",(null==t?void 0:t.oneTopic)&&i.createElement(i.Fragment,null,"..."),(!t||!t.oneTopic)&&i.createElement(i.Fragment,null,", re: ",i.createElement(r.Link,{to:e.discussion.path+"#c,"+e.id},e.discussion.topic)))),i.createElement("div",{className:"counter"},i.createElement(r.Link,{to:"#a,"+e.index},"#",e.index))),i.createElement("div",{className:"comment-text",dangerouslySetInnerHTML:{__html:n}}),i.createElement("div",{className:"interact"},i.createElement(v,null))):i.createElement(i.Fragment,null)},v=()=>
1{const e=i.useContext(u.IC),{comment:t,options:n}=i.useContext(p),a=t.discussion.path+"#c,"+t.id;if(!e.user)return i.createElement(r.Link,{to:"/login/",state:{redirect:a}},"Log in to reply");const s=new Date,o=new Date(t.date),l=new Date(o.getTime()+9e5),c=e.user.id===t.user.id&&s<l;return i.createElement(i.Fragment,null,i.createElement(E,null),i.createElement(y,null),i.createElement("span",{className:"interact-reply"},c&&i.createElement(r.Link,{to:"/my/comment/",state:{commentId:t.id}},"Edit"),!c&&i.createElement("a",{onClick:function(e){null!=n&&n.onCommentReply&&(n.onCommentReply(t),e.preventDefault(),e.stopPropagation())},href:a,title:"Reply to this comment"},"Reply")))},E=()=>{const e=i.useContext(m._),t=i.useContext(u.IC),{comment:n}=i.useContext(p),[r,a]=i.useState(n.liked);if(!t.user||t.user.id===n.user.id)return i.createElement(i.Fragment,null);return i.createElement("span",{className:"interact-like"},i.createElement("a",{onClick:i=>{i.preventDefault(),i.stopPropagation();const s="comment/"+n.id+"/like",o={"Content-Type":"application/json",Authorization:"Bearer "+t.session},l={like:r?0:1};e.fetch(s,{method:"put",headers:o,body:JSON.stringify(l)},(e=>{1===e.response&&a(!r)}))},href:n.discussion.path+"#c,"+n.id,title:(r?"Unlike":"Like")+" this comment"},r?"Unlike":"Like"))},y=()=>{const e=i.useContext(m._),t=i.useContext(u.IC),{comment:n,options:a}=i.useContext(p),[s,o]=i.useState(n.user.hidden);if(!t.user||t.user.id===n.user.id)return i.createElement(i.Fragment,null);return i.createElement("span",{className:"interact-hide"},i.createElement("a",{onClick:i=>(i=>{i.preventDefault(),i.stopPropagation();const l="comment/"+n.id+"/hide",c={"Content-Type":"application/json",Authorization:"Bearer "+t.session},m={hide:s?0:1};e.fetch(l,{method:"put",headers:c,body:JSON.stringify(m)},(e=>{1===e.response&&(o(!s),null!=a&&a.oneTopic?setTimeout((()=>{(0,r.navigate)("#a,"+n.index,{replace:!0,state:{reload:!0}})}),0):window.location.reload())}))})(i),href:n.discussion.path+"#c,"+n.id,title:(s?"Unhide":"Hide")+" all comments from this user"},s?"Unhide":"Hide"))},w=e=>{const{comment:t}=i.useContext(p);return i.createElement("div",{className:"mod"},i.createElement("div",{className:"meta"},t.flagged>0&&(()=>{const e={11:{link:"https://www.aclu.org/",title:"the American Civil Liberties Union"},12:{link:"https://www.adl.org/",title:"the Anti-Defamation League"},13:{link:"https://www.hrc.org/",title:"the Human Rights Campaign"},14:{link:"https://www.naacp.org/",title:"the NAACP"},15:{link:"https://wildspiritwolfsanctuary.org/",title:"the Wild Spirit Wolf Sanctuary"},21:{link:"https://suicidepreventionlifeline.org/",title:"the National Suicide Prevention Lifeline"}},n=!!e.hasOwnProperty(t.flagged)&&e[t.flagged];return i.createElement("span",null,"This comment has been flagged for review by the moderators.",n&&i.createElement(i.Fragment,null," ","In lieu of responding to this comment, please consider ",i.createElement("a",{href:n.link},"donating to ",n.title),"."))})(),0===t.flagged&&i.createElement("span",{className:"clickable",role:"presentation",onClick:()=>e.setForceShow(!0)},"Comments from this user are hidden. Click here to view this comment.")),i.createElement("div",{className:"counter"},i.createElement(r.Link,{to:"#a,"+t.index,title:"Permalink"},"#",t.index)))},b="ready",k="working",C=e=>{const{fetchTally:t,fetchPage:n,options:a}=e,[s,m]=i.useState(void 0),[u,d]=i.useState(b),[h,p]=i.useState(-1),[g,f]=i.useState({}),[v,E]=i.useState(1),[y,w]=i.useState(void 0);i.useEffect((()=>{!e.jump||s&&e.jump.comment===s.comment&&e.jump.reload===s.reload||m(e.jump)}),[e.jump,s,m]),i.useEffect((()=>{-1!==h&&s&&P(Math.floor((s.comment-1)/20)+1,s.comment,s.reload)}),[h,s,m]);const C=()=>{if((()=>{const e=O();v+1>e||g.hasOwnProperty("page"+(v+1))||n(v+1).then((e=>{f((t=>(t["page"+(v+1)]=e,Object.assign({},t))))}))})(),null!=a&&a.onPageViewed&&y){const e=20*(v-1)+y.length;a.onPageViewed(v,O(),e,S())}},P=function(e,t,i){if(void 0===t&&(t=0),void 0===i&&(i=!1),i||!g.hasOwnProperty("page"+e)){var a;if(y)null===(a=document.querySelector("#comments-pages"))||void 0===a||a.scrollIntoView(),w(void 0);n(e).then((n=>{w(n),E(e),f((t=>(t["page"+e]=n,Object.assign({},t)))),t>0&&setTimeout((()=>{(0,r.navigate)("#a,"+t,{replace:!0})}),0)}))}else{var s;if(e!==v)null===(s=document.querySelector("#comments-pages"))||void 0===s||s.scrollIntoView(),w(g["page"+e]),E(e);t>0&&setTimeout((()=>{(0,r.navigate)("#a,"+t,{replace:!0})}),0)}},O=()=>{if(h<=0)return 1;const e=Math.floor((h-1)/20)+1;return null!=a&&a.maxPages?Math.min(a.maxPages,e):e},S=()=>-1===h?0:null!=a&&a.maxPages?Math.min(h,20*a.maxPages):h;return i.createElement("div",{id:"comments-pages",className:"scrollTarget"},i.createElement(l.pL,{as:"div",onChange:e=>{e&&-1===h&&u===b&&(t().then((e=>{p(e),d(b),s||P(1,0,!1)})),d(k))}}),i.createElement("h3",{id:"tally"}
1,-1===h&&i.createElement(i.Fragment,null,"Loading comments..."),h>=0&&i.createElement(i.Fragment,null,i.createElement(i.Fragment,null,S()," Comment",1!==h?"s":""),h>0&&(null==a?void 0:a.oneTopic)&&i.createElement("span",{style:{marginLeft:".5em"}},i.createElement(r.Link,{to:"#a,"+h,title:"View newest comment"},i.createElement(c.A,{size:"12"}))))),h>0&&i.createElement(i.Fragment,null,i.createElement(N,{tally:h,activePage:v,changePage:P,options:a}),!y&&i.createElement("div",{style:{marginBottom:"5em"}},i.createElement(o.A,{animation:"border",size:"sm"})," Loading comments..."),y&&y.length>0&&i.createElement(i.Fragment,null,i.createElement(x,{comments:y,options:a}),i.createElement(l.pL,{as:"div",onChange:e=>{e&&C()}}),i.createElement(N,{tally:h,activePage:v,changePage:P,options:a}))))},N=e=>{const{tally:t,activePage:n,options:r}=e,o=Math.floor((t-1)/20)+1,l=r&&r.maxPages?Math.min(r.maxPages,o):o;if(1===l)return i.createElement(i.Fragment,null);let c=1,m=l;l>5&&(c=Math.max(n-2,1),m=Math.min(c+4,l),m-c<4&&(c=m-4));const u=[];for(let i=c;i<=m;i++)u.push(i);return n-10>0&&!u.includes(n-10)&&u.unshift(n-10),n-50>0&&!u.includes(n-50)&&u.unshift(n-50),u.includes(1)||u.unshift(1),n+10<l&&!u.includes(n+10)&&u.push(n+10),n+50<l&&!u.includes(n+50)&&u.push(n+50),u.includes(l)||u.push(l),i.createElement(s.A,{className:"d-flex justify-content-between jump-bar"},i.createElement("div",{className:"d-inline-flex jump-select"},"Page",i.createElement(s.A.Select,{size:"sm",value:n,onChange:e=>{let{target:t}=e;return d(parseFloat(t.value))}},u.map((e=>i.createElement("option",{key:e,value:e,className:e===n?"activePage":""},e)))),"of ",l),i.createElement("div",null,i.createElement(a.A,{className:"outline smaller",variant:"outline-dark",size:"sm",onClick:()=>d(n-1),disabled:1===n||void 0},"< Previous"),i.createElement(a.A,{className:"outline smaller",variant:"outline-dark",size:"sm",onClick:()=>d(n+1),disabled:n===l||void 0},"Next >")));function d(t){e.changePage(t)}},x=e=>{const{comments:t,options:n}=e;return i.createElement("div",{className:"comments-page"},t.map(((e,t)=>i.createElement(g,{key:t,comment:e,options:n}))))}},9541:function(e,t,n){n.d(t,{Q:function(){return l},s:function(){return o}});var i=n(3135),r=n(7298),a=n(163),s=n(5996);async function o(e){const t=await(0,i.V)().use(r.A).use(a.A).use(s.A).process(e);let n=String(t);return n=n.replace(/@(\d+)\s([A-Za-z0-9_\-\s]+):/gi,'<a href="#a,$1" title="Jump to comment by $2">@$1 $2</a>:'),n=n.replace(/\[color=(.+?)\](.+?)\[\/color\]/gi,'<span style="color: $1">$2</span>'),n=l(n),n}const l=e=>{let t=e;return t=t.replace(/\[spoiler\](.+?)\[\/spoiler\]/gi,"[ SPOILER >> <span class='spoilers'>$1</span> << END SPOILER ]"),t=t.replace(/\[spoiler=(.+?)\](.+?)\[\/spoiler\]/gi,"[ SPOILER for $1 >> <span class='spoilers'>$2</span> << END SPOILER ]"),t}}}]); 2//# sourceMappingURL=958e29d867f0b4988eb586bec6b831963a8f0479-e29f660e65aaba8bd331.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.