PageSourceSearch

https://levitr.cfd/assets/AnimePlayerPage-CH8SPULZ.js

js levitr.cfd collected 2026-09-30 14:51:23 UTC 18,571 bytes, 1 lines download raw bytes

1import{j as n}from"./kinematics-Di5PXsRQ.js";import{a as s,aR as st,X as at,aa as rt,f as Re,k as Q,bD as it}from"./glyphs-myXpDwvS.js";import{H as g}from"./wavelength-Byw5SIgA.js";import{n as ot,l as lt,b as ct,m as ut,i as dt,e as pe,f as mt,a as pt,c as ft}from"./anime-z0hZyzLF.js";import{S as Qe,r as bt,q as yt,p as ht,b as gt,d as Fe,w as We,e as vt,g as Be,h as Ae,i as Ke}from"./student-portal-DSGij66U.js";import"./algebra-CcXhFBFE.js";import"./meteorology-7juZoOw8.js";import"./earth-science-52cTImor.js";import"./periodic-table-QDa7g7Xi.js";import"./chemistry-lab-TYyt26Gh.js";import"./acoustics-DPHqfUB8.js";const xt=6e3,Et=24,Nt=5;function fe(o,l){try{o==null||o.stopLoad(),o==null||o.detachMedia(),o==null||o.destroy()}catch{}if(l)try{l.pause(),l.removeAttribute("src"),l.load()}catch{}}function be(o,l,d,v){return{default:{maxTimeToFirstByteMs:o,maxLoadTimeMs:l,timeoutRetry:{maxNumRetry:d,retryDelayMs:500,maxRetryDelayMs:4e3,backoff:"exponential"},errorRetry:{maxNumRetry:v,retryDelayMs:800,maxRetryDelayMs:8e3,backoff:"exponential"}}}}function He(o){return`${o.language||"und"}|${o.label}`.toLowerCase()}function kt(o){const l=o.language.trim().toLowerCase(),d=o.label.trim().toLowerCase();return l==="en"||l.startsWith("en-")||/\benglish\b|\beng\b/.test(d)}function ye(o){return o.replace(/[<>&"'`]/g,"").trim().slice(0,80)||"subtitle"}function Me(o){const l=o.trim().slice(0,16);return/^[A-Za-z0-9_-]+$/.test(l)?l:void 0}function jt(o){if(!o)return;const l=d=>d.startsWith("/!cover!/")||d.startsWith("/f/c/")||d.startsWith("/api/");if(l(o))return o.slice(0,2048);try{const d=new URL(o,window.location.origin);if(d.origin===window.location.origin&&(d.protocol==="https:"||d.protocol==="http:")&&l(d.pathname))return d.pathname+d.search}catch{}}async function St(o,l){var F,W;const d=new AbortController,v=()=>d.abort(l==null?void 0:l.reason);l!=null&&l.aborted?v():l==null||l.addEventListener("abort",v,{once:!0});const y=window.setTimeout(()=>d.abort(new DOMException("stream info timeout","TimeoutError")),xt);try{const B=await fetch(`/stream/info?${o.toString()}`,{signal:d.signal,credentials:"same-origin"});if(!B.ok)throw new Error("stream info unavailable");const h=await B.json(),ae=(Array.isArray(h.tracks)?h.tracks:[]).filter(u=>u&&typeof u.src=="string"&&u.src.startsWith("/stream/")&&!u.src.includes("://")&&typeof u.label=="string").slice(0,Et),re=(Array.isArray(h.audio_tracks)?h.audio_tracks:[]).filter(u=>u&&typeof u.label=="string").slice(0,12).map(u=>({label:ye(u.label),language:Me(u.language||"")||"und",default:!!u.default})),K=u=>{const H=Number(u==null?void 0:u.start),q=Number(u==null?void 0:u.end);return!Number.isFinite(H)||!Number.isFinite(q)||q<=H?null:{start:H,end:q}},L=((F=h.source)==null?void 0:F.language)==="sub"||((W=h.source)==null?void 0:W.language)==="dub"?h.source.language:null;return{tracks:ae,audioTracks:re,sourceLanguage:L,intro:K(h.intro),outro:K(h.outro)}}finally{window.clearTimeout(y),l==null||l.removeEventListener("abort",v)}}function Pt({tabUrl:o,onBack:l,onNavigate:d}){var ze;const v=s.useRef(null),y=s.useRef(null),F=s.useRef(null),W=s.useRef(null),B=s.useRef(-1),h=s.useRef(-1),ae=s.useRef((()=>{try{return localStorage.getItem(Qe)||""}catch{return""}})()),[re,K]=s.useState(null),[L,u]=s.useState(!0),[H,q]=s.useState(!1),[$,V]=s.useState([]),[M,he]=s.useState([]),[_,ie]=s.useState(-1),[T,_e]=s.useState([]),[j,ge]=s.useState(-1),[Ie,X]=s.useState(-1),[m,C]=s.useState(null),[Ve,ve]=s.useState(null),[oe,De]=s.useState(!1),[G,le]=s.useState([]),[Y,xe]=s.useState(-1),[Z,Ee]=s.useState(null),[J,Ne]=s.useState(null),[ke,ce]=s.useState(null),[ee,te]=s.useState(null),je=s.useRef(""),x=s.useMemo(()=>new URLSearchParams(o.split("?")[1]||""),[o]),Se=(x.get("title")||"Anime").slice(0,200),we=jt(x.get("poster")||""),p=Math.max(1,Number(x.get("episode")||"1")||1),E=x.get("language")==="dub"?"dub":"sub",ue=x.get("format")||void 0,Oe=Number(x.get("year")||"")||void 0,I=Number(x.get("episode_count")||"")||0,N=s.useMemo(()=>ot({anilist:x.get("anilist_id")||void 0,mal:x.get("mal_id")||void 0,anikotoEpisode:x.get("anikoto_episode_id")||void 0}),[x]),ne=s.useMemo(()=>bt(N.anilist,N.mal,p,E),[N.anilist,N.mal,p,E]),de=s.useMemo(()=>{const e=new URLSearchParams;p>0&&e.set("episode",String(p)),e.set("language",E),lt(e,N);const t=Number(x.get("source_episode")||"");return Number.isInteger(t)&&t>0&&e.set("source_episode",String(t)),e},[p,N,E,x]),D=s.useMemo(()=>`/stream/anikoto?${de.toString()}`,[de]),O=s.useCallback((e,t=E)=>
1{if(e<1||$.length>0&&!$.includes(e))return;const a=ct({title:Se,posterUrl:we||"",ids:ut(N),episode:e,episodeCount:I||$.length||void 0,year:Oe,format:ue,language:t});d&&d(a)},[$,ue,N,I,E,d,we,Se,Oe]),Xe=s.useCallback(e=>{e===E||oe||(De(!0),C(null),O(p,e))},[oe,p,O,E]);s.useEffect(()=>{De(!1)},[E,D]),s.useEffect(()=>{let e=!1;if(dt(ue)){V([1]);return}return I>0&&V(pe(I)),(async()=>{const a=N.anikoto?await mt(N).catch(()=>[]):[];if(e)return;if(a.length>0){const A=[...new Set(a.map(r=>r.number))].sort((r,i)=>r-i);V(A);return}const c=await pt(N).catch(()=>0);if(e)return;const f=ft(I,c);f>0?V(pe(f)):I<=0&&V(pe(Math.max(p,12)))})(),()=>{e=!0}},[ue,N,I,p]),s.useEffect(()=>{const e=F.current;if(!e)return;const t=e.querySelector("[data-active='1']");t==null||t.scrollIntoView({inline:"center",block:"nearest",behavior:"smooth"})},[p,$]),s.useEffect(()=>{const e=new AbortController;return ve(null),he([]),ie(-1),le([]),xe(-1),Ee(null),Ne(null),ce(null),je.current="",St(de,e.signal).then(({tracks:t,audioTracks:a,sourceLanguage:c,intro:f,outro:A})=>{if(e.signal.aborted)return;ve(c==="sub"||c==="dub"?c:null),he(t),le(a),Ee(f),Ne(A);const r=ae.current,i=t.findIndex(z=>He(z)===r),k=t.findIndex(kt),b=t.findIndex(z=>z.default),P=r==="off"?-1:i>=0?i:k>=0?k:b>=0?b:t.length>0?0:-1;ie(P)}).catch(()=>{e.signal.aborted||(ve(null),he([]),ie(-1),le([]),Ee(null),Ne(null))}),()=>e.abort()},[de]),s.useEffect(()=>{const e=v.current;if(!e)return;e.querySelectorAll('track[kind="subtitles"], track[kind="captions"]').forEach((a,c)=>{try{a.track.mode=c===_?"showing":"disabled"}catch{}})},[_,M,L]),s.useEffect(()=>{let e=!1;const t=v.current;if(!t)return;fe(y.current,null),y.current=null,_e([]),ge(-1),X(-1),h.current=-1;const a=k=>{e||(K(k),u(!1))};u(!0),K(null);const c=()=>{e||(u(!1),t.play().catch(()=>{}))};if(t.canPlayType("application/vnd.apple.mpegurl")&&!g.isSupported()){t.src=D;const k=()=>c(),b=()=>a("Playback failed.");return t.addEventListener("loadedmetadata",k),t.addEventListener("error",b),()=>{e=!0,t.removeEventListener("loadedmetadata",k),t.removeEventListener("error",b),fe(null,t)}}if(!g.isSupported()){a("HLS is not supported in this browser.");return}let f=0,A=0,r=null;const i=new g({enableWorker:!0,lowLatencyMode:!1,capLevelToPlayerSize:!0,startLevel:0,autoStartLoad:!0,maxBufferLength:30,maxMaxBufferLength:60,maxBufferSize:36*1024*1024,backBufferLength:30,maxBufferHole:.8,abrBandWidthFactor:.7,abrBandWidthUpFactor:.5,manifestLoadPolicy:be(8e3,15e3,2,3),playlistLoadPolicy:be(8e3,15e3,2,3),fragLoadPolicy:be(12e3,45e3,4,6),keyLoadPolicy:be(8e3,2e4,2,3),xhrSetup:k=>{k.withCredentials=!1}});return y.current=i,i.attachMedia(t),i.on(g.Events.MEDIA_ATTACHED,()=>{!e&&y.current===i&&i.loadSource(D)}),i.on(g.Events.MANIFEST_PARSED,(k,b)=>{if(e)return;f=0;const P=b.levels.map((w,U)=>{const Ce=Number(w.width||0),Ue=Number(w.height||0),qe=Number(w.bitrate||0);return{index:U,width:Ce,height:Ue,bitrate:qe,label:yt(Ue,qe)}}).sort((w,U)=>U.height-w.height||U.bitrate-w.bitrate);_e(P);const z=ht(gt(),P);if(Fe(i,z,P.map(w=>w.index)),ge(z),z<0){const w=Number(i.nextAutoLevel),U=P.some(Ce=>Ce.index===w)?w:-1;h.current=U,X(U)}c()}),i.on(g.Events.LEVEL_SWITCHED,(k,b)=>{e||B.current>=0||h.current!==b.level&&(h.current=b.level,X(b.level))}),i.on(g.Events.ERROR,(k,b)=>{if(!e){if(!b.fatal){(b.details===g.ErrorDetails.FRAG_LOAD_ERROR||b.details===g.ErrorDetails.FRAG_LOAD_TIMEOUT||b.details===g.ErrorDetails.LEVEL_LOAD_ERROR)&&(r!==null&&window.clearTimeout(r),r=window.setTimeout(()=>{if(r=null,!(e||y.current!==i))try{i.startLoad()}catch{}},400));return}if(b.type===g.ErrorTypes.NETWORK_ERROR&&f<5){f+=1,r!==null&&window.clearTimeout(r);const P=Math.min(2500,300*f);r=window.setTimeout(()=>{r=null,!(e||y.current!==i)&&i.startLoad()},P);return}if(b.type===g.ErrorTypes.MEDIA_ERROR&&A<3){A+=1,i.recoverMediaError();return}a("Playback failed. Try another episode or refresh.")}}),()=>{e=!0,r!==null&&window.clearTimeout(r),fe(i,t),y.current===i&&(y.current=null)}},[D]),B.current=j,s.useEffect(()=>()=>{fe(y.current,v.current),y.current=null},[]),s.useEffect(()=>{if(!m)return;const e=a=>{var c;(c=W.current)!=null&&c.contains(a.target)||C(null)},t=a=>{a.key==="Escape"&&C(null)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[m]);const Pe=s.useCallback(e=>{const t=y.current;if(t&&Fe(t,e,T.map(a=>a.index))){if(ge(e),e<0){We("auto");
1const a=Number(t.nextAutoLevel),c=T.some(f=>f.index===a)?a:-1;h.current=c,X(c)}else{const a=T.find(c=>c.index===e);We(vt((a==null?void 0:a.height)||0))}C(null)}},[T]),$e=s.useCallback(e=>{if(e<-1||e>=M.length)return;ie(e);const t=e>=0&&M[e]?He(M[e]):"off";ae.current=t;try{localStorage.setItem(Qe,t)}catch{}C(null)},[M]),Ge=s.useCallback(e=>{const t=y.current;!t||e<0||e>=(t.audioTracks||[]).length||(t.audioTrack=e,xe(e),C(null))},[]),Ye=s.useCallback(e=>{const t=v.current;t&&(t.currentTime=e,ce(null))},[]);s.useEffect(()=>{const e=v.current;if(!e||L)return;let t=!1;const a=()=>{if(!t){t=!0;try{const A=localStorage.getItem(ne),r=Number(A);Number.isFinite(r)&&r>15&&r<(e.duration||0)*.9&&(e.currentTime=r)}catch{}}},c=()=>{try{e.currentTime>10&&localStorage.setItem(ne,String(Math.floor(e.currentTime)))}catch{}};e.addEventListener("loadedmetadata",a);const f=window.setInterval(c,5e3);return e.addEventListener("pause",c),e.readyState>=1&&a(),()=>{e.removeEventListener("loadedmetadata",a),e.removeEventListener("pause",c),window.clearInterval(f)}},[ne,L,D]),s.useEffect(()=>{const e=v.current;if(!e||L)return;let t=0;const a=()=>{const c=performance.now();if(c-t<250)return;t=c;const f=e.currentTime,A=Ke("autoSkipIntroOutro");let r=null;if(Z&&f>=Z.start&&f<Z.end-.4?r={label:"skip intro",end:Z.end}:J&&f>=J.start&&f<J.end-.4&&(r={label:"skip outro",end:J.end}),ce(i=>(i==null?void 0:i.label)===(r==null?void 0:r.label)&&(i==null?void 0:i.end)===(r==null?void 0:r.end)?i:r),A&&r){const i=`${r.label}:${r.end}`;je.current!==i&&(je.current=i,e.currentTime=r.end,ce(null))}};return e.addEventListener("timeupdate",a),()=>e.removeEventListener("timeupdate",a)},[Z,J,L,D]),s.useEffect(()=>{const e=y.current;if(!e||L)return;const t=()=>{const a=e.audioTracks||[];a.length>1&&G.length===0&&le(a.slice(0,12).map(c=>({label:ye(c.name||c.lang||"audio"),language:Me(c.lang||"")||"und",default:!!c.default}))),typeof e.audioTrack=="number"&&e.audioTrack>=0&&xe(e.audioTrack)};return e.on(g.Events.AUDIO_TRACKS_UPDATED,t),e.on(g.Events.AUDIO_TRACK_SWITCHED,t),t(),()=>{e.off(g.Events.AUDIO_TRACKS_UPDATED,t),e.off(g.Events.AUDIO_TRACK_SWITCHED,t)}},[L,D,G.length]);const Ze=async()=>{try{await navigator.clipboard.writeText(window.location.href.split("#")[0]||o),q(!0),window.setTimeout(()=>q(!1),1400)}catch{}},S=$.length>0?$:pe(Math.max(I,p,1)),Je=s.useMemo(()=>{if(S.length<=72)return S;const e=Math.max(0,S.indexOf(p)),t=Math.max(0,Math.min(e-24,S.length-72));return S.slice(t,t+72)},[p,S]),se=S.indexOf(p),Le=se>0?S[se-1]:p>1?p-1:null,R=se>=0&&se<S.length-1?S[se+1]:S.length===0?p+1:null;s.useEffect(()=>{const e=v.current;if(!e)return;const t=()=>{try{localStorage.removeItem(ne)}catch{}!R||!Ke("autoPlayNextEpisode")||te(Nt)};return e.addEventListener("ended",t),()=>e.removeEventListener("ended",t)},[R,ne,D]),s.useEffect(()=>{if(ee===null)return;if(ee<=0){te(null),R&&O(R);return}const e=window.setTimeout(()=>te(t=>t===null?null:t-1),1e3);return()=>window.clearTimeout(e)},[ee,O,R]);const et=s.useMemo(()=>[...T].sort((e,t)=>t.height-e.height||t.bitrate-e.bitrate),[T]),Te=j>=0?T.find(e=>e.index===j):null,me=Ie>=0?T.find(e=>e.index===Ie):null,tt=Be(j>=0?Ae(Te==null?void 0:Te.label):null,me?Ae(me.label):null),nt=Ve||E;return n.jsxs("div",{className:"anime-player",children:[n.jsxs("header",{className:"anime-player-topbar",children:[n.jsxs("div",{className:"anime-player-title",children:[n.jsx("span",{className:"anime-player-title-muted",children:"anime"}),n.jsx("span",{className:"anime-player-title-sep",children:"/"}),n.jsx("span",{className:"anime-player-title-name",children:Se}),n.jsx("span",{className:"anime-player-title-sep",children:"·"}),n.jsxs("span",{className:"anime-player-title-ep",children:["ep ",p]})]}),n.jsxs("div",{className:"anime-player-top-actions",children:[n.jsx("button",{type:"button",onClick:()=>void Ze(),className:"anime-player-icon-btn",title:H?"Copied":"Copy link","aria-label":"Copy link",children:n.jsx(st,{size:16})}),n.jsx("button",{type:"button",onClick:l,className:"anime-player-icon-btn",title:"Close","aria-label":"Close",children:n.jsx(at,{size:16})})]})]}
1),n.jsxs("div",{className:"anime-player-stage",children:[n.jsx("video",{ref:v,controls:!0,playsInline:!0,crossOrigin:"use-credentials",poster:we,className:"anime-player-video",children:M.map(e=>n.jsx("track",{kind:e.kind==="captions"?"captions":"subtitles",src:e.src,srcLang:Me(e.language||""),label:ye(e.label)},e.src))}),L?n.jsxs("div",{className:"anime-player-loading",children:[n.jsx(rt,{size:28,className:"anime-player-spinner"}),n.jsx("span",{children:"loading stream…"})]}):null,re?n.jsx("div",{className:"anime-player-error",children:re}):null,ke?n.jsx("button",{type:"button",className:"anime-player-skip",onClick:()=>Ye(ke.end),children:ke.label}):null,ee!==null&&R?n.jsxs("div",{className:"anime-player-autonext",children:[n.jsxs("div",{children:[n.jsx("strong",{children:"next episode"}),n.jsxs("span",{children:["starting in ",ee,"s"]})]}),n.jsxs("div",{className:"anime-player-autonext-actions",children:[n.jsx("button",{type:"button",onClick:()=>{te(null),O(R)},children:"play now"}),n.jsx("button",{type:"button",onClick:()=>te(null),children:"cancel"})]})]}):null]}),n.jsxs("footer",{ref:W,className:"anime-player-dock",children:[n.jsxs("div",{className:"anime-player-controls-row",children:[n.jsxs("div",{className:"anime-player-nav",children:[n.jsx("button",{type:"button",disabled:!Le,onClick:()=>Le&&O(Le),className:"anime-player-nav-btn",children:"prev"}),n.jsx("button",{type:"button",disabled:!R,onClick:()=>R&&O(R),className:"anime-player-nav-btn",children:"next"})]}),n.jsxs("div",{className:"anime-player-selectors",children:[n.jsxs("div",{className:"anime-player-popover",children:[n.jsxs("button",{type:"button",className:`anime-player-selector${m==="language"?" is-open":""}`,"aria-haspopup":"listbox","aria-expanded":m==="language",disabled:oe,onClick:()=>C(e=>e==="language"?null:"language"),children:[n.jsx("span",{children:oe?"…":nt}),n.jsx(Re,{size:12,className:"anime-player-chevron"})]}),n.jsx("div",{className:`anime-player-options${m==="language"?" is-open":""}`,role:"listbox","aria-hidden":m!=="language",children:["sub","dub"].map(e=>n.jsxs("button",{type:"button",role:"option","aria-selected":E===e,className:E===e?"is-active":"",onClick:()=>Xe(e),children:[n.jsx("span",{children:e}),E===e?n.jsx(Q,{size:12}):null]},e))})]}),n.jsxs("div",{className:"anime-player-popover",children:[n.jsx("button",{type:"button",className:`anime-player-cc${_>=0?" is-active":" is-off"}${m==="subtitles"?" is-open":""}`,"aria-haspopup":"listbox","aria-expanded":m==="subtitles",disabled:M.length===0,title:M.length===0?"No subtitles":"Subtitles",onClick:()=>C(e=>e==="subtitles"?null:"subtitles"),children:n.jsx(it,{size:18})}),n.jsxs("div",{className:`anime-player-options anime-player-subtitle-options${m==="subtitles"?" is-open":""}`,role:"listbox","aria-hidden":m!=="subtitles",children:[n.jsxs("button",{type:"button",role:"option","aria-selected":_<0,className:_<0?"is-active":"",onClick:()=>$e(-1),children:[n.jsx("span",{children:"off"}),_<0?n.jsx(Q,{size:12}):null]}),M.map((e,t)=>n.jsxs("button",{type:"button",role:"option","aria-selected":_===t,className:_===t?"is-active":"",onClick:()=>$e(t),children:[n.jsx("span",{children:ye(e.label).toLowerCase()}),_===t?n.jsx(Q,{size:12}):null]},e.src))]})]}),G.length>1?n.jsxs("div",{className:"anime-player-popover",children:[n.jsxs("button",{type:"button",className:`anime-player-selector${m==="audio"?" is-open":""}`,"aria-haspopup":"listbox","aria-expanded":m==="audio",onClick:()=>C(e=>e==="audio"?null:"audio"),children:[n.jsx("span",{children:Y>=0&&((ze=G[Y])==null?void 0:ze.label.toLowerCase())||"audio"}),n.jsx(Re,{size:12,className:"anime-player-chevron"})]}),n.jsx("div",{className:`anime-player-options${m==="audio"?" is-open":""}`,role:"listbox","aria-hidden":m!=="audio",children:G.map((e,t)=>n.jsxs("button",{type:"button",role:"option","aria-selected":Y===t,className:Y===t?"is-active":"",onClick:()=>Ge(t),children:[n.jsx("span",{children:e.label.toLowerCase()}),Y===t?n.jsx(Q,{size:12}):null]},`${e.language}-${e.label}-${t}`))})]}):null,T.length>0?n.jsxs("div",{className:"anime-player-popover",children:[n.jsxs("button",{type:"button",className:`anime-player
1-selector${m==="quality"?" is-open":""}`,"aria-haspopup":"listbox","aria-expanded":m==="quality",onClick:()=>{if(m!=="quality"&&y.current&&j<0){const e=Number(y.current.nextAutoLevel),t=T.some(a=>a.index===e)?e:-1;h.current=t,X(t)}C(e=>e==="quality"?null:"quality")},children:[n.jsx("span",{children:tt}),n.jsx(Re,{size:12,className:"anime-player-chevron"})]}),n.jsxs("div",{className:`anime-player-options anime-player-quality-options${m==="quality"?" is-open":""}`,role:"listbox","aria-hidden":m!=="quality",children:[n.jsxs("button",{type:"button",role:"option","aria-selected":j<0,className:j<0?"is-active":"",onClick:()=>Pe(-1),children:[n.jsx("span",{children:Be(null,me?Ae(me.label):null)}),j<0?n.jsx(Q,{size:12}):null]}),et.map(e=>n.jsxs("button",{type:"button",role:"option","aria-selected":j===e.index,className:j===e.index?"is-active":"",onClick:()=>Pe(e.index),children:[n.jsx("span",{children:e.label}),j===e.index?n.jsx(Q,{size:12}):null]},`${e.index}-${e.label}`))]})]}):null]})]}),n.jsx("div",{className:"anime-player-episodes",children:n.jsx("div",{ref:F,className:"anime-player-episode-strip",children:Je.map(e=>{const t=e===p;return n.jsx("button",{type:"button","data-active":t?"1":"0",onClick:()=>O(e),className:`anime-player-ep-btn${t?" is-active":""}`,children:e},e)})})})]})]})}export{Pt as default};

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.