PageSourceSearch

https://www.miraitech.city/copy.js

js miraitech.city collected 2026-10-05 07:55:51 UTC 23,099 bytes, 307 lines download raw bytes

1/* ============================================================
2   MIRAI TECH CITY — LANDING PAGE COPY
3   Every word on index.html lives here. Edit the text between
4   the backticks. Do NOT rename the keys on the left — the page
5   looks elements up by those.
6   HTML inside a string (<br/>, <b>, <em>, <a>) is intentional.
7   NOTE: the <title> and <meta description/og:*> tags stay in
8   index.html — social previews are read by scrapers that do
9   not run JavaScript.
10   ============================================================ */
11/* Fashion-show launch control: strings below pick a variant off
12   window.MIRAI_FLAGS.showFashionShow (set in index.html, which loads
13   the flags before this file). Both variants stay here so flipping
14   the flag restores the show everywhere at once. */
15const SHOW_FASHION = !!(window.MIRAI_FLAGS && window.MIRAI_FLAGS.showFashionShow);
16window.MIRAI_COPY = {
17
18  /* ─── SKIP LINK ─────────────────────────── */
19  menu: {
20    skipLink: `Skip to content`,
21  },
22
23  /* ─── NAV ─────────────────────────── */
24  nav: {
25    logo: `Mirai<span class="logoTech">Tech</span>`,
26    pricing: `Pricing`,
27    startups: `For Startups`,
28    button: `Get Tickets`,
29  },
30
31  /* ─── HERO OFFER ─────────────────────────── */
32  hero: {
33    /* The <i class="heroRot"> word is retyped by the hero script in index.html.
34       data-words is the cycle; the first entry must match the static text. */
35    headline: `<span>Live the future</span> <span class="heroLine">of <i class="heroRot" data-words="frontier tech|longevity|biotech|gene therapy|AI medicine|augmentation">frontier tech</i><i class="heroDot">.</i></span>`,
36    lead: `Cell and gene therapy, AI-designed drugs, N-of-1 medicine, brain-computer interfaces, radical life extension, human augmentation.`,
37    where: `Kobe, Japan &ndash; <b>October 1&ndash;31, 2026</b>`,
38    buttons: `<a class="btn accent" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="hero_primary" data-analytics-target="tickets">Get Tickets</a>`,
39    /* Japanese readers: one small link to /jp/, the Japan-resident ticket (Peatix). */
40    jpLink: `<a class="heroJp" href="/jp/" lang="ja" hreflang="ja" data-analytics-action="site_navigation" data-analytics-location="hero" data-analytics-target="japan">日本語ページはこちら <span aria-hidden="true">&rarr;</span></a>`,
41    scrollHint: `&darr;`,
42  },
43
44  /* ─── INTRO + PILLARS (under the fold) ─────────────────
45     Structure and copy from marketing's hero-intro mockup:
46     one plain statement, then Accelerate / Inspire / Live.
47     The fashion-show line carries data-fashion so the
48     MIRAI_FLAGS.showFashionShow flag controls it like
49     everywhere else on the page. */
50  pillars: {
51    /* The statement is a composed five-line lockup ("Brodovitch Cascade"):
52       whispered mono qualifier, display subject, indented bridge, accent
53       payoff. The spans are aria-hidden because the <p> in index.html
54       carries the full sentence as its aria-label. */
55    statement: `<span class="msl-line msl-mono" aria-hidden="true">Month-long</span><span class="msl-line msl-subject" aria-hidden="true">Popup City,</span><span class="msl-line msl-bridge" aria-hidden="true">for scientists, founders, and builders <em>to&nbsp;experience</em></span><span class="msl-line msl-payoff" aria-hidden="true">Japan's Frontier</span><span class="msl-line msl-payoff msl-payoff--shift" aria-hidden="true">Tech Renaissance.</span>`,
56    num1: `01`,
57    gloss1: `加速 / Kasoku`,
58    title1: `Accelerate`,
59    items1: `<li><b>Biotech commercialization in under 1 year</b> — <a href="/conferences/" data-analytics-action="site_navigation" data-analytics-location="pillars" data-analytics-target="conferences">Why Japan? »</a></li><li><b>Get ready to fundraise in less than 1 month</b> — <a href="/startups/" data-analytics-action="site_navigation" data-analytics-location="pillars" data-analytics-target="startups">the startup program</a></li>`,
60    num2: `02`,
61    gloss2: `刺激 / Shigeki`,
62    title2: `Inspire`,
63    items2: `<li><b>2 summits</b> on the future of longevity, human augmentation and frontier tech</li><li data-fashion><b>Enhanced Fashion:</b> Brightmirror narratives of the future of humanity — <a href="/fashion-show/" data-analytics-action="site_navigation" data-analytics-location="pillars" data-analytics-target="fashion_show">the fashion show</a></li>`,
64    num3: `03`,
65    gloss3: `暮らし / Kurashi`,
66    title3: `Live`,
67    items3: `<li><b>Bring your community:</b> peptides, biohacking, AI, philosophy, human augmentation</li><li><b>Enjoy:</b> onsens, cold plunges, fitness, delicious food and a unique culture</li>`,
68    /* Harimaze prints: mounted-photo figures beside each pillar's ledger.
69       Imagery from Wikimedia Commons — licenses and attribution in
70       img/PILLARS-CREDITS.md. Captions are checkable facts, museum-label
71       register; the figures are aria-hidden decoration. */
72    prints1: `<figure class="knt-chip" style="--r:-2.4deg"><img src="img/pillar-lab-robot.webp" alt="" loading="lazy" decoding="async" width="960" height="540"><figcaption><b>Fig. 01</b>Liquid-handling robot</figcaption></figure><figure class="knt-chip knt-chip--tape" style="--r:2deg"><img src="img/summit-lab.webp" alt="" loading="lazy" decoding="async" width="900" height="600"><figcaption><b>Fig. 02</b>KBIC — wet lab</figcaption></figure>`,
73    prints2: `<figure class="knt-chip knt-chip--tall" style="--r:2.6deg"><img src="img/pillar-exoskeleton-hal.webp" alt="" loading="lazy" decoding="async" width="960" height="1440"><figcaption><b>Fig. 03</b>HAL — Cyberdyne exoskeleton</figcaption></figure>`,
74    prints3: `<figure class="knt-chip knt-chip--tall" style="--r:-2.2deg"><img src="img/pillar-nankinmachi-night.webp" alt="" loading="lazy" decoding="async" width="960" height="1280"><figcaption><b>Fig. 04</b>Nankinmachi — Kobe Chinatown</figcaption></figure><figure class="knt-chip knt-chip--tape" style="--r:2.4deg"><img src="img/pillar-harborland-wheel.webp" alt="" loading="lazy" decoding="async" width="960" height="540"><figcaption><b>Fig. 05</b>Harborland — Mosaic wheel</figcaption></figure>`,
75  },
76
77  /* ─── WHY JAPAN (the approval record) ───────────────────
78     Compressed proof band under the pillars — "Kessai-ran":
79     one claim plus the three audited numbers, each stamped by
80     the institution that certifies it. The vermilion seal SVGs
81     live in index.html (decorative, aria-hidden); every word
82     lives here. Numbers mirror the /conferences outcome strip. */
83  whyjapan: {
84    head1: `Why Japan <b>· 証明 / Proof</b>`,
85    head2: `<b>決裁欄</b> · Approval record`,
86    claim: `<span class="hkb-cl">What takes years elsewhere</span><span class="hkb-cl hkb-cl2">takes months here.</span>`,
87    gloss: `何年も → 数ヶ月`,
88    mach1: `<b>PMDA</b> · conditional approval`,
89    stat1: `10×`,
90    qual1: `Faster`,
91    fact1: `to first revenue`,
92    mach2: `<b>AMED</b> · matches VC 2:1 in non-dilutive grants`,
93    stat2: `100×`,
94    qual2: `Cheaper`,
95    fact2: `than the Phase 3 route`,
96    mach3: `<b>KBIC</b> · Japan's largest biomedical cluster — 370 member organizations`,
97    stat3: `+61%`,
98    qual3: `More value`,
99    fact3: `from the same patent`,
100    footLabel: `The full argument`,
101    footLink: `<a class="hkb-link" href="/conferences/" data-analytics-action="site_navigation" data-analytics-location="whyjapan" data-analytics-target="conferences">Why Japan? <em>»</em></a>`,
102  },
103
104  /* ─── SUMMIT + HOTEL PACKAGE ─────────────────────────── */
105  package: {
106    eyebrow: `Launch price · {spots} of {spotsTotal} spots left`,
107    name: `Both Weekends + Hotel`,
108    headline: `Or take both weekends,<br/>hotel included.`,
109    promise: `Both summit weekends, the week between them, and a room in Sannomiya for the whole run.`,
110    fact: `<b>Summit I</b><span>October 17–18</span><i>$900</i>`,
111    fact2: `<b>Summit II</b><span>October 24–25</span><i>$900</i>`,
112    subtotal: `<span>Two weekends only</span><i>$1,800</i>`,
113    fact3: `<b>+ Hotel</b><span>October 16–28 · Sannomiya · 12 nights</span>`,
114    fact4: `<b>+ Finale</b><span>Frontier Human Fashion Show &amp; Demo Day · October 26</span>`,
115    price: `$2,500<span>Launch price · $4,000 once these {spotsTotal} are gone</span>`,
116    button: `Get My Package — $2,500`,
117    friction: `Only {spotsTotal} at this price · Then $4,000 · Breakfast included`,
118    detailsLink: `<a class="bundle-feature__details" href="/summit-bundle/" data-analytics-action="alternative_offer" data-analytics-location="summit_package" data-analytics-target="summit_hotel">See everything included →</a>`,
119  },
120
121  /* ─── SUMMITS ─────────────────────────── */
122  summits: {
123    eyebrow: `The Longevity Biomedical Summit`,
124    headline: `Come for a weekend.`,
125    label: `SUMMIT — 01`,
126    date: `October 17–18`,
127    title: `The Science &amp; Tech Augmenting Life`,
128    body: `Why the next decade of longevity biomedicine runs through Japan: regenerative medicine, devices, and accelerated regulatory paths.`,
129    topics: ``,
130    priceRow: `<span class="priceVal">$900</span><span class="priceKey"></span>`,
131    block: `<a class="btn ghost" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="summit_1" data-analytics-target="summit_pass">Get My Ticket</a>`,
132    footnote: `Hotel & Transportation not included`,
133    label2: SHOW_FASHION ? `SUMMIT — 02 + FASHION SHOW` : `SUMMIT — 02`,
134    date2: SHOW_FASHION ? `October 24–26` : `October 24–25`,
135    title2: `From East to West: Bridging the Longevity Gap`,
136    body2: `The bottlenecks holding the field back, and what the world looks like once we cure disease.`,
137    topics2: ``,
138    tieIn: ``,
139    priceRow2: `<span class="priceVal">$900</span><span class="priceKey"></span>`,
140    block2: `<a class="btn ghost" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="summit_2" data-analytics-target="summit_pass">Get My Ticket</a>`,
141    footnote2: `Hotel & Transportation not included`,
142    line: `Across the two weekends: <b>Aubrey de Grey</b>, <b>Motoshi Hayano</b>, and 41 more.`,
143    link: `Meet the speakers ↑`,
144    pricingLink: `See all pricing →`,
145    jpLink: `日本居住者向け参加枠 →`,
146  },
147
148  /* ─── SPEAKERS ─────────────────────────── */
149  speakers: {
150    eyebrow: `55 Confirmed Speakers`,
151    headline: `Speakers &amp; Residents`,
152    name: `Aubrey de Grey`,
153    org: `LEV Foundation`,
154    name2: `Motoshi Hayano`,
155    org2: `Asagi Labs`,
156    name3: `Yuki Hanyu`,
157    org3: `Cellular Agriculture`,
158    name4: `Adam Gries`,
159    org4: `Vitalist Bay`,
160    name5: `Brian Kennedy`,
161    org5: `NUS Centre for Healthy Longevity`,
162    alsoLine: `Also in the arena: <b>José Cordeiro</b>, <b>Todd Porter</b>, <b>Josh Mann</b>, <b>Patri Friedman</b>, <b>Ian Huyett</b>, <b>Sandeep Casi</b>, <b>Sebastian Brunemeier</b>, <b>Rob Claar</b>, <b>Natalie Coles</b>, <b>Devinder Sodhi</b>, <b>Sumit Jamuar</b>, <b>Keita Masui</b>, <b>Muneaki Goto</b>, <b>Takahiro Yasuda</b>, <b>Yuri Deigin</b>, <b>Laurence Ion</b>, <b>Rodney Kelly</b>, <b>Eleanor Sheekey</b>, <b>Stuart Reid</b>, <b>Mac Davis</b>, <b>Daniel Burger</b>, <b>Juliette Humer</b>, <b>Jeffrey Tibbetts</b>, <b>Ada Cyborg</b>, <b>Elen Capri</b>, <b>Cremieux</b>, <b>Nathan Cheng</b>, <b>Keiko Kobayashi</b>, <b>Felix OENS</b>, <b>Brandon Possin</b>, <b>Bilal Kharouni</b>, <b>Alice Gilman</b>, <b>Julie Ying Baron</b>, <b>Irit Rappley, PhD</b>, <b>Walter Patterson</b>, <b>Czar Gonzalez</b>, <b>Takashi Aoi</b>, <b>Yoshihiro Muragaki</b>, <b>Masanori Miyanishi</b>, <b>Paul Yang</b>, <b>Pedro Henrich</b>, <b>Nelson Milla</b>.`,
163    followLine: `55 confirmed · more announced through September · <a href="#doors">Follow along ↓</a>`,
164  },
165
166  /* ─── FASHION SHOW ─────────────────────────── */
167  fashion: {
168    eyebrow: `The Runway · October 26 · 19:00 JST`,
169    headline: `The Frontier Human<br/>Fashion Show`,
170    body: `A live demo day, staged as a runway show. Device residents put their prototypes on models. CES meets Tokyo Fashion Week, and everyone's wearing exoskeletons.`,
171    tags: `<span>Exoskeletons</span><span>Neural Interfaces</span><span>Smart Prosthetics</span> <span>Biosensors</span><span>Haptic Suits</span><span>AR/VR Medical</span>`,
172    block: `0 / 9 presenters revealed · <span class="kanji" role="group" aria-label="Presenter categories, tap to reveal"><span title="Armor — exoskeletons">鎧</span> <span title="Brain — neural interfaces">脳</span> <span title="Prosthetic">義</span> <span title="Sense — biosensors">感</span> <span title="Touch — haptics">触</span> <span title="Machine">機</span> <span title="Garment">衣</span> <span title="Vision">視</span> <span title="Life">命</span></span>`,
173    block2: `<a class="btn accent" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="fashion" data-analytics-target="fashion_show">Get Show Tickets</a> <a class="btn ghost" href="#apply">Put your device on the runway</a>`,
174  },
175
176  /* ─── ECOSYSTEM (inside the proof section) ─────────────── */
177  ecosystem: {
178    majorLabel: `With support of`,
179    headline: `Other supporting organizations`,
180  },
181
182  /* ─── ONE EVENING IN KOBE ─────────────────────────── */
183  kobe: {
184    caption: `One evening in Kobe · 17:58 → 23:41`,
185    caption2: `17:58 Kobe Harbor`,
186    caption3: `19:47 Dinner at the local izakaya`,
187    caption4: `21:15 Lantern night`,
188    caption5: `22:30 One more street`,
189    caption6: `23:41 Mt. Rokko, the ten-million-dollar view · <a href="/experience/" style="color:var(--accent); text-decoration:none; font-size:12px; padding:6px 0; display:inline-block" data-analytics-action="site_navigation" data-analytics-location="kobe_evening" data-analytics-target="experience_guide">Explore Kobe + Kansai →</a>`,
190  },
191
192  /* ─── AGENDA ───────────────────────────
193     Session themes are audited event-deck copy (they mirror the
194     summit chapters in ../legacy-site/src/lib/constants.ts). The stashed
195     "Full Program" section this replaced lives in
196     ../retreat/full-program-section.html for the Retreat page. */
197  agenda: {
198    eyebrow: `The Agenda · Oct 17–26`,
199    headline: `Nine sessions<br/>and a runway.`,
200    stn1: `<span class="ag-code">STN·01</span>Oct 17–18`,
201    tag1: `Summit I`,
202    summit1: `The Science &amp; Tech Augmenting&nbsp;Life`,
203    t1: `Japan's Longevity Imperative`,
204    p1: `What Japan learned — and what it needs from the world.`,
205    t2: `KBIC as a Global Laboratory for Longevity`,
206    t3: `Bioengineering, MedTech, Biostasis, Replacement &amp; Augmentation`,
207    t4: `Women's Health`,
208    p4: `The next trillion-dollar market.`,
209    t5: `AI &times; Longevity Bio`,
210    stn2: `<span class="ag-code">STN·02</span>Oct 24–25`,
211    tag2: `Summit II`,
212    summit2: `From East to West: Bridging the Longevity&nbsp;Gap`,
213    t6: `Longevity Trends &amp; Supercentenarians`,
214    p6: `Impact, and the bottlenecks holding the field back.`,
215    t7: `The Stakeholders`,
216    p7: `Investment, R&amp;D, entrepreneurship — and regulation as an acceleration mechanism.`,
217    t8: `Japan's Model`,
218    p8: `Conditional approval generating real-world evidence.`,
219    t9: `Visions for the Future of Longevity`,
220    stn3: `<span class="ag-code">STN·03</span>Oct 26`,
221    tag3: `Finale`,
222    t10: `The Frontier Human Fashion Show &amp; Demo&nbsp;Day`,
223    p10: SHOW_FASHION
224      ? `Devices become couture. <a href="#fashion" style="color:var(--accent); text-decoration:none" data-analytics-action="site_navigation" data-analytics-location="agenda" data-analytics-target="fashion">See the show ↑</a>`
225      : `Devices become couture.`,
226    ctaNote: `Oct 17–26 · Kobe`,
227    cta: `<a class="btn accent" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="agenda" data-analytics-target="tickets">Get Tickets</a>`,
228  },
229
230  /* ─── FAQ ─────────────────────────── */
231  faq: {
232    eyebrow: `FAQ`,
233    headline: `Before you book<span class="fq-tick">.</span>`,
234    meta: SHOW_FASHION
235      ? `<strong>06 questions</strong> on file<br/>Kobe · Port Island<br/>Oct 01–31 · 2026`
236      : `<strong>05 questions</strong> on file<br/>Kobe · Port Island<br/>Oct 01–31 · 2026`,
237    foot: `Retain your stub — further questions issued at the gate`,
238    q1: `What is a popup city?`,
239    a1: `A temporary village where a curated community lives, works, and builds together in one place for one month. Housing, labs, programming, and social life share the same few blocks on Port Island — and the summits are its two flagship weekends.`,
240    q2: `Where exactly in Kobe?`,
241    a2: `Port Island, home to KBIC (Kobe Biomedical Innovation Cluster). A purpose-built biomedical district with lab infrastru
241cture, connected to central Kobe via the Port Liner monorail.`,
242    q3: `Do I have to stay the whole month?`,
243    a3: SHOW_FASHION
244      ? `No. The city runs October 1–31, but summit tickets stand alone — come for one weekend (Oct 17–18 or Oct 24–26), take both with the hotel package, or apply for the PopUp and stay the month.`
245      : `No. The city runs October 1–31, but summit tickets stand alone — come for one weekend (Oct 17–18 or Oct 24–25), take both with the hotel package, or apply for the PopUp and stay the month.`,
246    q4: `Where do I stay?`,
247    a4: `Our partner hotel, the Portopia, is a short walk from KBIC, and the community hacker houses — The Sanctuary, Biopunk House, Aevitas, and ZuCity Japan — host residents across the city. The Both Weekends + Hotel package includes 12 nights in Sannomiya.`,
248    q5: `What is the Frontier Human Fashion Show?`,
249    a5: `A live demo day reimagined as a runway show. Device residents showcase their prototypes on models, blending medical technology with fashion. Think CES meets Tokyo Fashion Week.`,
250    q6: `How do tickets and applications work?`,
251    a6: `Summit tickets and the hotel package are on Luma. The month-long PopUp is <b>$1,200</b> and application-only — we review on a rolling basis, and accepted teams receive next steps by email.`,
252  },
253
254  /* ─── APPLY ─────────────────────────── */
255  apply: {
256    eyebrow: `October 2026 · 300 Curated Residents`,
257    headline: `The future is<br/>built here.`,
258    buttons: SHOW_FASHION
259      ? `Tickets for the Summits &amp; Fashion Show. Applications for the PopUp.`
260      : `Tickets for the Summits. Applications for the PopUp.`,
261    buttons2: `<a class="btn accent" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="apply" data-analytics-target="tickets">Get Tickets</a> <a class="btn" href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="checkout" data-analytics-location="apply" data-analytics-target="residency">Come Live Japan</a> <a class="btn ghost" href="#">Sponsor the City</a>`,
262    footnote: `Tickets &amp; PopUp on Luma · Applications reviewed on a rolling basis · <a href="/pricing/" data-analytics-action="site_navigation" data-analytics-location="apply" data-analytics-target="pricing">See pricing →</a>`,
263    footnote2: `Sponsors reach 300 residents and 55 speakers`,
264    footnote3: `Residents of Japan: a Japan-resident ticket is sold separately on Peatix through the <a href="/jp/" hreflang="ja" data-analytics-action="site_navigation" data-analytics-location="apply" data-analytics-target="japan">Japanese page</a> · That pricing is exclusive to residents of Japan · <a href="/jp/" lang="ja" hreflang="ja" data-analytics-action="site_navigation" data-analytics-location="apply" data-analytics-target="japan">日本語ページ →</a>`,
265  },
266
267  /* ─── FOOTER ─────────────────────────── */
268  footer: {
269    signoff: `See you on Port Island`,
270    date: `10 · 01 · 2026`,
271    statLabel: `Days`,
272    statLabel2: `Hours`,
273    statLabel3: `Min`,
274    statLabel4: `Sec`,
275    countdownLabel: `<span id="cdtext">Until the city opens</span> · <a href="mirai_oct1.ics" style="color:var(--accent); text-decoration:none">Add to calendar</a>`,
276    jst: `Kobe right now · <b id="jst">—</b> JST`,
277    links: `<a href="#">The Group Chat →</a> <a href="https://luma.com/an4zotn9" target="_blank" rel="noopener" data-analytics-action="site_navigation" data-analytics-location="footer" data-analytics-target="luma_listing">Follow on Luma →</a> <a href="#">The Build Server →</a> <a href="#">Sponsor the City →</a> <a href="/jp/" lang="ja" hreflang="ja" data-analytics-action="site_navigation" data-analytics-location="footer" data-analytics-target="japan">日本語ページ →</a>`,
278    block: `Stills: Kobe Tourism Bureau · Hideyuki Kamon (CC BY-SA) · art comments (CC BY)`,
279  },
280
281  /* ─── STRINGS THE PAGE SCRIPT USES ───────────────────── */
282  js: {
283    /* Summit + Hotel package is limited by SPOTS, not by a date.
284       Update packageSpotsLeft as they sell. {spots} and {spotsTotal}
285       in any string above are replaced with these numbers.
286       At 0 the page falls back to the standard-price copy below. */
287    packageSpotsTotal:  10,
288    packageSpotsLeft:   9,
289    packageSoldOutLabel: `Launch price gone · $4,000`,
290    packageSoldOutPrice: `$4,000<span>All {spotsTotal} launch spots taken</span>`,
291    packageSoldOutCta:   `Get My Package — $4,000`,
292    placeholderLink:   `Opening soon`,
293    countdownOpen:     `The city is open`,
294  },
295};
296
297/* Applies the copy above to the page. Called at the end of <body>. */
298window.applyCopy = function () {
299  document.querySelectorAll('[data-copy]').forEach(function (el) {
300    var v = el.getAttribute('data-copy').split('.')
301      .reduce(function (o, k) { return o && o[k]; }, window.MIRAI_COPY);
302    if (typeof v === 'string') el.innerHTML = v
303      .replace(/\{spots\}/g, window.MIRAI_COPY.js.packageSpotsLeft)
304      .replace(/\{spotsTotal\}/g, window.MIRAI_COPY.js.packageSpotsTotal);
305    else console.warn('[copy] missing key:', el.getAttribute('data-copy'));
306  });
307};

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.