STILVIEW(1)

πŸ’– STILVIEW(1) πŸ’–

User Programs ✨ the stilview manual, part 1 of 3 ✨

okay bestie, sit down, hydrate, and let's get into it 🫢


🌸 NAME 🌸

stilview β€” a whole command-line program whose job is helping you pull out the entries stored in STIL πŸ’…


✨ SYNOPSIS ✨

stilview [-b] [-d] [-e entry] [-f field] [-i] [-l HVSC base dir] [-m]
             [-o] [-s] [-t tune number]

stilview {[-h] | [-v]}

πŸ¦‹ DESCRIPTION πŸ¦‹

So STILView is a command-line driven program, and its whole main-character thing is helping you retrieve the entries stored in STIL fast and accurately ✨ It leans heavily on the STIL C++ class to do all of that, and ngl, the primary purpose of this here command-line program is literally to test that class β€” which, BTW, is used in a bunch of GUI-based SID players, most notably in SIDPlay for Windows and XSIDPLAY for Unix systems πŸ‘‘

but lowkey? it's user-friendly enough that non-programmers can use it too πŸ₯° no gatekeeping here.


πŸŽ€ GLOSSARY πŸŽ€

some terms and STIL-related lingo, in alphabetical order because we're organized like that πŸ’–

πŸ’€ BUG ENTRY

There's a special file kicking around in HVSC (/DOCUMENTS/BUGlist.txt) that lists all known bugs in SID tunes in HVSC. Peep the top of that file for the details on what's exactly in it. A BUG entry is like a STIL entry, except it's contained in this BUGlist.txt file.

πŸ“ FIELD

The smallest piece of information in a STIL entry. Currently the valid field names are NAME, TITLE, ARTIST and COMMENT.

🌈 FILE-GLOBAL COMMENT

A special COMMENT field in a STIL entry for a multi-tune SID file that refers to the whole SID, not just one tune inside it. These usually contain general info about the SID file itself.

Example:

/Hubbard_Rob/Gerry_the_Germ.sid
COMMENT: In Rob's own demo of this music, the tunes are named after the levels
         in the original game.
(#1)
  TITLE: Lungs
(#2)
  TITLE: Kidney
(#7)
  TITLE: End

πŸ‘‘ HVSC

High Voltage SID Collection. If you don't know what this is... bestie, you downloaded the wrong program. :)

🧚 HVSC-RELATIVE PATHNAME

The pathname plus filename of a SID file that can be found in your HVSC, relative to the base directory of HVSC. It is always in UNIX-style format, eg.: /Hubbard_Rob/Commando.sid refers to Rob Hubbard's Commando.sid file within HVSC (which may actually be found as C:\Music\HVSC\Hubbard_Rob\Commando.sid on your Windows PC).

⭐ MULTI-TUNE ENTRY

A STIL entry that refers to a SID file that has many tunes in it. Each tune might have its own STIL block, separated by a so-called tune designation in the form of "(#x)", where x = the tune number. Consult the STIL.FAQ in HVSC for a detailed description.

Example:

/Hubbard_Rob/Gerry_the_Germ.sid
COMMENT: In Rob's own demo of this music, the tunes are named after the levels
         in the original game.
(#1)
  TITLE: Lungs
(#2)
  TITLE: Kidney
(#7)
  TITLE: End

πŸ’œ SECTION

A part of STIL that belongs to one composer (ie. every STIL entry referring to SID files that are in one subdirectory in HVSC). Sections in STIL are always separated by a line in the form of: "### Composer's name ########".

πŸ¦‹ SECTION-GLOBAL COMMENT

A special STIL entry that refers not to an individual SID file, but to a whole subdirectory. These usually contain info about the composer himself, or about all the SID files he/she ever composed, and are always indexed in the form of "/Subdir/" (note the trailing slash!).

Example:

/Hubbard_Rob/
COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
         have often stolen Hubbard's routine causing some tunes to be falsely
         credited to him.
         Hubbard's own comments are denoted by (RH).

🌸 SINGLE-TUNE ENTRY

A STIL entry that has no tune designation in it in the form of "(#x)", where x is a number. (Note, that a single-tune entry might still refer to a SID file which has many tunes in it, ie. when a single-tune entry has nothing but a COMMENT field in it!)

Example:

/Hubbard_Rob/Chain_Reaction.sid
TITLE: Zoolook (remix) [from Zoolook]
ARTIST: Jean Michel Jarre

Another example (the SID this is refering to has many tunes in it!):

/Barrett_Steve/Magic_Land_Dizzy.sid
COMMENT: Also used in the game "Wacky Darts" (c) 1990 Codemasters.

πŸŽ€ STIL

SID Tune Information List β€” essentially a text-file database that can be found in your HVSC in the /DOCUMENTS/ subdirectory.

✨ STIL ENTRY

All of the pieces of information in STIL relating to one SID file of the HVSC. They are always indexed by the HVSC-relative pathname.

🫢 TUNE

One of the compositions in a SID. Most SID files have only one tune in them, but many have more than one (eg. one for the title score of the game, and one for the hi-score music).

✨ OPTIONS ✨

Okay bestie, this is the part where STILView actually does stuff. Every single flag, every default, every example β€” all of it, no skips. πŸ’…

  • -b β€” do not print BUG entries. Default value: not specified (ie. do print BUG entries).

Example: stilview -e=/Hubbard_Rob/Commando.sid -b

So when you pass this, BUG entries just... don't show up for the SID tune you asked about. And heads up: at a minimum, the -e option has to be specified for this option to work. No -e, no -b magic. πŸŽ€

  • -d β€” debug mode. Default value: not specified (ie. debug mode is off).

Example: stilview -e=/Hubbard_Rob/Commando.sid -d

This turns on debug mode in STILView, and girl, it is verbose. You get an extensive output, with all the debugging messages going to STDERR. If you ever hit a problem or some strange behavior with STILView, run it with the exact same options you used when the problem happened, plus this -d option added to them. Then capture the complete output of that run and send it to the author with a detailed explanation of the problem (see the email address at the top of this file). It's giving "bug report but make it thorough". πŸ›

  • -e=entry β€” where you say which STIL entry you want. Default: NONE (you have to give an HVSC-relative pathname to this option).

Example #1: stilview -e=/Hubbard_Rob/Commando.sid

Example #2: stilview -e=/Hubbard_Rob/

So this is where you specify the STIL entry you're looking for, given as an HVSC-relative pathname. If there's no STIL entry for the filename you gave, STILView prints out nothing. Otherwise you get the STIL entry (or parts of it, depending on what other options you specified). HVSC-relative pathnames are case-insensitive, so /HUBBARD_ROB/Commando.sid is literally the same as /Hubbard_Rob/Commando.sid. Slay.

Example #1 is the most frequent way of retrieving STIL entries β€” it returns all of the STIL entry for Commando.sid, plus the section-global comment for /Hubbard_Rob/. Example #2 is also a totally valid thing to do: it returns only the section-global comment for /Hubbard_Rob/. πŸ’–

  • -h β€” help. Default: NONE. Example: stilview -h

Prints a brief help screen listing the available options. And bestie, listen: all other options that are also specified on the command-line are ignored. So don't bother stacking them, -h is the main character here. πŸ‘‘

  • -f=field β€” ask for one specific field. Default: all.

Valid values for <field> are: all, name, author, title, artist, comment.

Example #1: stilview -l -e=/Hubbard_Rob/Delta.sid -f=comment

Example #2: stilview -l -e=/Hubbard_Rob/Delta.sid -t=1 -f=title

Example #3: stilview -l -e=/Hubbard_Rob/Delta.sid -t=12 -f=all -s -b

Asks for one particular field in a STIL entry. Combined with the -t option, these two can retrieve any portion of a STIL entry, including a single field in a specific subtune's entry. So let me give you the full and complete rundown of what every possible combination of -t and -f actually retrieves:

  • -t=0 -f=all : all of the STIL entry is printed.
  • -t=0 -f=comment : the file-global comment is printed. For single-tune entries that have nothing but a COMMENT field in them, this prints that COMMENT. For single-tune entries that have other fields in them, this prints nothing. (Why? Because single-tune entries with nothing but a COMMENT field are assumed to be file-global comments.)
  • -t=0 -f=<name/author/title/artist> : nothing is printed. This combination of these options is invalid. 🚫
  • -t=<x> -f=all : (where x is anything but 0.) All fields from the portion of the STIL entry for the given tune number <x> are printed. For single-tune entries, asking for -t=1 -f=all is equivalent to saying -t=0 -f=all, since by definition the whole entry refers to only one tune. (However, specifying -t with any other number than 1 will print nothing!) Note that if there's a file-global comment in the STIL entry (which also means that if a single-tune entry has nothing but a COMMENT field in it), that is not printed with these combinations of options.
  • -t=<x> -f=<name/author/title/artist/comment> : (where x is anything but 0.) The specific field from the portion of the STIL entry for the given tune number is printed. For single-tune entries that have nothing but a COMMENT in them, this returns nothing.

Of course, if the STIL entry β€” or any portion of it you asked for with these options β€” doesn't exist, STILView prints nothing. And unless you otherwise specified with the -o, -s and -b options, the section-global comment and the BUG entry of the given SID file will also get printed (provided they exist).

In example #1, the file-global comment for /Hubbard_Rob/Delta.sid is printed, since -t is not specified and is assumed to be 0. Also printed: the section-global comment and the BUG entry for the same SID file (if they exist). In example #2, the TITLE field of the STIL entry for tune #1 of /Hubbard_Rob/Delta.sid is printed along with the section-global comment and the BUG entry for the same SID file (if they exist). In example #3, all of the STIL entry for tune #12 of /Hubbard_Rob/Delta.sid is printed, but nothing else. Obsessed with the precision here, ngl. ✨

  • -i β€” interactive mode. Default: NONE.

Example: stilview -i

Starts STILView in interactive mode, ignoring all other options specified on the command-line β€” except -l, -d and -m. In interactive mode you can look for STIL entries by typing them in. You'll get prompted for the desired STIL entry (which has to be specified with an HVSC-relative pathname), then for the tune number requested (which should be any non-negative number, but this is not enforced), and finally for the specific STIL field you want to retrieve. It's giving choose-your-own-adventure but for SID metadata. πŸ¦‹

  • -l=HVSC base dir β€” where the HVSC lives. Default: the value of the HVSC_BASE environment variable.

Example #1: stilview -l=C:\Music\HVSC\ -e=/Hubbard_Rob/Commando.sid

Example #2: stilview -l=../HVSC/ =-e=/Hubbard_Rob/Commando.sid

Example #3: stilview -l -e=/Hubbard_Rob/Commando.sid

This is where you tell STILView where it can find the HVSC base directory (and yes, the path has to be specified in the form required by your operating system, eg. C:\Music\HVSC under Windows, /home/lala/HVSC under UNIX). STILView will then try to locate the STIL.txt file in the /DOCUMENTS/ subdirectory of that directory. If this option isn't specified (or if -l is specified without a base directory), STILView will try to extract the path of the HVSC base directory from the HVSC_BASE environment variable. If that environment variable doesn't exist, or is pointing to a location where there's no STIL.txt file in a DOCUMENTS directory, STILView fails. πŸ’€ And if the HVSC_BASE environment variable exists and is valid, and this option is specified, the directory specified with this option is used as the HVSC base directory instead of the environment variable. Option wins, periodt.

In example #1 the HVSC base directory is located in C:\Music\HVSC\ on the hard drive of a Windows PC. In example #2 it's located in the HVSC directory of the current directory's parent directory of a UNIX system. In example #3 the HVSC base directory isn't specified with the option, so it's assumed that the HVSC_BASE environment variable contains the path to it. And honestly? Specifying the -l option in example #3 is redundant, and can be omitted. 😌

  • -m β€” demo mode. Default: NONE.

Example #1: stilview -m

Example #2: stilview -e=/Hubbard_Rob/Commando.sid -m -i

When specified, it prints out a whole bunch of things that (a) test most of the functionality of STILView, and (b) show what STILView is capable of retrieving from STIL. In example #1, the demo is printed with the STIL info coming from a default STIL entry, then STILView quits. In example #2, the demo is printed taking the STIL info from the specified STIL entry of /Hubbard_Rob/Commando.sid (instead of the default SID file), then interactive mode is entered. A little show-and-tell moment, we love to see it. 🌈

  • -o β€” do not print STIL entries. Default value: not specified (ie. do print STIL entries).

Example #1: stilview -e=/Hubbard_Rob/Delta.sid -o

Example #2: stilview -e=/Hubbard_Rob/Delta.sid -o -s

When this option is specified, STIL entries will not be printed for the given SID tune (but section-global entries and BUG entries will be printed, provided they exist and other options didn't turn their output off). At a minimum, the -e option has to be specified for this option to work. Example #1 will print out the section-global comment and the BUG entry for /Hubbard_Rob/Delta.sid. Example #2 will print out just the section-global comment for the same SID. 🎯

  • -s β€” do not print section-global comments. Default value: not specified (ie. do print section-global entries).

Example: stilview -e=/Hubbard_Rob/Delta.sid -s

When this option is specified, section-global entries will not be printed for the given SID tune. At a minimum, the -e option has to be specified for this option to work. Same rule as -b and -o, besties β€” no -e, no effect. πŸ™ˆ

  • -t=tune number β€” pick a subtune. Default value: 0.

Example #1: stilview -e=/Hubbard_Rob/Commando.sid -t=0

Example #2: stilview -e=/Hubbard_Rob/Delta.sid -t=1 -f=title -s -b

Example #3: stilview -e=/Hubbard_Rob/Delta.sid -t=12

Asks for the portion of a STIL entry referring to one particular tune. If tune number 0 is given, it retrieves all of the entry. Combined with the -f option, these two options can retrieve any portion of a STIL entry, including a single field in a specific subtune's entry.

For further details about this option, see the explanation of the -f option (scroll up, bestie 🫢).

Example #1 retrieves all of the STIL entry for /Hubbard_Rob/Commando.sid, including the section-global comment and the BUG entry (if any) β€” but since the default value for this option is 0, it might as well be omitted in this example. Example #2 retrieves only the TITLE field of the first subtune's entry for /Hubbard_Rob/Delta.sid (and not the section-global comment or the BUG entry). Example #3 retrieves all of the STIL entry for tune #12 of the same SID file (including the section-global comment and the BUG entry, if any). Iconic trio of examples, truly. πŸ’œ

  • -v β€” print version numbers. Default value: not specified (ie. do not print version numbers).

Example #1: stilview -v

Example #2: stilview -e=/Hubbard_Rob/Commando.sid -v

When this option is specified, the version number of the STILView program and the version number of the STIL.txt file used by it both get printed out. In example #1 that's the only piece of info that gets printed on the screen. In example #2 the version numbers are printed out first, and then the STIL entry for /Hubbard_Rob/Commando.sid is also printed out. Receipts first, then the content. 🧾


🌸 ENVIRONMENT 🌸

  • HVSC_BASE β€” specifies the location of the HVSC base directory. That's the whole vibe: it just tells STILView where your HVSC lives. 🏠

πŸŽ€ EXAMPLES πŸŽ€

Okay bestie, before we dive in β€” every single example below</p> assumes that the HVSC_BASE environment is set to a valid HVSC base directory, aka the place where $HVSC_BASE/DOCUMENTS/STIL.txt and $HVSC_BASE/DOCUMENTS/BUGlist.txt actually live. And they all assume these specific entries exist in those files. Behold, the lore:

--- In STIL.txt ---

  /Hubbard_Rob/
  COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
           have often stolen Hubbard's routine causing some tunes to be falsely
           credited to him.

  /Hubbard_Rob/Action_Biker.sid
  COMMENT: "Action B was a very early game and very conservative in it's approach
           - it was my idea of giving them what I thought they wanted, a simple
           cute tune....." (RH)

  /Hubbard_Rob/Commando.sid
  COMMENT: Tunes #1 and #3 have been converted from arcade version.

  /Hubbard_Rob/Delta.sid
  COMMENT: According to Hubbard, Kentilla and Delta were the most complicated one
           to compose, they took the longest time to do and they both drove him
           insane.
  (#1)
    TITLE: On the Run [from the Dark Side of the Moon]
   ARTIST: Pink Floyd
  COMMENT: It is more inspired by it than a remix of it.
  (#12)
    TITLE: Koyaanisqatsi [from the movie]
   ARTIST: Philip Glass
  COMMENT: "Inspired by Philip Glass and Pink Floyd." (RH)

  /Hubbard_Rob/International_Karate.sid
    TITLE: Merry Christmas, Mr. Lawrence [from the movie] (0:42-1:16)
   ARTIST: Ryuichi Sakamoto
  COMMENT: "[...] I started exploring pentatonic things in B flat minor over
           different bass notes, B flat, D flat, G flat and A flat. The middle
           section went into F (I think) at double tempo to liven things up. I
           was pleased with the tune......" (RH)

  /Hubbard_Rob/Rasputin.sid
  (#1)
    TITLE: Katjusha (0:07-0:36)
   ARTIST: Matvei Blanter, M. Isakovski
    TITLE: Katjusha (2:20)
   ARTIST: Matvei Blanter, M. Isakovski
    TITLE: Kaljinka (2:41-2:51)
   ARTIST: Traditional
  COMMENT: Russian folk song.
    TITLE: Kaljinka (3:12-3:22)
   ARTIST: Traditional
  COMMENT: Russian folk song.
  (#2)
  COMMENT: Russian folk song.

--- In BUGlist.txt ---

  /Hubbard_Rob/Commando.sid
    BUG: This is just for demo.

  /Hubbard_Rob/Delta.sid
  (#12)
    BUG: Demo entry.

So with all that set up, here's what you can expect STILView to spit out. ($> is just your operating system's command-line prompt, iykyk.)


πŸ’– Printing everything about a SID file

Everything related to a SID file gets printed:

$> stilview -e=/Hubbard_Rob/Commando.sid
   ---- GLOBAL  COMMENT ----
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
   ------ STIL  ENTRY ------
   COMMENT: Tunes #1 and #3 have been converted from arcade version.
   ---------- BUG ----------
     BUG: This is just for demo.
$>

✨ Asking for just the section-global comment

$> stilview -e=/Hubbard_Rob/
   /Hubbard_Rob/
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
$>

Not me showing you a whole second route to the same info β€” because you can also grab that exact same thing with:

$> stilview -e=/Hubbard_Rob/Commando.sid -o -b
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
$>

πŸ¦‹ When nothing gets printed

This one prints out literally nothing, because single-tune entries don't have file-global comments:

$> stilview -e=/Hubbard_Rob/International_Karate.sid -t=0 -f=comment -s -b
$>

...except if the only field in them is a COMMENT β€” in that case that comment is assumed to be a file-global comment:

$> stilview -e=/Hubbard_Rob/Action_Biker.sid -t=0 -f=comment -s -b
   COMMENT: "Action B was a very early game and very conservative in it's approach
            - it was my idea of giving them what I thought they wanted, a simple
            cute tune....." (RH)
$>

Also clock this: single-tune entries have only one tune, so asking for the STIL entry of tune #3 is completely pointless:

$> stilview -e=/Hubbard_Rob/International_Karate.sid -t=3 -s -b
$>

🌸 File-global comments

Print out the file-global comment for the given SID file:

$> stilview -e=/Hubbard_Rob/Delta.sid -t=0 -f=comment -s -b
   COMMENT: According to Hubbard, Kentilla and Delta were the most complicated one
            to compose, they took the longest time to do and they both drove him
            insane.
$>

Print out the ARTIST field of tune #12 of the given SID file, plus print out everything else related to the SID file:

$> stilview -e=/Hubbard_Rob/Delta.sid -t=12 -f=artist
   ---- GLOBAL  COMMENT ----
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
   ------ STIL  ENTRY ------
    ARTIST: Philip Glass
   ---------- BUG ----------
     BUG: Demo entry.
$>
Heads up bestie πŸ’€ The current version of STILView can only retrieve the first specified field of a tune that covers multiple songs! Watch:
$> stilview -e=/Hubbard_Rob/Rasputin.sid -t=1 -f=title -s
     TITLE: Katjusha (0:07-0:36)
$>

Section-global comments get printed out even if the STIL entry for the given SID file doesn't exist at all:

$> stilview -e=/Hubbard_Rob/This_doesnt_exist.sid
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
$>

πŸ‘‘ Everything about one tune, step by step (4 steps)

The following 4 steps show you how to have STILView print out everything related to a given SID file's given tune number, one piece at a time:

  1. This prints out just the section-global comment:
$> stilview -e=/Hubbard_Rob/Delta.sid -o -b
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
$>
  1. This prints out just the file-global comment:
$> stilview -e=/Hubbard_Rob/Delta.sid -t=0 -f=comment -s -b
   COMMENT: According to Hubbard, Kentilla and Delta were the most complicated one
            to compose, they took the longest time to do and they both drove him
            insane.
$>
  1. This prints out all of the STIL entry for the given tune number:
$> stilview -e=/Hubbard_Rob/Delta.sid -t=12 -f=all -s -b
     TITLE: Koyaanisqatsi [from the movie]
    ARTIST: Philip Glass
   COMMENT: "Inspired by Philip Glass and Pink Floyd." (RH)
$>
  1. And this prints out just the BUG entry for the same tune number:
$> stilview -e=/Hubbard_Rob/Delta.sid -t=12 -s -o
     BUG: Demo entry.
$>

🌈 Everything about a whole SID file, step by step (3 steps)

The following 3 steps show you how to have STILView print out everything related to a given SID file:

  1. This prints out just the section-global comment:
$> stilview -e=/Hubbard_Rob/Delta.sid -o -b
   COMMENT: All of these tunes have been confirmed by Hubbard to be his. People
            have often stolen Hubbard's routine causing some tunes to be falsely
            credited to him.
$>
  1. This prints out all of the STIL entry:
$> stilview -e=/Hubbard_Rob/Delta.sid -s -b
   COMMENT: "[...] The Delta music loader and ingame music was Gary Liddon's idea.
            [...] He was the producer at Thalamus at the time. He told Rob Hubbard
            to make the ingame music like the 2nd track from Dark Side of the Moon
            by Pink Floyd." (Info from Matt Furniss.)
            "The small jingles are all small clips from Sanxion and Romeo/Juliet
            music. They were all supposed to be for short stingers such as end of
            level, extra life etc..."
            "Delta was based on this minimalist composition technique inspired by
            Glass and a bit of Pink Floyd. It was quite hard too do and required
            some custom code to the driver to do it. The music was tedious to
            debug. The other Delta stuff was more conventional - I quite liked the
            other tunes. Delta was spread over a 2 week period....." (RH)
            According to Hubbard, Kentilla and Delta were the most complicated one
            to compose, they took the longest time to do and they both drove him
            insane.
   (#1)
     TITLE: On the Run [from the Dark Side of the Moon]
     ARTIST: Pink Floyd
   COMMENT: It is more inspired by it than a remix of it.
   (#12)
     TITLE: Koyaanisqatsi [from the movie]
    ARTIST: Philip Glass
   COMMENT: "Inspired by Philip Glass and Pink Floyd." (RH)
$>
  1. And this prints out all of the BUG entry:
$> stilview -e=/Hubbard_Rob/Delta.sid -s -o
   (#12)
     BUG: Demo entry.
$>

πŸ’œ AUTHORS πŸ’œ

  • LaLa <LaLa@C64.org> β€” the original author. 🫢
  • Leandro Nini <drfiemost@users.sourceforge.net> β€” the current maintainer. πŸ‘‘

πŸ¦‹ RESOURCES πŸ¦‹


🌸 COPYING 🌸

Copyright (C) 1998, 2002 LaLa Copyright (C) 2012-2017 Leandro Nini

Ok so the legal bit is exactly this, no paraphrasing allowed, periodt:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Bestie, translate: the "WITHOUT ANY WARRANTY" line is not a vibe, it's a warning. Genuinely, fr fr. Read it.

And that's the whole page, bestie πŸ’… This one's perl v5.40.1, dated 2026-02-27 β€” iconic, ate, no notes. Go forth and trawl HVSC. 🌈⭐

πŸ“¦ where this page comes from